GitHub MCP Server について
GitHub MCP Serverは、MCP対応アプリからGitHubリポジトリを作成するPython製MCPサーバーです。リポジトリ名、説明、公開設定を指定できるツールを提供します。
主な機能
- 01GitHubリポジトリの作成
- 02リポジトリ名と説明の設定
- 03公開・非公開の選択
活用シーン
- 01MCPクライアントからリポジトリを作成
- 02作成時に説明と公開設定を指定
MCP 対応
標準入力/出力上のJSON-RPCでMCPを実装し、`create_repository`ツールを公開します。MCPクライアントからツールの一覧取得と呼び出しができます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
GitHub MCP サーバー
GitHub リポジトリ管理機能を提供する Model Context Protocol(MCP)サーバーです。
機能
- リポジトリの作成:カスタマイズ可能な設定で新しい GitHub リポジトリを作成します
前提条件
- Python 3.8 以降
- リポジトリの作成権限を持つ GitHub Personal Access Token
インストール
- このリポジトリをクローンします:
git clone https://github.com/Joseph19820124/joseph-github-mcp-server.git
cd joseph-github-mcp-server
- 依存関係をインストールします:
pip install -r requirements.txt
- GitHub トークンを設定します:
export GITHUB_TOKEN="your_github_personal_access_token"
使用方法
MCP サーバーの実行
python main.py
サーバーが起動し、標準入力/標準出力を介して MCP リクエストを受け付けます。
利用可能なツール
create_repository
新しい GitHub リポジトリを作成します。
パラメーター:
name(必須):リポジトリ名description(任意):リポジトリの説明private(任意):リポジトリを非公開にするかどうか(デフォルト:false)
リクエストの例:
{
"method": "tools/call",
"params": {
"name": "create_repository",
"arguments": {
"name": "my-new-repo",
"description": "A sample repository",
"private": false
}
},
"id": "1"
}
レスポンスの例:
{
"content": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"repository\": {\n \"id\": 123456789,\n \"name\": \"my-new-repo\",\n \"full_name\": \"username/my-new-repo\",\n \"html_url\": \"https://github.com/username/my-new-repo\",\n \"clone_url\": \"https://github.com/username/my-new-repo.git\",\n \"ssh_url\": \"[email protected]:username/my-new-repo.git\",\n \"private\": false,\n \"description\": \"A sample repository\"\n }\n}"
}
],
"id": "1"
}
GitHub トークンの設定
この MCP サーバーを使用するには、以下の権限を持つ GitHub Personal Access Token が必要です。
-
GitHub の Settings > Developer settings > Personal access tokens に移動します
-
以下のスコープを指定して新しいトークンを生成します:
repo(リポジトリへのアクセス用)user(ユーザー情報用)
-
トークンを環境変数として設定します:
export GITHUB_TOKEN="your_token_here"
開発
プロジェクト構成
joseph-github-mcp-server/
├── main.py # Main MCP server implementation
├── requirements.txt # Python dependencies
├── README.md # This file
└── pyproject.toml # Project configuration
テスト
JSON-RPC リクエストを送信して、サーバーをテストできます。
- サーバーを起動します:
python main.py
- テストリクエストを送信します:
echo '{"method": "tools/list", "id": "1"}' | python main.py
MCP(Model Context Protocol)
このサーバーは、AI アプリケーションを外部のデータソースやツールに接続するためのオープン標準である Model Context Protocol を実装しています。このプロトコルでは、通信に stdio 上の JSON-RPC 2.0 を使用します。
サポートされている MCP メソッド
tools/list:利用可能なツールを一覧表示しますtools/call:特定のツールを実行します
ツールスキーマ
create_repository ツールは、MCP ツールスキーマに従います。
{
"name": "create_repository",
"description": "Create a new GitHub repository",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Repository name"
},
"description": {
"type": "string",
"description": "Repository description",
"default": ""
},
"private": {
"type": "boolean",
"description": "Whether the repository should be private",
"default": false
}
},
"required": ["name"]
}
}
ライセンス
MIT License
貢献
プルリクエストを歓迎します。大きな変更を行う場合は、まず issue を作成して、変更内容について話し合ってください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。