FastMCP - Model Context Protocol Server について
モデルコンテキストの管理と、それを指定したクエリ実行に対応する Python 製 MCP サーバーです。コンテキストの CRUD や絞り込み、任意の Datadog メトリクスを必要とする MCP クライアント向けです。
主な機能
- 01コンテキストの作成・取得・更新・削除
- 02指定したコンテキストでのクエリ実行
- 03モデル名とタグによる絞り込み
- 04インメモリでのコンテキスト保存
- 05Datadog のメトリクスと監視
活用シーン
- 01モデルコンテキストの記録管理
- 02選択したコンテキストを使ったクエリ実行
- 03Datadog でのコンテキストとクエリ活動の監視
MCP 対応
コンテキスト管理、クエリ、ヘルスチェック、Datadog 設定のツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
FastMCP - Model Context Protocol サーバー
MCP サーバーとクライアントを構築するための高速で Python らしいフレームワークである FastMCP を使用して実装された、軽量な Model Context Protocol(MCP)サーバーです。
特長
- モデルコンテキストの作成、取得、更新、削除
- 特定のコンテキストに対するクエリの実行
- モデル名とタグによるフィルタリング
- インメモリストレージ(開発用)
- MCP サーバーを簡単に開発できる FastMCP 連携
- メトリクスとモニタリングのための Datadog 連携
要件
- Python 3.7+
- FastMCP
- uv(環境管理に推奨)
- Datadog アカウント(任意、メトリクス用)
インストール
uv を使用する場合(推奨)
付属のスクリプトを使用するのが最も簡単なインストール方法です。
Unix/Linux/macOS
# Clone the repository
git clone https://github.com/yourusername/datadog-mcp-server.git
cd datadog-mcp-server
# Make the install script executable
chmod +x install.sh
# Run the installer
./install.sh
Windows
# Clone the repository
git clone https://github.com/yourusername/datadog-mcp-server.git
cd datadog-mcp-server
# Run the installer
.\install.ps1
手動インストール
# Clone the repository
git clone https://github.com/yourusername/datadog-mcp-server.git
cd datadog-mcp-server
# Create and activate a virtual environment with uv
uv venv
# On Unix/Linux/macOS:
source .venv/bin/activate
# On Windows:
.\.venv\Scripts\activate
# Install dependencies
uv pip install -r requirements.txt
Datadog の設定
このサーバーは、メトリクスとモニタリングのために Datadog と連携します。Datadog API の認証情報は、いくつかの方法で設定できます。
1. 環境変数
サーバーを起動する前に、次の環境変数を設定します。
# Unix/Linux/macOS
export DATADOG_API_KEY=your_api_key
export DATADOG_APP_KEY=your_app_key # Optional
export DATADOG_SITE=datadoghq.com # Optional, default: datadoghq.com
# Windows PowerShell
$env:DATADOG_API_KEY = 'your_api_key'
$env:DATADOG_APP_KEY = 'your_app_key' # Optional
$env:DATADOG_SITE = 'datadoghq.com' # Optional
2. .env ファイル
プロジェクトディレクトリに .env ファイルを作成します。
DATADOG_API_KEY=your_api_key
DATADOG_APP_KEY=your_app_key
DATADOG_SITE=datadoghq.com
3. FastMCP CLI によるインストール
Claude Desktop のツールとしてインストールする場合は、環境変数を渡すことができます。
fastmcp install mcp_server.py --name "Model Context Server" -v DATADOG_API_KEY=your_api_key
4. 実行時の設定
実行時に configure_datadog ツールを使用します。
result = await client.call_tool("configure_datadog", {
"api_key": "your_api_key",
"app_key": "your_app_key", # Optional
"site": "datadoghq.com" # Optional
})
使用方法
サーバーの起動
# Start directly from activated environment
python mcp_server.py
# Or use uv run (no activation needed)
uv run python mcp_server.py
# Use FastMCP CLI for development (if in activated environment)
fastmcp dev mcp_server.py
# Use FastMCP CLI with uv (no activation needed)
uv run -m fastmcp dev mcp_server.py
Claude Desktop のツールとしてインストール
# From activated environment
fastmcp install mcp_server.py --name "Model Context Server"
# Using uv directly
uv run python -m fastmcp install mcp_server.py --name "Model Context Server"
# With Datadog API key
fastmcp install mcp_server.py --name "Model Context Server" -v DATADOG_API_KEY=your_api_key
ツールの使用
サーバーは次のツールを提供します。
create_context- 新しいコンテキストを作成しますget_context- 特定のコンテキストを取得しますupdate_context- 既存のコンテキストを更新しますdelete_context- コンテキストを削除しますlist_contexts- すべてのコンテキストを一覧表示します(フィルタリングは任意)query_model- 特定のコンテキストに対してクエリを実行しますhealth_check- サーバーのヘルスチェックを行いますconfigure_datadog- 実行時に Datadog 連携を設定します
リクエストの例
コンテキストの作成
result = await client.call_tool("create_context", {
"context_id": "model-123",
"model_name": "gpt-3.5",
"data": {
"parameters": {
"temperature": 0.7
}
},
"tags": ["production", "nlp"]
})
クエリの実行
result = await client.call_tool("query_model", {
"context_id": "model-123",
"query_data": {
"prompt": "Hello, world!"
}
})
Datadog の設定
result = await client.call_tool("configure_datadog", {
"api_key": "your_datadog_api_key",
"app_key": "your_datadog_app_key", # Optional
"site": "datadoghq.com" # Optional
})
Datadog メトリクス
サーバーは次のメトリクスを Datadog に報告します。
mcp.contexts.created- コンテキスト作成イベントmcp.contexts.updated- コンテキスト更新イベントmcp.contexts.deleted- コンテキスト削除イベントmcp.contexts.accessed- コンテキストアクセスイベントmcp.contexts.total- コンテキストの合計数mcp.contexts.listed- コンテキスト一覧表示操作のイベントmcp.queries.executed- クエリ実行イベントmcp.server.startup- サーバー起動イベントmcp.server.shutdown- サーバー終了イベント
開発
クライアントの実装例については、付属の mcp_example.py を参照してください。
# Run the example client (with activated environment)
python mcp_example.py
# Run with uv (no activation needed)
uv run python mcp_example.py
ライセンス
MIT
リソース
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。