MCP HubMCP Hub
bradfair

mcp-cline-personas

by: bradfair

An MCP server for managing `.clinerules` files using shared components and persona templates.

21created 05/01/2025
Visit
management
templates

📌Overview

Purpose: To provide an MCP server for managing .clinerules files through shared components and persona templates.

Overview: The Cline Personas MCP Server facilitates the management of reusable components and customizable persona templates, allowing developers to easily create, modify, and utilize personalized messaging systems in their applications.

Key Features:

  • Component Management: Enables users to create, read, update, and delete reusable components, ensuring flexibility in component usage.

  • Persona Templates: Allows the definition of persona templates with mustache-style variable substitution, providing customization for user interactions.

  • Dependency Validation: Ensures that persona templates only reference existing components, maintaining data integrity and reliability.

  • Activation System: Provides functionality to activate personas by writing to the .clinerules file, simplifying the deployment of personalized messages.

  • Version Tracking: Tracks versions for both components and personas, enabling users to manage updates and changes effectively.

  • File-based Storage: Stores components and personas as JSON files, providing an easy-to-handle and human-readable format for data management.


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 .clinerules file
  • Version Tracking: Track versions for both components and personas
  • File-based Storage: Store components and personas as JSON files

Installation

  1. Clone the repository
  2. Install dependencies:
npm install
  1. 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