项目简介
这是一个基于Model Context Protocol (MCP) 构建的服务器应用,旨在为大型语言模型(LLM)提供与GitHub交互的能力。通过实现一系列MCP工具,它允许LLM客户端直接从工作流中获取拉取请求详情、创建新的GitHub议题以及更新现有议题。
主要功能点
该MCP服务器提供以下功能作为工具供LLM调用:
- 获取拉取请求详情: 根据仓库信息和PR编号,获取指定拉取请求的标题、描述、作者、状态等基本信息。
- 更新拉取请求描述: 更新指定拉取请求的描述内容。
- 创建GitHub议题: 在指定GitHub仓库中创建一个新的议题,可指定标题和正文。
- 更新GitHub议题: 更新指定GitHub仓库中现有议题的标题和正文。
这些功能以标准化的MCP工具形式暴露,使得任何支持MCP协议的LLM客户端都能轻松集成和使用。
安装步骤
- 克隆仓库: 打开终端,执行以下命令克隆项目到本地。
git clone https://github.com/saidsef/mcp-github-pr-issue-analyser.git cd mcp-github-pr-issue-analyser - 安装依赖: 使用'uv'工具创建虚拟环境并安装所需依赖。
uv init uv venv uv pip install -r requirements.txt - 获取GitHub Personal Access Token: 访问GitHub网站,在开发者设置中生成一个Personal Access Token,确保具有'repo'(访问私有和公共仓库)权限。
服务器配置(供MCP客户端使用)
本MCP服务器需要通过MCP客户端(如特定的桌面LLM应用)来启动和连接。MCP客户端通常需要在其配置中指定如何启动该服务器。以下是配置所需的核心信息,您需要在LLM客户端的相应设置界面填写:
- 服务器名称 (server name): 您可以自定义一个名称,例如 'github_pr_issues'。
- 启动命令 (command): 执行服务器脚本的命令,例如 'uv'。
- 命令参数 (args): 传递给启动命令的参数,例如 'run --with mcp[cli] --with requests /path/to/your/mcp-github-pr-issue-analyser/issues_pr_analyser.py'。请将 '/path/to/your/mcp-github-pr-issue-analyser/' 替换为你实际克隆项目的路径。
- 环境变量 (env): 必须设置 'GITHUB_TOKEN' 环境变量,其值设为您在安装步骤中获取的GitHub Personal Access Token。
客户端通过这些信息启动服务器,并建立基于Stdio或SSE协议的MCP连接。
基本使用方法
一旦MCP客户端成功配置并连接到本服务器,LLM将能够识别并使用服务器提供的GitHub相关工具。具体如何调用这些工具取决于您的LLM客户端界面和能力。通常,您可以通过自然语言指令,让LLM执行以下操作:
- 让LLM调用 'fetch_pr' 工具,提供仓库拥有者、仓库名称和PR编号,获取PR详情。
- 让LLM调用 'create_github_issue' 工具,提供仓库拥有者、仓库名称、议题标题和正文,创建新议题。
- 让LLM调用 'update_github_issue' 工具,提供仓库拥有者、仓库名称、议题编号、新的标题和正文,更新现有议题。
服务器将代表LLM执行相应的GitHub API调用,并将结果或状态返回给LLM。
信息
分类
开发者工具