mcpField
G
GitHub MCP Server

GitHub MCP Server

ローカル
github.com/tomo-cpsバージョン管理075 週間前に更新

GitHub MCP Server について

GitHub MCP Serverは、MCPサーバーの実装とテストを行うプロジェクトです。GitHub APIの操作をLLMエージェントに提供したい開発者向けで、リポジトリ操作、コード検索、IssueやPRの管理に対応します。

主な機能

  1. 01リポジトリの作成と管理
  2. 02ファイルの追加と編集
  3. 03ブランチ管理
  4. 04GitHub上のコード検索
  5. 05IssueとPRの作成・更新
  6. 06GitHub APIトークン認証

活用シーン

  1. 01エージェントによるGitHubリポジトリ情報の取得
  2. 02エージェント経由でIssueを作成・更新
  3. 03GitHub上のコード検索
  4. 04リポジトリ内のファイル編集やブランチ管理

MCP 対応

MCPサーバーを実装し、`/mcp/describe`で機能を記述し、`/mcp/execute`でコマンドを実行、`/mcp/state`で状態を取得・更新します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

プロジェクトの README より

GitHub MCP Server

このリポジトリは 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 アカウントと個人アクセストークン (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. このリポジトリをフォーク
  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 ファイルを参照してください。

参考資料

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。