mcpField
G
GitHub MCP Server

GitHub MCP Server

本地服务
github.com/tomo-cps版本控制075 周前更新

关于 GitHub MCP Server

GitHub MCP Server 是一个用于实现和测试 MCP 服务的项目,为需要让 LLM Agent 操作 GitHub API 的开发者提供接口。它支持仓库操作、代码搜索以及议题和 PR 管理。

主要功能

  1. 01创建和管理仓库
  2. 02添加与编辑文件
  3. 03分支管理
  4. 04搜索 GitHub 代码
  5. 05创建和更新议题及 PR
  6. 06GitHub API 令牌认证

适用场景

  1. 01让 Agent 查询 GitHub 仓库信息
  2. 02通过 Agent 创建或更新议题
  3. 03从 GitHub 搜索代码
  4. 04在仓库中编辑文件或管理分支

MCP 相关

该项目实现 MCP 服务,通过 `/mcp/describe` 描述能力,并由 `/mcp/execute` 执行命令、`/mcp/state` 获取或更新状态。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

GitHub MCP 服务

此仓库用于测试 Model Context Protocol (MCP) 服务的实现和使用方法。

概述

Model Context Protocol (MCP) 是一种用于标准化大模型 (LLM) 与客户端应用程序之间通信的协议。使用此协议,Agent 可以与外部工具和客户端应用程序有效协作。

GitHub MCP 服务与 GitHub API 集成,为 LLM Agent 提供仓库操作、代码搜索、问题管理等功能。

特点

  • 仓库操作:创建仓库、添加和编辑文件、管理分支
  • 代码搜索:搜索 GitHub 上的代码
  • 问题/PR 管理:创建、更新问题或拉取请求,以及发表评论
  • 身份验证管理:安全地验证 GitHub API

必要条件

  • Node.js (v16.0.0 以上)
  • npm 或 yarn
  • GitHub 账户和个人访问令牌 (PAT)

安装方法

# リポジトリをクローン
git clone https://github.com/tomo-cps/mcp-test.git
cd mcp-test

# 依存パッケージのインストール
npm install
# または
yarn install

配置

  1. 创建 .env 文件,并设置以下环境变量:
GITHUB_TOKEN=your_github_personal_access_token
PORT=3000
  1. 获取 GitHub 个人访问令牌的方法:
    • 登录 GitHub
    • 点击右上角的个人资料图标 > Settings > Developer settings > Personal access tokens
    • 点击 "Generate new token"
    • 选择所需权限(推荐 repo、user、read:org)
    • 生成令牌,并将其保存到 .env 文件

启动服务

# 開発モード
npm run dev
# または
yarn dev

# 本番モード
npm start
# または
yarn start

默认情况下,服务将在 http://localhost:3000 上运行。

API 端点

此 MCP 服务提供以下主要端点:

  • /mcp/describe:描述可用功能和参数
  • /mcp/execute:执行指定命令
  • /mcp/state:获取或更新当前状态

使用示例

1. 获取仓库信息
// クライアント側のコード例
const response = await fetch('http://localhost:3000/mcp/execute', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    command: 'get_repository',
    params: {
      owner: 'octocat',
      repo: 'hello-world'
    }
  })
});

const data = await response.json();
console.log(data);
2. 创建问题
// クライアント側のコード例
const response = await fetch('http://localhost:3000/mcp/execute', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    command: 'create_issue',
    params: {
      owner: 'your-username',
      repo: 'your-repo',
      title: 'バグ: ログイン画面で問題が発生',
      body: '詳細な説明をここに記述します...',
      labels: ['bug', 'priority:high']
    }
  })
});

const data = await response.json();
console.log(data);

故障排除

常见问题及解决方法:

  1. 身份验证错误:请确认 GitHub 令牌已正确设置。
  2. 速率限制:GitHub API 有速率限制。达到限制时,请稍等片刻后重试。
  3. CORS 错误:进行跨源调用时,请确认服务已设置适当的 CORS 标头。

贡献

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add some amazing feature')
  4. 推送分支(git push origin feature/amazing-feature)
  5. 创建拉取请求

许可证

MIT License - 详情请参阅 LICENSE 文件。

参考资料

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。