list_modesLABSCO SUMMARY
It edits the file that decides what your other agent is allowed to do.
Roo's custom modes each carry a slug, a role definition, the tool groups they may use and their own instructions. Listing, reading and creating them through tool calls means the mode for a recurring job can be written in the conversation that revealed the need for it.
What it is
A server over Roo's custom modes configuration. It reads and writes a JSON file whose path you set, validating an entry against a schema before it lands.
What you get
- list_modes — the custom modes currently defined
- get_mode — one mode read back in full: its slug, name, role definition, the groups it may use, and its custom instructions
- create_mode — a new mode written, validated with Zod before the file changes
- File-system watching, so a configuration edited outside the server is picked up
- Atomic file writes, with errors returned as standard MCP error codes
Requirements
The path to your custom modes JSON file, set in the configuration — it defaults to Roo's own location under the editor's global storage. Node.js and a clone of the repository built with npm; there is no published package.
Setup effort
Build from source — git clone https://github.com/ccc0168/modes-mcp-server.git
USE CASES
Seeing what modes are already set up
List what is defined, then read the one whose behaviour you are trying to explain.
Adding a mode for a job you keep repeating
Write the new mode with its role definition and group restrictions, validated before the file is touched.
Using an existing mode as the basis for another
Read the one that already works, then create the variant from it rather than from a blank file.
6 tools
Listed in project docs. Your client may show a different list.
get_modecreate_modeupdate_modedelete_modevalidate_modeBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
# Clone the repository
git clone https://github.com/ccc0168/modes-mcp-server.git
cd modes-mcp-server
# Install dependencies
npm install
# Build the project
npm run buildMCP Clients
Roo Code
{
"mcpServers": {
"modes": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MODES_MCP_SERVER>/build/index.js"
],
"env": {
"MODES_CONFIG_PATH": "<YOUR_PATH_TO_CUSTOM>/modes.json"
},
"disabled": false,
"alwaysAllow": []
}
}
}