BasicMcpServer: MCP Server Implementation Resources について
BasicMcpServerは、MCPサーバーの学習や構築に使えるリファレンスリポジトリで、基本実装をカスタマイズする開発者向けです。Dockerでのデプロイとエンドツーエンドテストの例に加え、Jira連携サーバーのプロジェクトを生成するスクリプトも含みます。
主な機能
- 01基本的なMCPサーバーテンプレート
- 02Dockerマルチステージビルド例
- 03エンドツーエンドテスト例
- 04Jiraサーバー生成スクリプト
- 05実装ガイド
活用シーン
- 01基本実装から独自のMCPサーバーを作成
- 02コンテナ化とテスト手法の学習
- 03Jira連携サーバープロジェクトの生成
MCP 対応
公式Python SDKを使った基本的なMCPサーバーの例を提供し、ツールを含みます。ツールとリソースの定義方法も示しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
BasicMcpServer:MCP サーバー実装リソース
このリポジトリには、主に次の3つの目的があります。
- シンプルな MCP サーバーの例:自分のニーズに合わせてクローンし、変更できる基本的なリファレンス実装です
- Docker コンテナ化のデモ:エンドツーエンドテストを含め、Docker で MCP サーバーをセットアップする方法を紹介します
- セットアップの自動化:Jira 連携など、より複雑な MCP サーバーを生成するスクリプトを提供します
MCP の参考資料
この実装の参考にした主なリソースです。
- MCP のドキュメント - Model Context Protocol の公式ドキュメントと概要
- Python SDK リポジトリ - MCP の公式 Python SDK
- MCP HTTP クライアントの例 - このリポジトリのテストコードの開発に役立ったリファレンス実装
内容
- ベースとなる MCP サーバー:基本的なツールを備えたシンプルなリファレンス実装
- Docker 設定:マルチステージビルドによるコンテナ化のセットアップ
- エンドツーエンドテスト:適切な MCP サーバーのテスト方法のデモ
setup_jira_mcp_server.sh:Jira と連携する MCP サーバーを生成するスクリプト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 サーバーのプロジェクト構成を作成するには、次の手順を実行します。
-
セットアップスクリプトに実行権限を付与します(すでに設定済みです)。
chmod +x setup_jira_mcp_server.sh -
スクリプトを実行します。
./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 -
スクリプトの実行後に表示される手順に従います。
- 新しく作成されたプロジェクトディレクトリに移動します
.envファイルで Jira の認証情報を設定します- Docker コンテナをビルドして実行します
スクリプトは次の処理を自動的に実行します。
- 必要なファイルをすべて含む完全なプロジェクト構成を作成します
- (
--no-gitが指定されていない場合)Git リポジトリを初期化します - (GitHub CLI がインストールされ、認証済みの場合)GitHub リポジトリを作成し、コードをプッシュします
- 必要なすべてのスクリプトに実行権限を付与します
これにより、Jira と連携する、より複雑な MCP サーバーの例が作成されます。このサーバーを使うと、AI アシスタントが MCP プロトコルを通じて Jira インスタンスを操作できます。
オプション 4:MCP サーバーの実装について理解する
MCP サーバーの仕組みや実装方法について詳しく学びたい場合は、次の手順を実行します。
mcp_server_implementation_guide.mdの包括的なガイドを読みます- このガイドでは、次の内容を扱います。
- プロジェクトの構成とセットアップ
- FastMCP を使った MCP サーバーの実装
- Docker によるコンテナ化
- テスト戦略
- デプロイオプション
- ベストプラクティス
他のサービス向けにカスタマイズする
Jira MCP サーバーは、他のサービス向けの MCP サーバーを作成する際のテンプレートとして使用できます。
- セットアップスクリプトを使って Jira MCP サーバーのプロジェクトを生成します
- 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 のもとで提供されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。