MCP Cli Github Integration
🚀 GitHub Integration Hub
Cristianによって構築され、OAuthオーケストレーション、安全なトークン保存、SDK/CLIツール、およびMCPサーバーをTypeScriptで実証するためのプロジェクトです。
🚀 クイックスタート
1. 依存関係のインストール
npm install
2. 環境の設定
.env.example を .env にコピーし、GitHub OAuthの認証情報を設定します。
PORT=3000
DATABASE_FILE=./github-integration-hub.db
GITHUB_CLIENT_ID=your-client-id
GITHUB_CLIENT_SECRET=your-client-secret
GITHUB_OAUTH_AUTHORIZE_URL=https://github.com/login/oauth/authorize
GITHUB_OAUTH_TOKEN_URL=https://github.com/login/oauth/access_token
GITHUB_API_BASE_URL=https://api.github.com
GITHUB_REDIRECT_URI=http://localhost:3000/auth/github/callback
GITHUB_INTEGRATION_HUB_BASE_URL=http://localhost:3000
GitHub OAuthアプリのリダイレクトURLが
GITHUB_REDIRECT_URIと一致していることを確認してください。
3. バックエンドの実行
ホットリロードを使用した開発モード:
npm run dev
本番環境のビルドと実行:
npm run build
npm start
サーバーは次のようにログを出力します: GitHub Integration Hub listening on port <port>.
✨ 主な機能
- (OAuth)
/auth/github/startと/auth/github/callbackでGitHubの認証フローをラップします。 - (Storage) SQLiteテーブルの自動作成、トークンのリフレッシュスキャフォールディング、およびリポジトリヘルパーを提供します。
- (Services) HTTPルート、CLI、SDK、およびMCPツールで共有されるオーケストレーションロジックを提供します。
- (Tooling) 型安全な
IntegrationHubClientSDKとgithub-integration-hubCLIを提供します。 - (Agents) MCPツール
github_start_auth、github_list_repos、およびgithub_create_issueを提供します。
📦 インストール
依存関係のインストール
npm install
環境の設定
.env.example を .env にコピーし、GitHub OAuthの認証情報を設定します。
PORT=3000
DATABASE_FILE=./github-integration-hub.db
GITHUB_CLIENT_ID=your-client-id
GITHUB_CLIENT_SECRET=your-client-secret
GITHUB_OAUTH_AUTHORIZE_URL=https://github.com/login/oauth/authorize
GITHUB_OAUTH_TOKEN_URL=https://github.com/login/oauth/access_token
GITHUB_API_BASE_URL=https://api.github.com
GITHUB_REDIRECT_URI=http://localhost:3000/auth/github/callback
GITHUB_INTEGRATION_HUB_BASE_URL=http://localhost:3000
GitHub OAuthアプリのリダイレクトURLが
GITHUB_REDIRECT_URIと一致していることを確認してください。
バックエンドの実行
ホットリロードを使用した開発モード:
npm run dev
本番環境のビルドと実行:
npm run build
npm start
💻 使用例
基本的な使用法
npm run build
npx github-integration-hub connections:list
npx github-integration-hub actions:list-repos --user alice
npx github-integration-hub actions:create-issue --user alice --owner my-org --repo api --title "Hello" --body "Proof from Cristian"
高度な使用法
import { IntegrationHubClient } from 'github-integration-hub/sdk';
const client = new IntegrationHubClient({ baseUrl: process.env.GITHUB_INTEGRATION_HUB_BASE_URL! });
async function showcase() {
const { authUrl } = await client.startGithubAuth('user-123');
console.log('Send someone to authorize:', authUrl);
const repos = await client.listGithubRepos('user-123');
console.log(repos.map((repo) => repo.full_name));
}
📚 ドキュメント
MCPサーバー (AIエージェント用)
一度コンパイルしてから、stdioサーバーを起動します。
npm run build
npm run start:mcp
利用可能なツール:
github_start_auth–userIdの認証URLを返します。github_list_repos– 保存された接続のリポジトリを一覧表示します。github_create_issue– 保存されたトークンを使用してイシューを作成します。
MCP対応のIDE/CLI(例: Codex)をこのstdioプロセスに向けると、ツールをすぐに呼び出すことができます。
HTTP APIリファレンス
| Method | Path | 説明 |
|---|---|---|
| POST | /auth/github/start |
userId の { authUrl } を返します。 |
| GET | /auth/github/callback |
code + state を交換し、トークンを保存します。 |
| GET | /connections |
接続を一覧表示します (?userId= はオプション)。 |
| POST | /actions/github/list-repos |
保存されたトークンを使用してリポジトリを一覧表示します。 |
| POST | /actions/github/create-issue |
イシューを作成します。 |
| GET | /health |
サービスのハートビートを確認します。 |
CLI (github-integration-hub)
npm run build
npx github-integration-hub connections:list
npx github-integration-hub actions:list-repos --user alice
npx github-integration-hub actions:create-issue --user alice --owner my-org --repo api --title "Hello" --body "Proof from Cristian"
フラグ:
--base-urlはGITHUB_INTEGRATION_HUB_BASE_URLを上書きします。connections:list --user <userId>はエントリをフィルタリングします。
手動OAuthテストプラン
POST /auth/github/startに{ "userId": "demo-user" }を送信します。- 返された
authUrlを訪問し、GitHubアプリを承認します。 - コールバックで接続が自動的に保存されます。
- HTTP、CLI、SDK、またはMCPツールを使用してアクションをトリガーします。
🔧 技術詳細
このプロジェクトは、Node.js LTS上でExpress、better-sqlite3、およびTypeScriptを使用して動作します。目的は、以下のことを実証することです。
- 状態管理とトークンの永続化を伴うOAuthフロー(GitHub)を設計すること。
- TypeScriptを使用してSQLite上に軽量なデータレイヤーを構築すること。
- HTTPルート、SDK、CLI、およびAIエージェント用のMCPサーバーを介して同じビジネスロジックを公開すること。
プロジェクト構造
.
|-- cli/ # CLIエントリポイント
|-- sdk/ # TypeScript SDK
|-- src/
| |-- config/ # 環境ヘルパー
| |-- db/ # SQLiteの初期化 + リポジトリ
| |-- mcp/ # MCPサーバー
| |-- providers/ # GitHub OAuth + APIクライアント
| |-- routes/ # Expressルーター
| `-- services/ # トークンマネージャー + アクション
|-- .env.example
|-- package.json
|-- tsconfig.json
`-- README.md
Cristianによって作成されました。 バックエンドの統合、OAuthの設計、またはMCPツールについて話したい場合は、ぜひ連絡してください。

