Cline Personas MCP Server
bradfair/mcp-cline-personas · 23 stars · TypeScript · MIT
MCP server An MCP server for managing `.clinerules` files using shared components and persona templates.
Install
The repo has no one-line install. Follow its README.
Files
Cline Personas MCP Server
An MCP server for managing .clinerules files using shared components and persona templates.
Features
- Component Management: Create, read, update and delete reusable components
- Persona Templates: Define persona templates with mustache-style variable substitution
- Dependency Validation: Ensure persona templates only reference existing components
- Activation System: Activate personas by writing to
.clinerulesfile - Version Tracking: Track versions for both components and personas
- File-based Storage: Store components and personas as JSON files
Installation
- Clone the repository
- Install dependencies:
npm install
- Build the project:
npm run build
Usage
Managing Components
import { ComponentPersonaService } from './src/service';
const service = new ComponentPersonaService(process.cwd());
// Create a new component
service.setComponent('greeting', 'Welcome message', 'Hello {{name}}!', 1);
// Get a component
const component = service.getComponent('greeting');
// List all components
const components = service.listComponents();
Managing Personas
// Create a new persona
service.setPersona(
'welcome',
'Welcome persona',
'{{greeting}}\nPlease enjoy your stay!',
1
);
// Activate a persona
service.activatePersona('welcome');
// Get active persona
const active = service.getActivePersona();
File Structure
.cline-personas/
components/
[component-name].json
personas/
[persona-name].json
src/
component.ts # Component class and operations
persona.ts # Persona class and template rendering
service.ts # Main service implementation
index.ts # MCP server entry point
test/ # Unit tests
API Documentation
ComponentPersonaService
The main service class providing all operations:
-
Component Operations:
setComponent(name, description, text, version)getComponent(name)listComponents()deleteComponent(name)
-
Persona Operations:
setPersona(name, description, template, version)getPersona(name)listPersonas()deletePersona(name)activatePersona(name)getActivePersona()renderPersona(name)
Development
Run tests:
npm test
Build the project:
npm run build
Run the MCP server:
npm start
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 23
- License
- MIT
- Language
- TypeScript
- Last push
- 2025-01-07
- Forks
- 4
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k