Skip to main content
Glama
bradfair

Cline Personas MCP Server

by bradfair

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

Related MCP server: MCP Server Template

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
-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bradfair/mcp-cline-personas'

If you have feedback or need assistance with the MCP directory API, please join our Discord server