mcpField
B
BasicMcpServer: MCP Server Implementation Resources

BasicMcpServer: MCP Server Implementation Resources

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

BasicMcpServer: MCP Server Implementation Resources について

BasicMcpServerは、MCPサーバーの学習や構築に使えるリファレンスリポジトリで、基本実装をカスタマイズする開発者向けです。Dockerでのデプロイとエンドツーエンドテストの例に加え、Jira連携サーバーのプロジェクトを生成するスクリプトも含みます。

主な機能

  1. 01基本的なMCPサーバーテンプレート
  2. 02Dockerマルチステージビルド例
  3. 03エンドツーエンドテスト例
  4. 04Jiraサーバー生成スクリプト
  5. 05実装ガイド

活用シーン

  1. 01基本実装から独自のMCPサーバーを作成
  2. 02コンテナ化とテスト手法の学習
  3. 03Jira連携サーバープロジェクトの生成

MCP 対応

公式Python SDKを使った基本的なMCPサーバーの例を提供し、ツールを含みます。ツールとリソースの定義方法も示しています。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

BasicMcpServer:MCP サーバー実装リソース

このリポジトリには、主に次の3つの目的があります。

  1. シンプルな MCP サーバーの例:自分のニーズに合わせてクローンし、変更できる基本的なリファレンス実装です
  2. Docker コンテナ化のデモ:エンドツーエンドテストを含め、Docker で MCP サーバーをセットアップする方法を紹介します
  3. セットアップの自動化:Jira 連携など、より複雑な MCP サーバーを生成するスクリプトを提供します

MCP の参考資料

この実装の参考にした主なリソースです。

内容

  1. ベースとなる MCP サーバー:基本的なツールを備えたシンプルなリファレンス実装
  2. Docker 設定:マルチステージビルドによるコンテナ化のセットアップ
  3. エンドツーエンドテスト:適切な MCP サーバーのテスト方法のデモ
  4. setup_jira_mcp_server.sh:Jira と連携する MCP サーバーを生成するスクリプト
  5. mcp_server_implementation_guide.md:MCP サーバー実装の包括的なガイド

はじめに

オプション 1:基本的な MCP サーバーをテンプレートとして使う

最も簡単な方法は、このリポジトリをクローンして、ニーズに合わせて変更することです。

# Clone the repository
git clone https://github.com/yourusername/BasicMcpServer.git my-mcp-server
cd my-mcp-server

# Modify src/server.py to implement your custom tools and resources
# Update config.py with your required environment variables
# Run with Docker or directly with Python
オプション 2:Docker ベースの MCP サーバー実装を学ぶ

Docker 設定とエンドツーエンドテストを確認し、以下について理解します。

  • 効率的なイメージを作成するためのマルチステージ Docker ビルド
  • コンテナ設定のベストプラクティス
  • MCP サーバーのテストパターン
オプション 3:Jira MCP サーバーを生成する

完全な Jira MCP サーバーのプロジェクト構成を作成するには、次の手順を実行します。

  1. セットアップスクリプトに実行権限を付与します(すでに設定済みです)。

    chmod +x setup_jira_mcp_server.sh
    
  2. スクリプトを実行します。

    ./setup_jira_mcp_server.sh
    

    コマンドラインオプション:

    Usage: ./setup_jira_mcp_server.sh [OPTIONS]
    
    Options:
      -n, --name NAME     Specify project name (default: jira-mcp-server)
      --no-git            Skip Git repository initialization
      --no-github         Skip GitHub repository creation
      -h, --help          Show help message
    
  3. スクリプトの実行後に表示される手順に従います。

    • 新しく作成されたプロジェクトディレクトリに移動します
    • .env ファイルで Jira の認証情報を設定します
    • Docker コンテナをビルドして実行します

スクリプトは次の処理を自動的に実行します。

  • 必要なファイルをすべて含む完全なプロジェクト構成を作成します
  • (--no-git が指定されていない場合)Git リポジトリを初期化します
  • (GitHub CLI がインストールされ、認証済みの場合)GitHub リポジトリを作成し、コードをプッシュします
  • 必要なすべてのスクリプトに実行権限を付与します

これにより、Jira と連携する、より複雑な MCP サーバーの例が作成されます。このサーバーを使うと、AI アシスタントが MCP プロトコルを通じて Jira インスタンスを操作できます。

オプション 4:MCP サーバーの実装について理解する

MCP サーバーの仕組みや実装方法について詳しく学びたい場合は、次の手順を実行します。

  1. mcp_server_implementation_guide.md の包括的なガイドを読みます
  2. このガイドでは、次の内容を扱います。
    • プロジェクトの構成とセットアップ
    • FastMCP を使った MCP サーバーの実装
    • Docker によるコンテナ化
    • テスト戦略
    • デプロイオプション
    • ベストプラクティス

他のサービス向けにカスタマイズする

Jira MCP サーバーは、他のサービス向けの MCP サーバーを作成する際のテンプレートとして使用できます。

  1. セットアップスクリプトを使って Jira MCP サーバーのプロジェクトを生成します
  2. Jira 固有のコードを、対象サービス向けのコードに置き換えます。
    • src/services/ を変更して、対象サービスとの連携を実装します
    • src/server.py を更新して、対象サービスのツールとリソースを定義します
    • src/config.py を更新して、必要な設定変数を追加します
    • .env.example を適切な環境変数で更新します

MCP とは?

Model Context Protocol (MCP) は、AI アシスタントと外部サービス間の通信標準です。AI アシスタントが以下のことを行えるようにします。

  • アクションを実行するツールを発見して呼び出す
  • 情報を提供するリソースにアクセスする
  • 標準化されたインターフェースを通じて外部システムとやり取りする

MCP サーバーを実装すると、AI アシスタントがサービスやデータにアクセスできるようになり、その機能を拡張できます。このリポジトリでは公式 Python SDKを使用し、MCP サーバー実装のベストプラクティスに従っています。

前提条件

  • Python 3.11 以降
  • Docker(コンテナ化されたデプロイ用)
  • サービス固有の API 認証情報

ライセンス

このプロジェクトは MIT License のもとで提供されています。

コメント

MCP は初めてですか?

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

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