mcpField
M
MCP (Model Context Protocol) Server

MCP (Model Context Protocol) Server

ローカル
github.com/DrFloflo開発ツール073 週間前に更新

MCP (Model Context Protocol) Server について

GitHub、Azure、Google、PostgreSQL などのサービスを一つの窓口から扱う、開発者や AI クライアント向けの MCP サーバーです。ウェブページ取得、画像分析、Python 実行にも対応します。

主な機能

  1. 01GitHub リポジトリの閲覧と検索
  2. 02Azure Log Analytics のクエリ
  3. 03PostgreSQL データの読み取り
  4. 04Google・YouTube 検索と字幕取得
  5. 05画像分析と Azure OpenAI の利用
  6. 06ウェブページ取得と Python 実行

活用シーン

  1. 01リポジトリのファイル、ワークフロー、コミットの確認
  2. 02KQL クエリによる Azure ログの調査
  3. 03PostgreSQL 内のデータ検索
  4. 04動画検索と YouTube 字幕の取得

MCP 対応

MCP サーバーとして動作し、GitHub、Azure、Google、PostgreSQL などの連携ツールを MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP(Model Context Protocol)サーバー

図

GitHub、Azure Log Analytics、Google、Azure OpenAI、Azure Vision、PostgreSQL など、複数のサービスとやり取りするための統一インターフェースを提供する MCP サーバーです。現在、これらのサービスに対応しています。

🔧 機能

GitHub 連携
  • ファイル/フォルダーへのアクセス:GitHub リポジトリからファイルやディレクトリー一覧を取得します
  • ワークフローのモニタリング:最近のワークフロー実行とそのステータスを取得します
  • コード検索:リポジトリ全体からコードを検索します
  • リポジトリ構造:リポジトリの完全なファイル構造を取得します
  • コミット履歴:ファイルによる絞り込みに対応したコミット履歴を表示します
  • コミット差分:特定のコミットにおけるファイル単位の変更を確認します
Azure 連携
  • Log Analytics クエリ:Azure Log Analytics ワークスペースに対して Kusto Query Language(KQL)クエリを実行します
  • セキュア認証:安全な API アクセスのために OAuth2 クライアントクレデンシャルフローを使用します
ユーティリティ
  • タイムスタンプ生成:マイクロ秒精度の現在の UTC タイムスタンプを取得します
  • ウェブサイトのコンテンツ:ウェブサイトのコンテンツを Markdown 形式で取得します
データベース連携
  • データベースの読み取り:PostgreSQL サーバーからデータベースを読み取ります

⚠️ SELECT のみの権限を持つ DB ユーザーを使用してください

Google 連携
  • Google 検索:Google でクエリを検索します
  • YouTube 検索:YouTube でクエリを検索します
  • YouTube の文字起こし:YouTube 動画の文字起こしを取得します
Azure Vision 連携
  • 画像分析:画像の分析結果を取得します
LLM 連携
  • Azure OpenAI:Azure OpenAI から応答を取得します

📦 前提条件

  • Python 3.8+
  • Docker(任意)
  • トークンと認証情報:
    • GitHub PAT(repo スコープ)
    • Azure AD アプリ:クライアント ID、シークレット、テナント ID
    • Azure OpenAI キーとエンドポイント
    • Azure Vision キーとエンドポイント
    • PostgreSQL の認証情報

インストール

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

    git clone https://github.com/DrFloflo/MCP-github.git
    
  2. 依存関係をインストールします:

    pip install -r requirements.txt
    
  3. プロジェクトのルートに次の変数を記載した .env ファイルを作成します:

    # GitHub Configuration
    GITHUB_TOKEN=your_github_token
    
    # Azure Configuration
    AZURE_CLIENT_ID=your_client_id
    AZURE_CLIENT_SECRET=your_client_secret
    AZURE_TENANT_ID=your_tenant_id
    
    # Azure OpenAI Configuration
    AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint
    AZURE_OPENAI_KEY=your_azure_openai_key
    AZURE_OPENAI_API_VERSION=your_azure_openai_api_version
    
    # Azure Vision Configuration
    VISION_ENDPOINT=your_vision_endpoint
    VISION_KEY=your_vision_key
    
    # Database Configuration
    POSTGRES_HOST=your_postgres_host
    POSTGRES_PORT=your_postgres_port
    POSTGRES_DB=your_postgres_db
    POSTGRES_USER=your_postgres_user
    POSTGRES_PASSWORD=your_postgres_password
    
    

