MCP Demo について
MCP Demoは、データベースを使ったデータ操作を試す開発者向けのPython製MCPサーバー例です。PostgreSQLで組織とデバイスを管理し、距離計算ツールも提供します。
主な機能
- 01PostgreSQLで組織とデバイスを管理
- 02組織とデバイスの取得
- 03組織ごとのデバイス絞り込み
- 04デバイスと組織間の距離計算
活用シーン
- 01データベース内の組織とデバイスの検索
- 02各デバイスの所属組織と距離の確認
MCP 対応
MCPサーバーとして、組織・デバイスの検索と距離計算を行うツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP デモ
このリポジトリには、Model Context Protocol(MCP)サーバーのデモ実装が含まれています。このサーバーは、組織とデバイスを管理し、デバイスと関連する組織との距離を計算し、データを操作するための一連のツールを提供するように設計されています。
機能
- データベース統合:PostgreSQL データベースに接続し、組織とデバイスを管理します。
- 距離の計算:ハーバーサインの公式を使用して、デバイスと関連する組織との距離を計算します。
- MCP ツール:組織やデバイスの取得、距離の計算を行うツールを提供します。
前提条件
- Python 3.12.5
- PostgreSQL データベース
セットアップ
-
リポジトリをクローンします:
git clone <repository-url> cd mcp-demo -
仮想環境をセットアップします:
uv venv source .venv/bin/activate -
.envファイルで環境変数を設定します:DB_NAME=mcp DB_USER=mcp_user DB_PASSWORD=pa$$word DB_HOST=localhost DB_PORT=5432 -
データベースをセットアップします:
psql -U <username> -d <database> -f tables.sql
使い方
-
MCP サーバーを実行します:
uv run main.py -
提供されているツールを使ってサーバーを操作します:
get_organizations:データベースからすべての組織を取得します。get_devices:データベースからすべてのデバイスを取得します。get_devices_by_organization:特定の組織のデバイスを取得します。list_devices_with_distance:デバイスと、関連する組織からの距離を一覧表示します。
プロジェクト構成
main.py:MCP サーバーのメインエントリーポイントです。tables.sql:データベーススキーマを設定し、シードデータを追加する SQL スクリプトです。.env:データベース設定用の環境変数です。pyproject.toml:プロジェクトのメタデータと依存関係です。
依存関係
httpx:Python 用の HTTP クライアントです。mcp[cli]:サーバー構築用の MCP フレームワークです。psycopg2:Python 用の PostgreSQL データベースアダプターです。
Claude Desktop の MCP サーバー設定
この MCP サーバープロジェクト用に Claude Desktop を設定するには、次の手順に従います:
-
公式サイトから Claude Desktop をマシンにインストールします。
-
Claude Desktop を開き、設定メニューに移動します。
-
MCP サーバーの新しいプロジェクト設定を追加します:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json -
MCP サーバーを追加します
{
"mcpServers": {
"devices": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-demo",
"run",
"main.py"
],
"env": {
"DB_NAME": "mcp",
"DB_USER": "mcp_user",
"DB_PASSWORD": "pa$$word",
"DB_HOST": "localhost",
"DB_PORT": "5432"
}
}
}
}
- 次のようなクエリを実行します:
List the devices in DB and show me how far are they from their organization address. Also, add get the mac addresses of the devices.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。