github-mcp-server-sse
0
The GitHub MCP Server is designed to provide a standardized interface for applications to interact with the GitHub API using the Model Context Protocol. It supports various functionalities including repository management and pull request handling, and can be operated through different methods such as standard input/output, SSE, and Docker containers.
GitHub MCP Server
Model Context Protocol (MCP) を使用したGitHub統合サーバーです。このサーバーはLLM(大規模言語モデル)アプリケーションがGitHub APIと通信するための標準化されたインターフェースを提供します。
機能
このサーバーは以下の機能を提供します:
- リポジトリの検索
- リポジトリの作成
- ファイルの内容の取得
- ファイルの作成・更新
- 複数ファイルの一括プッシュ
- リポジトリのフォーク
- Pull Requestの作成
- Pull Requestの詳細取得
- Pull Requestへのレビュー追加
インストール
go get github.com/yamagai/github-mcp-server-sse
使用方法
標準入出力モード (Stdio)
# 環境変数でGitHubトークンを設定
export GITHUB_TOKEN=your_github_token
# サーバーを起動(デフォルトは標準入出力モード)
github-mcp
# または明示的に標準入出力モードを指定
github-mcp -t stdio
SSEモード
# 環境変数でGitHubトークンを設定(または各リクエストのAuthorizationヘッダーで指定)
export GITHUB_TOKEN=your_github_token
# デフォルトポート(8080)でSSEサーバーを起動
github-mcp -t sse
# カスタムポートでSSEサーバーを起動
github-mcp -t sse -p 3000
SSEモードでは、HTTPリクエストのAuthorizationヘッダーにGitHubトークンを含めることもできます:
curl -H "Authorization: Bearer YOUR_GITHUB_TOKEN" http://localhost:8080/events
Dockerコンテナでの使用
SSEモードでサーバーを実行するDockerコンテナが提供されています。
ビルド方法
# Dockerイメージをビルド
docker build -t github-mcp-server-sse .
実行方法
# 環境変数でGitHubトークンを指定して実行
docker run -p 8080:8080 -e GITHUB_TOKEN=your_github_token github-mcp-server-sse
# カスタムポートで実行(環境変数でポートを指定)
docker run -p 3000:3000 -e GITHUB_TOKEN=your_github_token -e PORT=3000 github-mcp-server-sse
ツール一覧
ツール名 | 説明 |
---|---|
search_repositories | GitHubリポジトリを検索します |
create_repository | 新しいGitHubリポジトリを作成します |
get_file_contents | GitHubリポジトリからファイルの内容を取得します |
create_or_update_file | GitHubリポジトリにファイルを作成または更新します |
push_files | 複数のファイルを一度にGitHubリポジトリにプッシュします |
fork_repository | GitHubリポジトリをフォークします |
create_pull_request | GitHubリポジトリに新しいPull Requestを作成します |
get_pull_request | GitHubリポジトリからPull Requestの詳細を取得します |
create_pull_request_review | Pull Requestにレビューを作成します |
開発
# 依存関係の解決
go mod tidy
# ビルド
go build
# テスト
go test ./...
コマンドラインオプション
オプション | 短縮形 | 説明 | デフォルト値 |
---|---|---|---|
--transport | -t | 使用するトランスポートタイプ (stdio または sse) | stdio |
--port | -p | SSEサーバーのポート番号 | 8080 |
参考
このプロジェクトはMCP-Goライブラリを使用しています。詳細なドキュメントについては、そちらを参照してください。
ライセンス
MIT