DBAPI MCP 機能詳細:あなたのデータ API を AI エージェントのツールへ
MCP とは?
MCP(Model Context Protocol、モデルコンテキストプロトコル)は、Anthropic によって提案されオープンソース化されたオープン標準プロトコルです。AI モデルと外部ツールやデータソースとの相互作用方法を定義しており、「AI の世界における USB-C 接口」のような役割を果たします。統一されたプロトコル規格により、MCP を実装したあらゆるサービスを各種 AI クライアントやフレームワークにシームレスに統合できます。
DBAPI エンタープライズ版 4.5.0 では、MCP Server 機能が正式に組み込まれており、DBAPI で公開済みの API をワンクリックで MCP ツールとしてマッピングし、AI クライアントが検出・呼び出しできるようにします。
MCP で解決できる課題
企業のデータ活用において、AI はデータベースへのアクセス、業務データの照会、社内サービスの呼び出しを行う必要があります。従来の方法では、各シナリオごとに個別にインターフェースを開発し、統合コードを記述する必要があり、効率が悪く、保守コストも高くなります。
DBAPI の MCP 機能は以下を実現します:
- ゼロコーディングによる統合:AI 統合コードを一切書く必要なく、DBAPI に既存の API が自動的に AI が利用可能なツールとして機能
- 一元管理:すべてのデータツールを DBAPI のバックエンドで一元管理。権限、リミット、監視機能が即座に利用可能
- オープンなエコシステム:Claude Desktop、Cursor、LangChain、Spring AI など、主流の AI クライアントやフレームワークに対応
- 企業向けセキュリティ:プライベート API はトークン認証により、アクセス権限を細かく制御可能
動作原理
AI クライアント / AI フレームワーク(Claude Desktop / Cursor / LangChain / Spring AI)
│ MCP プロトコル(Streamable HTTP)
▼
DBApi MCP Server(ポート 8526)
│ HTTP 呼び出し
▼
DBApi バックエンド(ポート 8520 / Gateway)
│
▼
データベース / Elasticsearch / 第三者インターフェースMCP Server は橋渡し役として、DBAPI バックエンドで公開された API を MCP ツールとして登録します。AI クライアントは標準の MCP プロトコルを通じてツールリストを検出し、呼び出しを行います。MCP Server はそのリクエストを DBAPI バックエンドへ転送し、最終的な結果を AI へ返します。
さっそく始めよう
前提条件
- DBAPI エンタープライズ版 4.5.0 以降
- DBAPI バックエンドが起動中(デフォルトアドレス
http://127.0.0.1:8520) - 少なくとも 1 つの API が作成され、公開済みであること
MCP Server の起動
# 1. 設定ファイルを編集
vim mcp/mcp-config.yaml
# 2. MCP サービスを起動
bash bin/dbapi-mcp.sh startAPI を MCP に公開する
MCP ツールとして公開されるのは、公開済みでかつMCP スイッチがオンになっている API だけです。
- DBAPI 管理バックエンドにログイン
- API 管理ページへ移動
- 対象の API を探し、操作バーの MCP スイッチ をクリック
- スイッチをオンにすると、次の更新周期で MCP Server が自動的に同期します。

MCP ツールの呼び出し
MCP エンドポイントアドレス:http://<MCP_SERVER_HOST>:8526/mcp
ツールリストの取得:
curl http://localhost:8526/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'ツールの呼び出し:
curl http://localhost:8526/mcp \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_BUSINESS_TOKEN" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"dbapi_xxxx","arguments":{"key":"value"}}}'AI クライアントへの接続
DBAPI の MCP Server は Streamable HTTP プロトコルを使用します。ほとんどのクライアント(Claude Desktop、Codex CLI、Cursor、LangChain、Spring AI)は URL に基づいて自動的に Streamable HTTP を使用しますが、OpenClaw では明示的に
transport: "streamable-http"を指定する必要があります。
Claude Desktop
設定ファイル(~/Library/Application Support/Claude/claude_desktop_config.json または %APPDATA%\Claude\claude_desktop_config.json)を編集します:
{
"mcpServers": {
"dbapi": {
"url": "http://localhost:8526/mcp"
}
}
}Codex CLI
OpenAI Codex CLI は MCP プロトコルの Streamable HTTP 通信方式をサポートしています。CLI コマンドで追加可能です:
codex mcp add dbapi --url http://localhost:8526/mcpまたは直接 ~/.codex/config.toml を編集します:
[mcp_servers.dbapi]
transport = { type = "streamable_http", url = "http://localhost:8526/mcp" }
enabled = trueプライベート API にトークンが必要な場合は、env_http_headers を使用して環境変数から読み取ります:
export DBAPI_TOKEN=your_token_here
codex mcp add dbapi --url http://localhost:8526/mcp[mcp_servers.dbapi]
transport = { type = "streamable_http", url = "http://localhost:8526/mcp" }
env_http_headers = { "Authorization" = "DBAPI_TOKEN" }
enabled = trueOpenClaw
AI エージェントプラットフォームである OpenClaw は MCP サーバーへの接続をサポートしています。openclaw mcp set コマンドで設定します:
openclaw mcp set dbapi '{"url":"http://localhost:8526/mcp","transport":"streamable-http"}'または設定ファイルに追加します:
{
"mcp": {
"servers": {
"dbapi": {
"url": "http://localhost:8526/mcp",
"transport": "streamable-http"
}
}
}
}プライベート API にトークンが必要な場合は、headers フィールドを追加します:
openclaw mcp set dbapi '{"url":"http://localhost:8526/mcp","transport":"streamable-http","headers":{"Authorization":"YOUR_TOKEN"}}'Cursor
.cursor/mcp.json を編集します:
{
"mcpServers": {
"dbapi": {
"url": "http://localhost:8526/mcp",
"headers": {
"Authorization": "YOUR_BUSINESS_TOKEN"
}
}
}
}LangChain
LangChain はネイティブな MCP クライアントを提供しており、MCPAdapt を使用して接続できます:
from langchain_mcp_adapters.client import MCPClient
async with MCPClient("http://localhost:8526/mcp") as client:
tools = await client.list_tools()
result = await client.call_tool("dbapi_xxxx", {"key": "value"})Spring AI
Spring AI は mcp-client-webmvc モジュールを通じて MCP をサポートしています:
McpClient client = McpClient.sync(new HttpMcpTransport("http://localhost:8526/mcp"));
List<Tool> tools = client.listTools();
client.callTool("dbapi_xxxx", Map.of("key", "value"));認証メカニズム
| API の種類 | 説明 | トークンが必要か |
|---|---|---|
| オープン API | 誰でもアクセス可能 | 不要 |
| プライベート API | 認可されたクライアントのみアクセス可能 | 必要、headers.Authorization に含める |
トークンの取得
# clientId と secret を取得(バックエンドのクライアント管理で作成)
curl "http://localhost:8520/token/generate?clientId=YOUR_CLIENT_ID&secret=YOUR_CLIENT_SECRET"返却されたトークンを MCP クライアントの headers.Authorization に設定してください。
トークンには有効期限があります。期限切れの場合は再取得が必要です。頻繁な更新を避けるため、クライアント管理で長めの有効期限を設定することをお勧めします。
企業向け活用例
シナリオ 1:自然言語による売上照会アシスタント
データベース照会 API を MCP ツールとして公開後、業務担当者は Claude Desktop 上で自然言語で次のように質問できます:
「先月の華東エリアの売上ランキング上位 10 商品は何ですか?」
AI が DBAPI の対応するデータ照会 API を自動的に呼び出し、結果を自然言語で返します。SQL を学ぶ必要もなく、業務システムにログインする必要もありません。
シナリオ 2:スマートレポート生成
複数のデータ照会を組み合わせて完全なレポート生成インターフェースを作成し、MCP ツールとして公開します。AI クライアントが呼び出すことで、構造化されたデータ分析レポートを自動生成できます。
シナリオ 3:データ異常検知エージェント
データ監視系の API を LangChain エージェントのツールとして登録します。エージェントは定期タスクに従って業務データを自動的に監視し、異常を検知すると DingTalk や Feishu のボットを通じてアラートを通知します。
シナリオ 4:企業知識ベースの強化
企業内部システムのデータ照会インターフェース(注文照会、顧客情報、在庫状況など)を MCP ツールとして公開し、自社開発の AI アシスタントに統合することで、AI にリアルタイムで企業データを照会する能力を付与します。
注意事項
- MCP Server はデフォルトでポート 8526 を監視していますが、
mcp-config.yamlで変更可能です。 - MCP ツールとして公開されるのは、公開済みでかつMCP スイッチがオンになっている API だけです。
- API を変更しても、MCP Server は URL やパラメータ定義などのメタデータを自動的に同期しますので、MCP Server の再起動は不要です。
- DBAPI には既に完全な API 認証体系(トークン認証、クライアント認可)と IP ファイアウォールルールが備わっています。MCP クライアントはこれらのセキュリティ機能をそのまま継承するため、アクセス制御の追加設定は不要です。
- プライベート API を使用する場合は、クライアントが該当 API の認可を取得していることを確認してください。
バージョン要件:DBAPI エンタープライズ版 4.5.0 以降が MCP 機能をサポートします。