RouteRTL MCP Server
The RouteRTL MCP server exposes CLI knowledge to AI agents via the Model Context Protocol. Any MCP-capable tool (Claude Code, Cursor, Windsurf, etc.) gains structured access to project configuration, the IP registry, FPGA knowledge base, design rules, and diagnostic guidance.
Installation
The MCP server ships inside the routertl package as an optional extra:
pip install routertl[mcp]
For development installs:
pip install -e ".[mcp]"
This installs the routertl-mcp command.
Configuration
Claude Code
Add to your project's .mcp.json (recommended) or ~/.claude/.mcp.json:
{
"mcpServers": {
"routertl": {
"command": "routertl-mcp"
}
}
}
Restart Claude Code. The 12 rr_* tools will appear automatically.
Cursor / Windsurf / Other MCP Clients
Consult your editor's MCP documentation. The server runs on stdio transport by default:
routertl-mcp # stdio (default)
routertl-mcp --sse # SSE on port 8750
Available Tools
| Tool | Description |
|---|---|
rr_help | Structured CLI command reference (49 commands + 13 pkg subcommands) |
rr_project_info | Parse and return the resolved project.yml configuration |
rr_list_targets | Discover all available build targets |
rr_pkg_search | Search the IP package registry |
rr_pkg_info | Detailed metadata for a specific package |
rr_diagnose | Pattern-match errors against known fixes + live doctor check |
rr_rules_check | Run FPGA design rules evaluation |
rr_rules_list | List available design rules |
rr_ask | Query the FPGA knowledge base (fpgawisdom.com) |
rr_doctor | Environment health check |
rr_status | Quick project status snapshot |
rr_deps | Show the dependency graph |
Resources
The server also exposes two MCP resources:
routertl://commands— complete CLI command referenceroutertl://project— current project.yml as YAML
Architecture
The server uses a hybrid approach:
- Python API imports for structured queries (
rr_project_info,rr_pkg_search,rr_ask,rr_list_targets) — fast, no subprocess overhead, returns structured data. - CLI wrappers for everything else (
rr_doctor,rr_status,rr_rules_check, etc.) — reuses existing CLI formatting and output. - Static knowledge for
rr_helpandrr_diagnose— no I/O needed for basic command discovery and common error patterns.
Verification
After installation, verify the server loads correctly:
routertl-mcp --help
# Or test the module directly:
python -c "from sdk.mcp_server import mcp; print(f'{len(mcp._tool_manager._tools)} tools registered')"