GitHub MCP Server for Cursor IDE について
Cursor IDE 向けの GitHub MCP サーバーで、GitHub API を通じてリポジトリを一覧表示、作成できます。個人アクセストークン認証に加え、レート制限対策と入力検証を備えています。
主な機能
- 01アクセス可能な GitHub リポジトリの一覧
- 02GitHub リポジトリの作成
- 03トークン認証と入力検証
- 04レート制限対策
- 05ログ記録とエラー処理
活用シーン
- 01Cursor IDE からリポジトリを確認
- 02API 経由で GitHub リポジトリを作成
- 03トークンや API のエラーを調査
MCP 対応
Cursor IDE 向けの GitHub MCP 連携を提供し、リポジトリの一覧取得と作成エンドポイントを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cursor IDE 向け GitHub MCP サーバー
Cursor IDE から GitHub リポジトリを直接管理できる、強力な GitHub 統合サーバーです。このサーバーは GitHub の API と連携する RESTful API を提供し、リポジトリの作成と管理を簡単にします。
機能
- 新しい GitHub リポジトリの作成
- 既存リポジトリの一覧表示
- セキュアなトークンベースの認証
- レート制限への対策
- 包括的なエラー処理
- 詳細なログ記録
- Webhook のサポート(近日公開)
前提条件
- Node.js(v14 以降)
- npm(v6 以降)
- Personal Access Token を持つ GitHub アカウント
- Cursor IDE
セットアップ
- このリポジトリをクローンします:
git clone <your-repo-url>
cd github-mcp-server
- 依存関係をインストールします:
npm install
- ルートディレクトリに
.envファイルを作成します:
cp .env.example .env
.envで環境変数を設定します:
# Server Configuration
PORT=3000
NODE_ENV=development
# GitHub Configuration
GITHUB_TOKEN=your_github_token_here
GITHUB_WEBHOOK_SECRET=your_webhook_secret_here
# Rate Limiting
RATE_LIMIT_WINDOW_MS=900000 # 15 minutes
RATE_LIMIT_MAX_REQUESTS=100
-
GitHub Personal Access Token を生成します:
- GitHub.com → Settings → Developer Settings → Personal Access Tokens → Tokens (classic) に移動します
- 「Generate new token」→「Generate new token (classic)」をクリックします
- トークンにわかりやすい名前を付けます(例:「MCP Server Integration」)
- 次の権限を選択します:
repo(プライベートリポジトリへのフルアクセス)read:org(組織データの読み取り)admin:repo_hook(リポジトリフックへのフルアクセス)
- 生成されたトークンをコピーし、
.envファイルに貼り付けます
-
サーバーを起動します:
npm run dev
Cursor IDE での使用方法
- Cursor IDE を開きます
- MCP サーバーはデフォルトで
http://localhost:3000で実行されます - 次のエンドポイントを使用できます:
新しいリポジトリを作成する
curl -X POST http://localhost:3000/api/github/repos \
-H "Content-Type: application/json" \
-d '{
"name": "my-new-repo",
"description": "A new repository created via MCP",
"private": false,
"auto_init": true
}'
自分のリポジトリを一覧表示する
curl http://localhost:3000/api/github/repos
API エンドポイント
GET /health
サーバーの状態を確認するためのヘルスチェックエンドポイントです。
GET /api/github/repos
認証済みユーザーがアクセスできるすべてのリポジトリを一覧表示します。
POST /api/github/repos
新しいリポジトリを作成します。
リクエスト本文:
{
"name": "repository-name",
"description": "Repository description",
"private": false,
"auto_init": true
}
エラー処理
サーバーには、次のようなケースに対応する包括的なエラー処理が含まれています:
- 無効な GitHub トークン
- レート制限
- 検証エラー
- GitHub API エラー
- サーバーエラー
すべてのエラーはログに記録され、適切な HTTP ステータスコードとともに返されます。
セキュリティ機能
- トークンベースの認証
- レート制限への対策
- 入力検証
- 環境変数の安全な取り扱い
- CORS による保護
- Helmet セキュリティヘッダー
開発
自動再読み込みを有効にして開発モードでサーバーを実行するには:
npm run dev
テストを実行するには:
npm test
ログ記録
ログは次のファイルに保存されます:
error.log:エラーレベルのログcombined.log:すべてのログ
コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。