GitHub仓库分析工具

一个基于模型上下文协议(MCP)的服务器,使大型语言模型能够实时分析GitHub仓库,提供仓库信息检索、问题分析、文档访问和活动可视化等功能。

  • by jar285
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 jar285/github_mcp_analyzer

使用说明

GitHub存储库分析器MCP服务器

一个模型上下文协议(MCP)服务器,使大型语言模型能够实时分析GitHub存储库。此服务器提供用于检索存储库信息、分析问题、访问文档和可视化活动的工具。

特性

  • 存储库信息工具:检索有关GitHub存储库的基本元数据
  • 问题分析工具:列出并分类存储库问题
  • README访问资源:访问存储库文档
  • 提交历史记录工具:分析最近的代码更改
  • 活动分析工具:计算存储库活动指标
  • 可视化工具:创建存储库活动的可视化图表

先决条件

  • Python 3.10或更高版本
  • GitHub帐户和个人访问令牌

安装

  1. 克隆此存储库:
git clone <repository-url>
cd github-repo-analyzer
  1. 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 创建一个 .env 使用您的GitHub API令牌的文件:
cp .env.example .env

编辑 .env 归档并替换 your_github_token_here 使用您实际的GitHub个人访问令牌。

用法

运行服务器

要使用MCP Inspector以开发模式启动服务器,请执行以下操作:

mcp dev src/server.py

这将在浏览器中打开一个web界面,您可以在其中测试服务器的工具。

在Claude Desktop注册

要在Claude Desktop注册服务器,请执行以下操作:

mcp install src/server.py

注册后,重新启动Claude Desktop。然后,您可以通过向Claude询问有关GitHub存储库的问题来与GitHub存储库分析器进行交互。

克劳德提示示例

  • “你能分析一下GitHub存储库‘modelcontextprotocol/python-sdk’,并告诉我它的目的和活动级别吗?”
  • “‘openai/openai-python’存储库中的前5个开放问题是什么?”
  • “在过去的30天里,‘anthropics/anthropic sdk-python’存储库有多活跃?”
  • “请阅读'microsoft.com'存储库的README,并解释其主要功能。”
  • “生成一张图表,显示过去60天内‘facebook/react’的提交活动。”

发展

项目结构

github-repo-analyzer/
├── src/
│   ├── github_tools.py  # GitHub API client implementation
│   └── server.py        # MCP server implementation
├── requirements.txt     # Dependencies
├── .env.example         # Example environment variables
├── .gitignore           # Git ignore file
└── README.md            # Project documentation

添加新工具

要向服务器添加新工具,请执行以下步骤:

  1. 为添加必要的功能 GitHubAPIClient 类在 github_tools.py
  2. 在MCP服务器中注册该工具 server.py 使用 @server.tool 装饰器
  3. 使用MCP检查器测试工具

测试

要测试服务器,请按照使用部分中的说明使用MCP检查器。您还可以为GitHub API客户端功能编写单元测试。

安全考虑

  • 永远不要将您的GitHub API令牌提交到版本控制
  • 使用GitHub令牌所需的最小范围
  • 注意GitHub API速率限制

许可证

MIT许可证