Skip to main content
Glama
sanjay-vasoya

github-portfolio

🏗️ GitHub Portfolio MCP Server

大規模言語モデル(Claudeなど)をGitHub APIに接続するModel Context Protocol (MCP) サーバーです。

このプロジェクトは、LLMのコンテキストウィンドウと外部データソースとの間に安全で標準化されたブリッジを構築することで、AIインフラストラクチャへの理解を示すものです。MCP標準を使用することで、LLMはカスタムの使い捨てAPI統合を必要とせずに、ライブデータを動的に要求できるようになります。

🧠 アーキテクチャの概要

この統合は、stdio を介した標準的なMCP JSON-RPCアーキテクチャを利用しています:

  1. LLM / クライアント (例: Claude Code): 頭脳および仲介役として機能します。ツールスキーマを読み取り、いつ外部データを取得するかを決定します。

  2. MCPサーバー (本リポジトリ): mcp SDKを使用した軽量なPythonアプリケーションです。特定のツールを安全に公開し、JSON-RPC通信を処理します。

  3. 外部API (GitHub): データソースです。サーバーは標準的なHTTPリクエストを実行してライブデータを取得します。

Related MCP server: GitBridge

🛠️ 利用可能なツール

  • fetch_public_repos: GitHubの username を文字列として受け取り、LLMのコンテキストウィンドウに最適化された公開リポジトリのクリーンな抽出リスト(名前、URL、説明を含む)を返します。

🚀 クイックスタート

前提条件

  • Python 3.x がインストールされていること

  • Claude Code (またはその他のMCP互換クライアント)

インストール

  1. このリポジトリをクローンします:

    git clone <your-repo-url>
    cd <your-repo-folder>```
  2. 必要な依存関係をインストールします: pip install -r requirements.txt

Claude Codeでの実行

このサーバーをClaude Codeに簡単に登録して、LLMが動的に使用できるようにすることができます。プロジェクトディレクトリのターミナルで次のコマンドを実行してください:

claude mcp add github-portfolio python3 server.py

追加が完了したら、Claude Codeに次のようなプロンプトを投げることができます:

"github-portfolioツールを使用して、user1の公開リポジトリを取得してください。"

Claudeは自動的にJSON-RPCリクエストをフォーマットし、ローカルのPythonサーバーを起動してAPI呼び出しを実行し、レスポンスを整形します。

ローカルでのテスト

Claude Codeなしでサーバーをテストしたい場合は、カスタムPythonクライアントが含まれています。以下を実行してください:

python3 client.py

これによりバックグラウンドプロセスが起動し、標準入出力を介して接続し、ハードコードされたテストリクエストを取得します。

Related MCP Connectors

Related MCP Servers