mcp-server-18

mcp-server-18

3.2

If you are the rightful owner of mcp-server-18 and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

GitHub Integrated MCP Server is a Model Context Protocol server with GitHub API integration, offering automated CI/CD pipelines using Docker and GitHub Actions.

GitHub Integrated MCP Server

GitHub API連携機能を持つModel Context Protocol (MCP) サーバーです。DockerとGitHub Actionsによる自動化されたCI/CDパイプラインを提供します。

🚀 機能

ファイルシステム操作

  • ディレクトリ一覧表示
  • ファイル読み込み
  • ファイル情報取得
  • エコー機能

GitHub API連携

  • リポジトリ一覧・詳細取得
  • Issue管理(一覧・作成)
  • Pull Request管理
  • ファイル内容取得・更新
  • コード検索

インフラ機能

  • Docker コンテナ化
  • GitHub Actions CI/CD
  • Nginx リバースプロキシ
  • Redis キャッシュ対応
  • ヘルスチェック

📋 前提条件

  • Node.js 20+
  • Docker & Docker Compose
  • GitHub Personal Access Token

🛠️ セットアップ

1. 依存関係のインストール

npm install

2. 環境変数の設定

.envファイルを編集し、GitHub Personal Access Tokenを設定:

GITHUB_TOKEN=github_pat_11XXXXXXXXXXXXXXX
GITHUB_OWNER=your_username
GITHUB_DEFAULT_REPO=your_repo_name

3. TypeScriptのビルド

npm run build

🐳 Docker での実行

ローカル開発

# Dockerイメージをビルド
npm run docker:build

# コンテナを起動
npm run docker:run

# ログを確認
npm run docker:logs

# コンテナを停止
npm run docker:stop

🔧 Claude Desktop 設定

%APPDATA%\Claude\claude_desktop_config.json に以下を追加:

{
  "mcpServers": {
    "github-mcp": {
      "command": "node",
      "args": ["E:\\Documents\\work\\mcp-projects\\mcp-server\\dist\\index.js"],
      "env": {
        "GITHUB_TOKEN": "your_github_token_here"
      }
    }
  }
}

📚 利用可能なツール

ファイルシステム

  • echo - テキストをエコーバック
  • list_directory - ディレクトリの内容を一覧表示
  • read_file - ファイルの内容を読み取り
  • get_file_info - ファイル/ディレクトリの情報を取得

GitHub API

  • github_list_repos - リポジトリ一覧を取得
  • github_get_repo - 特定のリポジトリ情報を取得
  • github_list_issues - Issue一覧を取得
  • github_create_issue - 新しいIssueを作成
  • github_list_pull_requests - Pull Request一覧を取得
  • github_get_file_content - ファイル内容を取得
  • github_create_or_update_file - ファイルを作成/更新
  • github_search_code - コードを検索

🚀 開発

ローカル開発サーバー

npm run dev

コードビルド

npm run build

🔒 セキュリティ

  • GitHub Personal Access Token は適切なスコープで制限
  • Dockerfile は非rootユーザーで実行
  • 環境変数での機密情報管理

🔑 GitHub Personal Access Token の取得

  1. GitHub にログイン
  2. Settings → Developer settings → Personal access tokens → Tokens (classic)
  3. "Generate new token" をクリック
  4. 以下のスコープを選択:
    • repo (フルアクセス)
    • read:user
    • user:email
  5. トークンをコピーして .env ファイルに設定

🐛 トラブルシューティング

Docker ビルドエラー

# キャッシュをクリアして再ビルド
docker system prune -a
npm run docker:build

GitHub API エラー

  • Personal Access Token の有効期限を確認
  • 必要なスコープ権限があることを確認
  • API レート制限に引っかかっていないか確認

📝 ライセンス

ISC License