GitHub MCP服务器

GitHub MCP服务器是一个实现Model Context Protocol (MCP)的服务,用于标准化大型语言模型(LLM)与客户端应用程序之间的通信,提供GitHub API的集成功能,包括仓库操作、代码搜索、问题管理等。

  • by tomo-cps
  • 本地部署
  • 更新于
在 GitHub 查看 tomo-cps/mcp-test

使用说明

GitHub MCP服务器

这个存储库Model Context Protocol (MCP) 用于测试服务器的实施和使用方法。

概要

Model Context Protocol (MCP) 是用于标准化大型语言模型(LLM)和客户端应用程序之间的通信的协议。通过使用该协议,代理可以有效地与外部工具和客户端应用程序协作。

GitHub MCP服务器GitHub API与合作,将信息库操作、代码检索、标题管理等功能LLM提供给代理。

特徴

  • 存储库操作:创建存储库、添加、编辑文件和分支管理
  • 代码搜索: GitHub查找上面的代码
  • 伊修/PR管理:创建、更新、注释标题和拉式请求
  • 认证管理: GitHub API安全认证

必要条件

  • Node.js(v16.0.0)以上)
  • npm 在工作空间的边缘yarn
  • GitHub 帐户和个人访问令牌

安装方法

# リポジトリをクローン
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. 分叉此存储库
  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 - 了解更多信息 许可证 请参见文件。

参考资料