icon for mcp server

Role-Specific Context

STDIO

MCP server that defines and governs contextual boundaries based on agent roles.

Role-Specific Context MCP Server

A Model Context Protocol (MCP) server that defines and governs contextual boundaries based on agent roles in your system.

Overview

This MCP server enables role-based context management for AI agents, allowing you to:

  • Establish clear instructions, objectives, and domain knowledge for each AI agent (Marketing Expert, Songwriter, Executive Assistant, etc.)
  • Keep role-relevant memory partitioned and scoped, preventing cross-contamination between different agent roles
  • Adapt tone and style dynamically (serious, witty, sarcastic) per role, with tone profiles baked into the prompt

Features

Role Management

  • Create, update, and delete custom roles
  • Pre-defined roles with specific expertise domains
  • Role-specific system prompts and instructions
  • Customizable tone profiles

Memory Management

  • Role-specific memory storage
  • Memory retrieval based on relevance to current query
  • Time-to-live (TTL) for memories
  • Memory limits per role

MCP Integration

  • Exposes roles as MCP resources
  • Provides tools for role management and query processing
  • Offers prompts for role-based interactions

Getting Started

Prerequisites

  • Node.js 18+
  • OpenAI API key

Installation

# Clone the repository git clone https://github.com/yourusername/role-context-mcp.git cd role-context-mcp # Install dependencies npm install # Set up environment variables echo "OPENAI_API_KEY=your_api_key_here" > .env # Build the project npm run build

Running the Server

# Run the MCP server npm start # Run the HTTP server for testing npm run start:http

Configuration

The server can be configured by modifying src/config.ts. Key configuration options include:

  • Default roles and their properties
  • Available tone profiles
  • Memory management settings
  • OpenAI model selection

MCP Integration

Resources

The server exposes the following resources:

  • role://{roleId} - Information about a specific role
  • role://tones - Available tone profiles

Tools

The server provides the following tools:

  • process-with-role - Process a query using a specific role
  • create-role - Create a new role
  • update-role - Update an existing role
  • delete-role - Delete a custom role
  • change-role-tone - Change the tone of a role
  • store-memory - Store a memory for a specific role
  • clear-role-memories - Clear all memories for a role

Prompts

The server provides the following prompts:

  • role-{roleId} - Use a specific role to process a request
  • create-custom-role - Create a new custom role

Example Usage

Processing a Query with a Role (MCP)

// Example of using the process-with-role tool const result = await client.executeToolRequest({ name: 'process-with-role', parameters: { roleId: 'marketing-expert', query: 'How can I improve my social media engagement?', customInstructions: 'Focus on B2B strategies' } });

Processing a Query with a Role (HTTP API)

// Example of using the HTTP API const response = await axios.post('http://localhost:3000/process', { roleId: 'marketing-expert', query: 'How can I improve my social media engagement?', customInstructions: 'Focus on B2B strategies' }); console.log(response.data.response);

Creating a Custom Role

// Example of using the create-role tool const result = await client.executeToolRequest({ name: 'create-role', parameters: { id: 'tech-writer', name: 'Technical Writer', description: 'Specializes in clear, concise technical documentation', instructions: 'Create documentation that is accessible to both technical and non-technical audiences', domains: ['technical-writing', 'documentation', 'tutorials'], tone: 'technical', systemPrompt: 'You are an experienced technical writer with expertise in creating clear, concise documentation for complex systems.' } });

License

MIT

Be the First to Experience MCP Now