Used as a runtime for the GitHub MCP server component, required as a prerequisite for running the integration.
Supports Git operations through Radicle, including repository initialization, cloning, status checking, and pushing changes to the network.
Provides tools for managing GitHub repositories, issues, pull requests, and file operations. Enables creating, forking, and cloning repositories, managing issues and PRs, reading and writing files, searching across repositories, and handling user and organization information.
Required as a runtime environment for the Radicle MCP server component, with Python 3.8+ specifically mentioned as a prerequisite.
Radicle + GitHub MCP Server
A Model Context Protocol (MCP) server setup that provides tools for interacting with both Radicle (peer-to-peer code collaboration) and GitHub through a unified interface.
Features
This setup includes two MCP servers:
🌟 Radicle MCP Server (Python)
- Repository Management: Initialize, clone, and inspect Radicle repositories
- Synchronization: Sync repositories with the Radicle network
- Patches & Issues: List and manage patches and issues
- Node Information: Get node ID and remote information
- Help System: Access Radicle command documentation
- 🔄 GitHub Integration: Bidirectional sync of issues and PRs between GitHub and Radicle
🐙 GitHub MCP Server (Official)
- Repository Operations: Create, fork, clone GitHub repositories
- Issue Management: Create, update, and manage GitHub issues
- Pull Requests: Manage pull requests and reviews
- File Operations: Read, write, and manage repository files
- Search: Search repositories, issues, and code
- User Management: Manage user and organization information
🔗 GitHub ↔ Radicle Synchronization
- Bidirectional Issue Sync: Automatically sync issues between platforms
- Idempotent Operations: Safe to run multiple times without duplicates
- Metadata Preservation: Maintains original author, links, and timestamps
- Mapping Database: Tracks relationships between GitHub and Radicle items
- MCP Integration: Available as AI assistant tools
Available Tools
Repository Operations
rad_init
: Initialize a new Radicle repositoryrad_clone
: Clone an existing repository by RIDrad_status
: Get repository status and informationrad_sync
: Sync repository with the networkrad_push
: Push changes to the network
Collaboration Features
rad_patch_list
: List patches (pull requests) in a repositoryrad_issue_list
: List issues in a repositoryrad_remote_list
: List remotes/nodes for a repository
Node & Identity
rad_id
: Get your Radicle node IDrad_help
: Get help for Radicle commands
Prerequisites
- Radicle CLI: Ensure the
rad
command is installed and available in your PATH - Deno: For running the GitHub MCP server
- Python Environment: Python 3.8+ with the MCP library
- GitHub Personal Access Token: For GitHub integration
- Go to https://github.com/settings/tokens
- Create a new token with repo, issues, and pull request permissions
- Set as environment variable:
GITHUB_PERSONAL_ACCESS_TOKEN
Installation
- Clone this repository
- Install dependencies:
- Install the official GitHub MCP server:
- Run the setup script:
Usage
Quick Setup
GitHub ↔ Radicle Sync
MCP Integration
The sync functionality is available as MCP tools:
github_sync_test
: Test connectivitygithub_sync_issues
: Sync issues onlygithub_sync_full
: Full bidirectional sync
See SYNC_README.md for detailed sync documentation.
As Standalone Servers
With Claude Desktop
The setup script automatically creates the configuration. Your claude_desktop_config.json
will include:
VS Code Integration
This project includes VS Code configuration for debugging the MCP server. Use the provided mcp.json
file to connect compatible MCP clients.
Example Commands
Once connected to an MCP client, you can use natural language to interact with both platforms:
Radicle Operations
- "Initialize a new Radicle repository called 'my-project'"
- "Clone the repository with RID rad..."
- "Show me the current patches in this repository"
- "Sync this repository with the network"
- "What's my Radicle node ID?"
GitHub Operations
- "Create a new GitHub repository called 'awesome-project'"
- "List my recent GitHub repositories"
- "Create an issue titled 'Bug fix needed'"
- "Show me open pull requests in my repository"
- "Search for repositories related to 'machine learning'"
Cross-Platform Workflows
- "Publish this Radicle repository to GitHub"
- "Sync issues between Radicle and GitHub"
- "Compare this repository on both platforms"
Development
Running Tests
Code Style
Project Structure
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details
Related Links
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A Model Context Protocol server that provides tools for interacting with both Radicle (peer-to-peer code collaboration) and GitHub through a unified interface, enabling repository management, synchronization, and collaboration features across both platforms.
Related MCP Servers
- -securityAlicense-qualityA modular server that implements the Model Context Protocol standard, providing tools for interacting with GitHub, GitLab, Google Maps, Memory storage, and web automation through a unified gateway.Last updated -6453PythonApache 2.0
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI models to interact with GitHub's API, allowing for repository creation and management with descriptions, topics, and website URLs through natural language commands.Last updated -1JavaScript
- AsecurityFlicenseAqualityA Model Context Protocol server that enables integration with GitHub Actions, allowing users to fetch available actions, get detailed information about specific actions, trigger workflow dispatch events, and fetch repository releases.Last updated -4921JavaScript
- -security-license-qualityA Model Context Protocol server that supports remote connections and authenticates users via GitHub OAuth, allowing them to access tools based on their GitHub identity.Last updated -TypeScript