Description
# roo-code-custom-mode-editor-mcp-server
An MCP server that knows how to edit the Roo Code custom modes file
Avoids having to overwrite the `.roomodes` file using file writes or edit the json with unreliable diffs.
The MCP server exposes tools to:
* List all custom modes
* Create a new custom mode
* Get the fields of a custom mode ( "slug","name", "roleDefinition", "customInstructions", "groups")
* Put and overwrite any one or more fields of a custom mode.
Fields are:
- slug : short string
- name : short string
- roleDefinition : long string
- customInstructions : long string
- groups : array of short strings
## Usage
This server is located at https://github.com/raymondlowe/roo-code-custom-mode-editor-mcp-server and can be run using the following command:
```bash
npx https://github.com/raymondlowe/roo-code-custom-mode-editor-mcp-server
```
## MCP Configuration
To use with Roo Code, add the server config to the MCP settings file:
```json
{
"mcpServers": {
"roo-code-custom-mode-editor": {
"command": "node",
"args": [
"/path/to/roo-code-custom-mode-editor-mcp-server/build/index.js"
],
"disabled": false,
"alwaysAllow": []
}
}
}
```
## Development
Install dependencies:
```bash
npm install
```
Build the server:
```bash
npm run build
```
For development with auto-rebuild:
```bash
npm run watch
```
### Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script:
```bash
npm run inspector
```
The Inspector will provide a URL to access debugging tools in your browser.
## Tools
### list_custom_modes
Lists all custom modes in the `.roomodes` file.
### create_custom_mode
Creates a new custom mode with the specified fields.
Parameters:
- slug: string
- name: string
- roleDefinition: string
- customInstructions: string
- groups: string[]
### get_custom_mode