Modes MCP Server
Modes MCP Server
An MCP server for managing Roo's custom operational modes, providing programmatic control over mode configuration and management.
Features
- Full CRUD operations for custom modes
- Schema validation with Zod
- File system watching for config changes
- Error handling with standard MCP error codes
- Atomic file operations
Installation
Configuration
1. Environment Variables
Copy .env.example
to .env
and adjust as needed:
Available environment variables:
MODES_CONFIG_PATH
: Path to custom modes configuration file (default:%APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_custom_modes.json
)
2. Custom Modes Configuration
Create a JSON file for your custom modes configuration. See examples/modes.example.json
for the format:
3. MCP Settings
Add the server configuration to your MCP settings file (typically at %APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
). See examples/mcp-settings.example.json
for the format:
Operational Modes Framework
The server manages a comprehensive set of operational modes:
Core System Modes
- Planning Mode 🎯
- Strategic Planning Specialist
- System design and resource allocation
- Project roadmap development
- Analytics Mode 📊
- Data Analysis Expert
- Metrics tracking and analysis
- Performance monitoring
- Research Mode 🔍
- System Research Specialist
- Best practices research
- Solution exploration
- Implementation Mode ⚙️
- Operations Implementation Expert
- System deployment
- Process execution
- Troubleshooting Mode 🔧
- System Resolution Specialist
- Problem identification
- Issue resolution
- Quality Control Mode ✅
- Quality Assurance Expert
- System validation
- Performance verification
- Integration Mode 🔄
- Systems Integration Specialist
- Cross-system coordination
- Workflow optimization
- Documentation Mode 📝
- Knowledge Management Specialist
- Process documentation
- Standard maintenance
- Session Management Mode ⚡
- Session Management Specialist
- Daily workflow orchestration
- State management
Specialized Modes
- Trade Ops Manager
- Systematic trading and risk management
- Trade documentation and analysis
- Market analysis and strategy optimization
Mode Transition Flow
Available Tools
list_modes
Lists all custom modes currently configured.
get_mode
Get details of a specific mode by its slug.
Parameters:
slug
: The unique identifier of the mode
create_mode
Create a new custom mode.
Parameters:
slug
: Unique identifier (lowercase letters, numbers, and hyphens)name
: Display name for the moderoleDefinition
: Detailed description of the mode's role and capabilitiesgroups
: Array of allowed tool groupscustomInstructions
: (optional) Additional instructions for the mode
update_mode
Update an existing custom mode.
Parameters:
slug
: The unique identifier of the mode to updateupdates
: Object containing the fields to update (name, roleDefinition, groups, customInstructions)
delete_mode
Delete a custom mode.
Parameters:
slug
: The unique identifier of the mode to delete
validate_mode
Validate a mode configuration without saving it.
Parameters:
mode
: Complete mode configuration object to validate
Mode Configuration Schema
Development
- Make changes to the source code in
src/
- Build the project:
- Start the server:
Best Practices
- Mode Selection
- Choose appropriate mode for task
- Follow mode-specific workflows
- Use designated tool groups
- Mode Transitions
- Follow natural transition flow
- Complete current mode tasks
- Preserve context between modes
- Configuration Management
- Validate changes before saving
- Maintain clear role definitions
- Document mode capabilities
Error Handling
The server uses standard MCP error codes:
InvalidParams
: Invalid input parameters or mode not foundMethodNotFound
: Unknown tool requestedInternalError
: File system errors or other internal issues
Testing
See TESTING.md for comprehensive test cases and validation procedures.
Contributing
- Fork repository
- Create feature branch
- Submit pull request
- Follow coding standards
License
MIT License - see LICENSE for details
You must be authenticated.
Enables programmatic control over Roo's custom operational modes with full CRUD operations and schema validation, allowing for seamless mode configuration and management.