Edgeone Pages MCP Server
EdgeOne Pages MCPは、MCPプロトコルを通じてHTMLコンテンツをEdgeOne Pagesに迅速にデプロイし、公開URLを取得するサービスです。
TypeScript
21.7K
4.8ポイント

Gmail MCP Server
Claude Desktop用に設計されたGmail自動認証MCPサーバーで、自然言語でのやり取りによるGmailの管理をサポートし、メール送信、ラベル管理、一括操作などの完全な機能を備えています。
TypeScript
16.0K
4.5ポイント

Context7
Context7 MCPは、AIプログラミングアシスタントにリアルタイムのバージョン固有のドキュメントとコード例を提供するサービスで、Model Context Protocolを通じてプロンプトに直接統合され、LLMが古い情報を使用する問題を解決します。
TypeScript
69.6K
4.7ポイント

Baidu Map
認証済み
百度マップMCPサーバーは国内初のMCPプロトコルに対応した地図サービスで、地理コーディング、ルート計画など10個の標準化されたAPIインターフェースを提供し、PythonとTypescriptでの迅速な接続をサポートし、エージェントに地図関連の機能を実現させます。
Python
32.8K
4.5ポイント

Gitlab MCP Server
認証済み
GitLab MCPサーバーは、Model Context Protocolに基づくプロジェクトで、GitLabアカウントとのやり取りに必要な包括的なツールセットを提供します。コードレビュー、マージリクエスト管理、CI/CD設定などの機能が含まれます。
TypeScript
18.0K
4.3ポイント

Unity
認証済み
UnityMCPはUnityエディターのプラグインで、モデルコンテキストプロトコル (MCP) を実装し、UnityとAIアシスタントのシームレスな統合を提供します。リアルタイムの状態監視、リモートコマンドの実行、ログ機能が含まれます。
C#
24.7K
5ポイント

Magic MCP
Magic Component Platform (MCP) はAI駆動のUIコンポーネント生成ツールで、自然言語での記述を通じて、開発者が迅速に現代的なUIコンポーネントを作成するのを支援し、複数のIDEとの統合をサポートします。
JavaScript
18.9K
5ポイント

Sequential Thinking MCP Server
MCPプロトコルに基づく構造化思考サーバーで、思考段階を定義することで複雑な問題を分解し要約を生成するのに役立ちます。
Python
28.9K
4.5ポイント
