A Model Context Protocol (MCP) server for Radicle CLI with versioning support
Project description
Radicle MCP Server
A Model Context Protocol (MCP) server for Radicle CLI with versioning support.
Features
- Version Detection: Automatically detects Radicle CLI version at startup
- Version Management: Supports semantic versioning with base definitions and incremental updates
- Command Validation: Validates commands against version definitions
- Deprecation Handling: Warns about deprecated/obsolete features
- Hybrid Tool Approach: Dedicated tools for common commands + generic executor
- Error Handling: Structured error responses with JSON output when possible
Supported Commands
Dedicated Tools
The server automatically generates dedicated MCP tools for all Radicle commands and subcommands based on the installed version. For Radicle 1.5.0, this includes 71 dedicated tools:
Main Commands:
rad_auth,rad_block,rad_checkout,rad_clean,rad_clonerad_cob,rad_config,rad_follow,rad_fork,rad_helprad_id,rad_inbox,rad_init,rad_inspect,rad_issuerad_ls,rad_node,rad_patch,rad_path,rad_remoterad_seed,rad_self,rad_stats,rad_sync,rad_unblockrad_unfollow,rad_unseed
Subcommand Examples:
rad_issue_open,rad_issue_list,rad_issue_show,rad_issue_editrad_patch_open,rad_patch_list,rad_patch_show,rad_patch_mergerad_node_start,rad_node_stop,rad_node_status,rad_node_logsrad_config_get,rad_config_set,rad_config_schemarad_cob_create,rad_cob_show,rad_cob_update,rad_cob_log
Generic Tool
rad_execute: Execute any rad command (fallback for unsupported commands)
Version Support
- Supported Versions: 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.5.0
- Version Resolution: Falls back to closest available version if exact match not found
- Warning System: One-time warnings for version mismatches and deprecated features
- Dynamic Tool Generation: Tools are generated based on the specific version's capabilities
Installation
PyPI (Recommended)
pip install radicle-mcp-server
Development
# Clone the repository
git clone <repository-url>
# Install dependencies
cd radicle-mcp-server
uv sync
Running the Server
Using Just (Recommended)
just run # Stdio transport (default)
just run-http # HTTP transport on localhost:8000
Using UV Directly
uv run python -m src.server # Stdio transport
uv run python -m src.server --transport http # HTTP transport
MCP Client Configuration
OpenCode
Add to your MCP configuration:
{
"mcpServers": {
"radicle": {
"command": "radicle-mcp-server"
}
}
}
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"radicle": {
"command": "radicle-mcp-server"
}
}
}
Development (from source)
If you're developing from source, use:
{
"mcpServers": {
"radicle": {
"command": "uv",
"args": ["run", "python", "-m", "src.server"],
"cwd": "/path/to/radicle-mcp-server"
}
}
}
Usage
The server provides MCP tools that can be used with any MCP-compatible client. It automatically detects the installed Radicle CLI version and adapts its behavior accordingly.
Development
This project uses:
- FastMCP: For MCP server implementation
- uv: For dependency management
- Python 3.13+: For modern type annotations
Versioning System
The versioning system uses YAML definitions stored in src/definitions/:
radicle-1.1.0.yamlthroughradicle-1.5.0.yaml: Complete command definitions for each versionschema.py: Validation schema and data structures- Each version file contains all available commands, subcommands, options, and examples
This design allows for efficient handling of semantic versioning while maintaining backward compatibility.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file radicle_mcp_server-0.1.5.tar.gz.
File metadata
- Download URL: radicle_mcp_server-0.1.5.tar.gz
- Upload date:
- Size: 100.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c952b6b990b1a360909de2d28f0cae4e815fb7b44c89f2bfb0f3cae608b54efd
|
|
| MD5 |
7f04442eca767d456e77e2844d2bbcd3
|
|
| BLAKE2b-256 |
1ef132f52ba2c781ac6b982f0a72210f0df7e9e846451e53c51587c9a0746943
|
File details
Details for the file radicle_mcp_server-0.1.5-py3-none-any.whl.
File metadata
- Download URL: radicle_mcp_server-0.1.5-py3-none-any.whl
- Upload date:
- Size: 41.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
740461c71de64e64bd9081d9117084801596a41a7f29606db4a03e5a1f06cebd
|
|
| MD5 |
8516512e15be2d26cffc39c4d8f8dc45
|
|
| BLAKE2b-256 |
2912eec52e8bca6dd26e3d3d9151e7fc25be8a991b012507a07df0c877144d0c
|