MCP Server: Demo について
MCP Server: Demoは、データベース情報を照会するMCPサーバーの構築例です。Cloudflare MCPAgent、Durable Objects、D1を試す開発者を対象としています。
主な機能
- 01D1データベースの照会
- 02SQLクエリツール
- 03データベーススキーマの調査
- 04Durable Objectsによるサーバー実装
- 05SQLマイグレーションと初期データ
- 06インテグレーションテスト
活用シーン
- 01データベース連携MCPサーバーの検証
- 02クエリ前のデータベース構造の確認
- 03クエリツールの別データベースへの適用
MCP 対応
MCPサーバーは、SQLクエリツールとスキーマ調査ツールをMCPクライアントに公開します。Cloudflare MCPAgentとDurable Objectsを使用し、トランスポートにはSSEを採用しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP サーバー:デモ
概要
このリポジトリは、実際のデータベース情報にアクセスしてクエリを実行できる MCP(Model Context Protocol)サーバーの構築例を示します。Cloudflare の MCPAgent を活用する @modelcontextprotocol/sdk ライブラリを使用して、ツールの実装、リソースの管理、D1 データベースとの連携を行います。
機能
データベース
このプロジェクトは、データを取得するために D1 データベース(mcp-agent-d1-data)と連携していますが、ツールに少し調整を加えれば、ほかのデータベースでも利用できます。また、次の便利な機能も含まれています。
- スキーマ管理:
db/ディレクトリ内の SQL マイグレーションファイル(up.sql、down.sql、seed.sql)で、データベースのスキーマと初期データを管理します。
MCP サーバー(MyMCP)
MyMCP クラスは、@modelcontextprotocol/sdk ライブラリの McpAgent クラスを拡張しています。サーバーの中核となる実装として、基盤となるトランスポートにサーバー送信イベント(SSE)を提供します。
- Durable Object:サーバーは Durable Object として実装されており、ステートフルなやり取りや長時間の処理が可能です。また、アイドル時には組み込みのハイバネーション機能が動作します。
クエリツール
query ツールは、LLM がデータベースに SQL クエリを送信できるインターフェースを提供し、データベースとのやり取りを行います。本番環境で使用する際は注意し、適切な認可対策を講じてください。
イントロスペクションツール
schema-introspection ツールは、LLM がデータベースの構造を理解し、より正確なクエリ設計を行うために役立ちます。
統合テスト
すぐに利用を開始できる統合テストが tests/ ディレクトリに含まれています。MCP サーバーとそのツールの機能を検証したり、TDD に活用したりできます。
npm run test
プロジェクト構成
📦 d1-mcp
├── package.json
├── README.md
├── tsconfig.json
├── vitest.config.js
├── worker-configuration.d.ts
├── wrangler.jsonc
├── db
│ ├── down.sql
│ ├── seed.sql
│ └── up.sql
├── public
│ └── index.html
├── src
│ ├── index.ts
│ ├── metadata.ts
│ ├── tools.ts
│ └── utils.ts
└── tests
├── index.test.ts
└── tsconfig.json
はじめに
前提条件
- Node.js
- Cloudflare Workers CLI(
wrangler)
インストール
- リポジトリをクローンします。
- 依存関係をインストールします。
npm install
開発
- 開発サーバーを起動します。
npm run dev
デプロイ
- Cloudflare Workers にデプロイします。
npm run deploy
ライセンス
このプロジェクトは MIT License の下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。