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