Role-Specific Context
STDIOMCP server that defines and governs contextual boundaries based on agent roles.
MCP server that defines and governs contextual boundaries based on agent roles.
A Model Context Protocol (MCP) server that defines and governs contextual boundaries based on agent roles in your system.
This MCP server enables role-based context management for AI agents, allowing you to:
# 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
# Run the MCP server npm start # Run the HTTP server for testing npm run start:http
The server can be configured by modifying src/config.ts
. Key configuration options include:
The server exposes the following resources:
role://{roleId}
- Information about a specific rolerole://tones
- Available tone profilesThe server provides the following tools:
process-with-role
- Process a query using a specific rolecreate-role
- Create a new roleupdate-role
- Update an existing roledelete-role
- Delete a custom rolechange-role-tone
- Change the tone of a rolestore-memory
- Store a memory for a specific roleclear-role-memories
- Clear all memories for a roleThe server provides the following prompts:
role-{roleId}
- Use a specific role to process a requestcreate-custom-role
- Create a new custom role// 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' } });
// 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);
// 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.' } });
MIT