Simple MCP Server について
Simple MCP Serverは、サーバー開発者向けのFastMCPの最小構成例です。stdioとHTTPに対応し、サンプルツールとHTTPのトークン認証を備えています。
主な機能
- 01stdioとHTTPのトランスポート
- 02HTTPトークン認証
- 03挨拶・バージョン・システム情報ツール
- 04拡張可能なサンプルサーバー
活用シーン
- 01MCPクライアント接続のテスト
- 02HTTPまたはstdio経由でのツール試用
- 03例を基にした独自ツールの追加
MCP 対応
挨拶、バージョン、システム情報のツールをMCPクライアントに公開します。クライアントはstdioまたはHTTPで接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
シンプルな MCP サーバー
FastMCP を使用した、Model Context Protocol(MCP)サーバーの最小限の実装です。この例では、Windsurf IDE や Claude などのクライアントが接続できるシンプルな MCP サーバーの作成方法を紹介します。
MCP とは?
Model Context Protocol(MCP)は、LLM と外部ツールやデータソースを接続する標準規格です。MCP サーバーは、専門的なツール、外部情報、サービスへのアクセスを提供し、AI の機能を拡張します。
機能
- HTTP と stdio の両方のトランスポートに対応
- HTTP トランスポート用のシンプルな認証ミドルウェア
- ツール実装の例
- Windsurf IDE や Claude などの MCP クライアントと互換性あり
前提条件
インストール
-
このリポジトリをクローンします:
git clone https://github.com/rjmoggach/simple-mcp-server.git cd simple-mcp-server -
依存関係をインストールします:
uv sync
使い方
サーバーは3つのモードで実行できます:
両方のトランスポートで実行(デフォルト)
python run_server.py
これにより、HTTP サーバーがポート9876で起動し、stdio サーバーも同時に起動します。
HTTP トランスポートのみ
python run_server.py --http-only
stdio トランスポートのみ
python run_server.py --stdio-only
利用可能なツール
サーバーでは、以下のツールの例を提供しています:
-
hello_world - シンプルな挨拶ツール
- パラメーター:
name(文字列、デフォルト:"World"):挨拶する相手の名前delay(整数、デフォルト:0):任意の遅延時間(秒)
- 戻り値:挨拶メッセージ
- パラメーター:
-
get_version - サーバーのバージョン情報を返します
- 戻り値:サーバー名や API バージョンなどのバージョン情報
-
system_info - 基本的なシステム情報を返します
- 戻り値:Python のバージョンとプラットフォームの詳細
AI システムへの接続
Windsurf IDE の設定
以下の設定を Windsurf IDE の設定に追加します:
"simple-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:9876/",
"--allow-http",
"--header",
"Authorization: Bearer SIMPLE_MCP_SERVER"
]
}
Claude Desktop の設定
以下を Claude Desktop の設定に追加します:
{
"mcpServers": {
"simple-mcp": {
"command": "uv",
"args": [
"run",
"--project", "/path/to/simple-mcp-server",
"python", "/path/to/simple-mcp-server/run_server.py",
"--stdio-only"
],
"cwd": "/path/to/simple-mcp-server"
}
}
}
/path/to/simple-mcp-server をプロジェクトの実際のパスに置き換えてください。
認証
HTTP トランスポートでは、サーバーはシンプルなトークンベースの認証を使用します:
- トークン:
SIMPLE_MCP_SERVER(run_server.pyで定義) - ヘッダー形式:
Authorization: Bearer SIMPLE_MCP_SERVER
サーバーの拡張
独自のツールを追加するには、run_server.py の create_mcp_server() 関数を変更します:
@mcp.tool()
async def your_custom_tool(param1: str, param2: int = 0) -> dict:
"""Your custom tool description."""
# Implementation here
return {"result": "Your output"}
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。