一个基于 MCP 协议的 GitHub 仓库搜索工具,支持自然语言搜索和可视化结果展示。
- 🔍 自然语言搜索: 使用 DeepSeek LLM 将自然语言转换为 GitHub 搜索语法
- 📊 Web 可视化: 搜索结果以卡片形式展示,美观直观
- ⚙️ 灵活配置: 通过 JSON 配置文件管理所有设置
- 🔄 自动重试: 支持指数退避重试机制
- 📄 分页支持: 支持分页查询
- 🔐 Token 管理: 支持 GitHub Token 配置
- 🌐 多模式运行: MCP 标准模式、HTTP 服务模式、命令行交互模式和 Web 可视化模式
github_search_tool/
├── web_app.py # Web 可视化展示工具
├── github_search_ai.py # CLI 命令行工具
├── mcp_github_search/ # MCP 服务器模块
│ ├── mcp_server.py # MCP 服务器主文件
│ ├── config.json # 配置文件
│ └── README.md # MCP 模块说明
├── templates/ # Web 模板目录
│ └── results.html # 搜索结果展示页面
├── test_search.py # 测试文件
└── requirements.txt # 依赖列表
pip install flaskexport GITHUB_TOKEN="your_github_token"
export DEEPSEEK_API_KEY="your_deepseek_api_key"直接搜索并在浏览器中展示结果:
python3 web_app.py "Python web框架 高星"这会自动打开 Safari 浏览器,展示搜索结果的可视化页面。
python3 github_search_ai.pypython3 -m mcp_github_search.serverpython3 mcp_github_search/mcp_server.py --serverWeb 界面特点:
- 🎨 紫色渐变背景设计
- 📦 卡片式展示搜索结果
- 👤 显示仓库所有者头像
- ⭐ 展示 Star、Fork、Watcher 数量
- 📅 显示最近更新时间
- 🔗 点击卡片直接跳转到 GitHub
搜索 GitHub 仓库
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 是 | 自然语言搜索查询 |
| token | string | 否 | GitHub Token |
| llm_api_key | string | 否 | DeepSeek API Key |
| page | integer | 否 | 页码(默认 1) |
| per_page | integer | 否 | 每页数量(默认 10) |
保存 GitHub Token
检查 Token 配置状态
获取当前配置
重新加载配置文件
配置文件位于 mcp_github_search/config.json:
{
"version": "2.2.0",
"server": {
"host": "localhost",
"port": 8000
},
"github": {
"api_url": "https://api.github.com/search/repositories",
"default_per_page": 10,
"max_per_page": 100
},
"llm": {
"enabled": true,
"api_url": "https://api.deepseek.com/v1/chat/completions",
"model": "deepseek-chat"
}
}- ✅ 添加 Web 可视化功能
- ✅ 支持通过命令行参数直接打开 Web 页面展示结果
- ✅ 配置文件抽象化,所有硬编码改为配置驱动
- ✅ 添加 Config 单例类管理配置
- ✅ 支持配置热重载
- ✅ 集成 DeepSeek LLM 进行自然语言查询转换
- ✅ 添加重试机制和分页功能
MIT License