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 の取得
- GitHub にログイン
- Settings → Developer settings → Personal access tokens → Tokens (classic)
- "Generate new token" をクリック
- 以下のスコープを選択:
repo
(フルアクセス)read:user
user:email
- トークンをコピーして
.env
ファイルに設定
🐛 トラブルシューティング
Docker ビルドエラー
# キャッシュをクリアして再ビルド
docker system prune -a
npm run docker:build
GitHub API エラー
- Personal Access Token の有効期限を確認
- 必要なスコープ権限があることを確認
- API レート制限に引っかかっていないか確認
📝 ライセンス
ISC License