项目概述
GitMCP是一个革命性的开源项目,通过Model Context Protocol将GitHub生态与AI工具无缝连接
核心特性
强大的MCP功能集合,重新定义AI与代码的交互方式
远程MCP服务器
基于@modelcontextprotocol/sdk的云端MCP服务器,采用McpAgent架构, 支持SSE和WebSocket双协议,为AI工具提供GitHub项目的实时访问能力。
架构设计:MyMCP类继承McpAgent、动态工具注册、请求路由
连接方式:零配置URL、动态端点、批量仓库管理
消除代码幻觉
通过智能文档获取策略和多层缓存机制,确保AI助手获得最新、准确的项目信息, 彻底解决AI编程中的幻觉和过时信息问题。
智能搜索:GitHub Search API、代码搜索、文档搜索
准确性保证:实时API访问、版本同步、robots.txt遵循
零配置云服务
基于Cloudflare Workers的全球分布式部署,支持动态仓库处理器、 智能缓存策略和高性能并发处理,无需任何本地配置。
处理器:DefaultRepoHandler、ReactRouterRepoHandler、ThreejsRepoHandler
性能优化:KV缓存、R2存储、CDN加速、并发限制
技术架构
基于现代Web技术和云原生架构构建的高性能MCP服务器
React Router 7
现代化前端框架,支持SSR和客户端路由
Cloudflare Workers
边缘计算平台,全球分布式部署
Hono框架
轻量级Web框架,高性能API处理
多AI SDK
支持OpenAI、Anthropic、Google等AI提供商
MCP协议
Model Context Protocol标准实现
Tailwind CSS
原子化CSS框架,响应式设计
高级技术实现
深度解析GitMCP的核心技术架构和创新实现
MCP服务器架构
核心组件
- MyMCP类:继承McpAgent,实现MCP 1.1.0协议
- 动态工具注册:基于仓库类型自动选择处理器
- 请求路由:SSE/WebSocket双协议支持
- CORS处理:跨域请求支持,预检请求处理
处理器系统
- DefaultRepoHandler:通用GitHub仓库处理
- ReactRouterRepoHandler:React Router项目特化
- ThreejsRepoHandler:Three.js项目优化
- GenericRepoHandler:自定义仓库处理
智能文档获取
获取策略
- llms.txt优先:多路径并行搜索(根目录、docs/、docs/docs/)
- GitHub Pages:子域名映射,robots.txt检查
- README备用:智能降级,HTML转Markdown
- R2预生成:离线生成的llms.txt文件
搜索算法
- 并行获取:Promise.all并发请求优化
- 分支检测:自动获取默认分支
- 路径构建:动态GitHub URL构建
- 内容转换:html-to-md自动转换
GitHub API集成
API客户端
- 速率限制:智能速率限制检测和重试机制
- 认证管理:可选GitHub Token认证
- 错误处理:网络错误重试,优雅降级
- 请求优化:并发控制,延迟执行
搜索功能
- 代码搜索:GitHub Search API,分页支持
- 文件搜索:filename:查询,精确匹配
- 内容获取:raw.githubusercontent.com直接访问
- 上下文提取:仓库信息自动提取
缓存与存储
多层缓存
- KV存储:Cloudflare KV,12小时TTL,20%抖动
- R2存储:大文件存储,预生成内容
- 内存缓存:速率限制状态,临时数据
- CDN缓存:全球边缘节点,静态资源
缓存策略
- 智能键值:repo:owner:name格式
- 版本控制:内容哈希,自动失效
- 压缩存储:JSON序列化,空间优化
- 批量操作:批量读写,性能优化
网络与安全
网络处理
- robots.txt:自动检查,规则解析,访问控制
- CORS支持:跨域请求,预检处理
- SSL/TLS:HTTPS强制,证书验证
- 代理支持:Cloudflare代理,全球加速
安全机制
- 输入验证:Zod schema验证,类型安全
- 访问控制:robots.txt遵循,权限检查
- 错误处理:安全错误信息,日志记录
- DDoS防护:Cloudflare防护,速率限制
监控与分析
访问统计
- ViewCounterDO:Durable Objects计数器
- 徽章生成:动态SVG徽章,访问量显示
- 分析集成:Cloudflare Analytics
- 性能监控:响应时间,错误率统计
调试工具
- 详细日志:结构化日志,错误追踪
- 测试支持:E2E测试,API测试
- 开发模式:本地开发,热重载
- 部署验证:健康检查,自动回滚
MCP工具详解
GitMCP为AI助手提供的强大工具集
fetch_documentation
智能文档获取工具,支持多种文档格式和获取策略,自动选择最佳文档源
search_documentation
基于向量搜索的智能文档检索,支持语义理解和上下文匹配
search_code
基于GitHub Search API的代码搜索,支持精确查询和分页浏览
fetch_generic_url_content
通用URL内容获取工具,遵循robots.txt规则,支持多种内容格式
工具优势
- 智能路由:根据仓库类型自动选择最佳处理策略
- 缓存机制:R2存储优化,减少API调用,提升响应速度
- 错误处理:优雅降级,确保服务稳定性
- 权限管理:支持私有仓库访问,安全可控
- 实时同步:与GitHub保持同步,确保信息准确性
使用指南
快速上手GitMCP,为你的AI工具添加GitHub超能力
1. 配置Cursor MCP
{
"mcpServers": {
"gitmcp": {
"url": "https://gitmcp.io/{owner}/{repo}"
}
}
}
2. 使用示例
# 特定仓库配置
"url": "https://gitmcp.io/microsoft/typescript"
# GitHub Pages配置
"url": "https://langchain-ai.gitmcp.io/langgraph"
# 动态配置(支持任意仓库)
"url": "https://gitmcp.io/docs"
1. Claude Desktop配置
{
"mcpServers": {
"gitmcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://gitmcp.io/{owner}/{repo}"
]
}
}
}
2. 配置步骤
- 打开Claude Desktop
- 进入Settings > Developer > Edit Config
- 粘贴上述配置
- 替换{owner}和{repo}为实际值
- 重启Claude Desktop
1. VSCode MCP配置
{
"servers": {
"gitmcp": {
"type": "sse",
"url": "https://gitmcp.io/{owner}/{repo}"
}
}
}
2. 扩展安装
- 安装MCP扩展
- 在项目根目录创建.vscode文件夹
- 创建mcp.json配置文件
- 重新加载VSCode窗口
1. URL格式说明
gitmcp.io/{owner}/{repo}
{owner}.gitmcp.io/{repo}
gitmcp.io/docs
2. 支持的AI工具
社区支持
加入活跃的GitMCP社区,获取帮助和分享经验