gitingest-mcp
gitingest-mcp
[!tip] MCP HTTP 服务器,封装 gitingest,让 Claude Code 能够分析 GitHub 仓库并生成 Obsidian 中文学习笔记。
✨ 功能特性
GitHub 仓库分析 - 通过 MCP 协议获取仓库摘要和完整内容
智能文件过滤 - 默认分析文档文件(md, json, toml, yaml 等)
256k Token 自动降级 - 超过限制时自动切换到 README-only 模式
私有仓库支持 - 通过 GitHub token 访问私有仓库
子目录分析 - 支持分析仓库的特定子目录
Obsidian 集成 - 自动调用 Obsidian 相关 skill 生成结构化学习笔记
📦 快速开始
1. 部署服务器
Docker Compose 部署(推荐)
# 克隆项目
git clone https://github.com/tunanet/gitingest-mcp.git
cd gitingest-mcp
# 启动服务
docker-compose up -d
# 查看日志
docker-compose logs -fDocker 部署
# 构建镜像
docker build -t gitingest-mcp .
# 运行容器
docker run -d \
--name gitingest-mcp \
-p 8000:8000 \
-e GITHUB_TOKEN=your_token_if_needed \
--restart unless-stopped \
gitingest-mcp其他部署方式
# 安装依赖
pip install -e .
# 创建 systemd 服务
sudo nano /etc/systemd/system/gitingest-mcp.service添加内容:
[Unit]
Description=Gitingest MCP Server
After=network.target
[Service]
Type=simple
User=your_user
WorkingDirectory=/path/to/gitingest-mcp
Environment="PORT=8000"
ExecStart=/usr/bin/python -m server.main
Restart=always
[Install]
WantedBy=multi-user.target启动服务:
sudo systemctl daemon-reload
sudo systemctl enable gitingest-mcp
sudo systemctl start gitingest-mcpRailway:
npm install -g railway
railway login
railway upRender:
在 Render Dashboard 创建新的 Web Service
连接 GitHub 仓库
tunanet/gitingest-mcp设置构建命令:
pip install -e . && uvicorn server.main:app --host 0.0.0.0 --port $PORT
2. 在 Claude Code 中注册 MCP 服务器
# 替换为你的部署 URL
claude mcp add --transport http gitingest https://your-app.example.com/mcp3. 验证安装
# 检查 MCP 服务器状态
curl https://your-app.example.com/health🚀 在 Claude Code 中使用
基本用法
部署完成后,在 Claude Code 中直接与 AI 对话即可:
你: 帮我分析 https://github.com/coderamp-labs/gitingest 这个项目,生成 obsidian 中文学习笔记
Claude Code 会:
1. 自动调用 analyze_repo 工具获取仓库分析
2. 理解项目结构和功能
3. 自动调用 Obsidian 相关 skill
4. 生成结构化的 Obsidian 学习笔记高级用法
指定子目录
分析 https://github.com/owner/repo 的 docs 目录使用全文件模式
帮我分析 https://github.com/owner/repo,分析所有源代码文件强制只分析 README
分析 https://github.com/owner/repo,只看 README 即可工作流程
graph LR
A[用户请求] --> B[Claude Code 调用 MCP]
B --> C[gitingest-mcp 分析仓库]
C --> D[返回分析结果]
D --> E[Claude Code 调用 Obsidian Skill]
E --> F[生成学习笔记]⚙️ 配置
环境变量
变量 | 说明 | 默认值 |
| 服务器端口 |
|
| GitHub token(私有仓库需要) | - |
GitHub Token 获取
生成新 token(需要
repo权限)设置环境变量或启动时传入
🛠️ MCP 工具参数
analyze_repo 工具支持以下参数:
参数 | 类型 | 必填 | 说明 |
| string | ✅ | GitHub 仓库 URL |
| string | ❌ | 只分析指定子目录 |
| string | ❌ | 用于私有仓库的 GitHub token |
| string | ❌ | 默认分支名(默认为 |
| string | ❌ | 文件包含模式(默认使用文档模式) |
| boolean | ❌ | 强制只分析 README |
include_patterns 选项
值 | 说明 |
默认(不指定) | 分析文档文件(md, json, toml, yaml, txt, cfg, ini, conf) |
| 分析所有文件(包括源代码) |
| 自定义文件模式 |
📝 返回结果格式
{
"summary": {
"repo_name": "owner/repo",
"description": "仓库描述...",
"estimated_tokens": 15000
},
"content": "文件内容...",
"metadata": {
"source_url": "https://github.com/owner/repo",
"include_patterns": "*.md,*.json,...",
"was_fallback": false,
"fallback_reason": null
}
}🔒 反向代理配置(生产环境推荐)
服务默认绑定 127.0.0.1:8000,建议通过 Nginx 反向代理暴露公网。
HTTP 配置
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}HTTPS 配置(使用 Let's Encrypt)
server {
listen 80;
server_name your-domain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}🧪 本地开发
# 安装依赖
pip install -e .
# 启动服务器
python -m server.main
# 运行测试
pytest📚 使用示例
示例 1:分析开源项目
你: 帮我分析 https://github.com/tiangolo/fastapi 这个项目,生成 obsidian 中文学习笔记示例 2:分析特定子目录
你: 分析 https://github.com/owner/repo 的 src/core 目录,生成学习笔记示例 3:私有仓库分析
你: 分析我公司的私有仓库 https://github.com/mycompany/private-repo
(需提前配置 GITHUB_TOKEN 环境变量)示例 4:快速了解项目
你: 快速帮我了解 https://github.com/vitejs/vite 这个项目是做什么的🐛 故障排除
MCP 服务器无法连接
检查服务器状态:
curl https://your-app.example.com/health检查防火墙设置
确认反向代理配置正确
分析超时
大型仓库可能需要较长时间
默认超时时间为 120 秒
可以通过指定
subdirectory减少分析范围
Token 限制
默认使用文档模式以减少 token 使用
超过 256k token 会自动降级到 README-only 模式
可通过
fallback_to_readme=true强制使用 README 模式
📄 License
MIT
🙏 致谢
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tunanet/gitingest-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server