Skip to main content
Glama

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 -f

Docker 部署

# 构建镜像 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-mcp

Railway:

npm install -g railway railway login railway up

Render:

  1. 在 Render Dashboard 创建新的 Web Service

  2. 连接 GitHub 仓库 tunanet/gitingest-mcp

  3. 设置构建命令: 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/mcp

3. 验证安装

# 检查 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[生成学习笔记]

⚙️ 配置

环境变量

变量

说明

默认值

PORT

服务器端口

8000

GITHUB_TOKEN

GitHub token(私有仓库需要)

-

GitHub Token 获取

  1. 访问 GitHub Settings > Personal Access Tokens

  2. 生成新 token(需要 repo 权限)

  3. 设置环境变量或启动时传入

🛠️ MCP 工具参数

analyze_repo 工具支持以下参数:

参数

类型

必填

说明

url

string

GitHub 仓库 URL

subdirectory

string

只分析指定子目录

github_token

string

用于私有仓库的 GitHub token

default_branch

string

默认分支名(默认为 main

include_patterns

string

文件包含模式(默认使用文档模式)

fallback_to_readme

boolean

强制只分析 README

include_patterns 选项

说明

默认(不指定)

分析文档文件(md, json, toml, yaml, txt, cfg, ini, conf)

"all"

分析所有文件(包括源代码)

"*.py,*.js"

自定义文件模式

📝 返回结果格式

{ "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 服务器无法连接

  1. 检查服务器状态:curl https://your-app.example.com/health

  2. 检查防火墙设置

  3. 确认反向代理配置正确

分析超时

  • 大型仓库可能需要较长时间

  • 默认超时时间为 120 秒

  • 可以通过指定 subdirectory 减少分析范围

Token 限制

  • 默认使用文档模式以减少 token 使用

  • 超过 256k token 会自动降级到 README-only 模式

  • 可通过 fallback_to_readme=true 强制使用 README 模式

📄 License

MIT

🙏 致谢

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

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