🔐 トークンの設定

GitHub
  1. GitHub Personal Access Tokens にアクセスします
  2. repo スコープを指定して新しいトークンを生成します
  3. これを .env ファイルに追加します:
Azure AD(Log Analytics)
  1. Azure Active Directory で新しいアプリを登録します
  2. 次の情報をコピーします:
    • テナント ID(ディレクトリー ID)
    • クライアント ID(アプリケーション ID)
    • 新しいクライアントシークレットを作成してコピーします(Certificates & secrets 内)
  3. .env に追加します:
    AZURE_TENANT_ID=your_tenant_id
    AZURE_CLIENT_ID=your_client_id
    AZURE_CLIENT_SECRET=your_client_secret
    
Log Analytics ワークスペース
  1. Azure で Log Analytics ワークスペースにアクセスします
  2. Workspace ID をコピーします
  3. Azure AD アプリケーションにアクセス権があることを確認します:
    • Azure AD でアプリにアクセスします
    • API Permissions に移動します
    • Add a permission をクリックします
    • Microsoft Graph > Delegated permissions を選択します
    • User.Read を選択して確定します
Azure OpenAI
  1. Azure OpenAI リソース(または Foundry)にアクセスします
  2. エンドポイントとキーをコピーします
  3. これを .env に追加します:
    AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint
    AZURE_OPENAI_KEY=your_azure_openai_key
    AZURE_OPENAI_API_VERSION=your_azure_openai_api_version
    
Azure Vision
  1. Azure Vision リソース(または Vision)にアクセスします
  2. エンドポイントとキーをコピーします
  3. これを .env に追加します:
    VISION_ENDPOINT=your_vision_endpoint
    VISION_KEY=your_vision_key
    
PostgreSQL
  1. PostgreSQL サーバーにアクセスします
  2. ホスト、ポート、データベース、ユーザー、パスワードをコピーします
  3. これを .env に追加します:
    POSTGRES_HOST=your_postgres_host
    POSTGRES_PORT=your_postgres_port
    POSTGRES_DB=your_postgres_db
    POSTGRES_USER=your_postgres_user
    POSTGRES_PASSWORD=your_postgres_password
    

使用方法

サーバーの実行
python server.py

サーバーはデフォルトで http://0.0.0.0:6277 で起動します。

Docker

Docker イメージをビルドします:

docker build -t mcp-server .

コンテナーを実行します:

docker run -p 6277:6277 --env-file .env mcp-server

🧰 利用可能な API ツール

GitHub ツール
  • get_github_file_folder:ファイルの内容を取得するか、ディレクトリーを一覧表示します
  • get_workflow_runs:最近のワークフロー実行を取得します
  • search_codebase:リポジトリ全体からコードを検索します
  • get_file_structure:リポジトリの完全な構造を取得します
  • get_commit_history:コミット履歴を表示します
  • get_commit_diff:コミット内のファイル単位の変更を表示します
Azure ツール
  • run_log_analytics_query:Azure Log Analytics に対して KQL クエリを実行します
PostgreSQL ツール
  • read_db:PostgreSQL からデータをクエリします

⚠️ 読み取り専用(SELECT)アクセス権を持つデータベースユーザーを使用してください

Google ツール
  • search_google:任意のクエリで Google を検索します
  • search_youtube:YouTube の動画を検索します
  • get_youtube_transcript:YouTube 動画の文字起こしを取得します
Azure Vision ツール
  • get_image_analysis:Azure Vision を使用して画像の内容を分析します
Azure OpenAI ツール
  • get_azure_openai_response:Azure OpenAI(LLM)を使用して応答を生成します
ユーティリティツール
  • get_current_utc_timestamp:現在の UTC タイムスタンプを取得します
  • get_website_content:ウェブサイトの HTML を取得し、Markdown に変換します
コードツール
  • execute_python_code:Python コードスニペットを安全に実行します

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。