DBAPI MCP 功能详解基于 MCP 协议将数据 API 接入 AI 智能体概述MCPModel Context Protocol模型上下文协议是由 Anthropic 提出并开源的开放标准协议用于规范 AI 模型与外部工具、数据源之间的交互方式。该协议被业界类比为AI 领域的 USB-C 接口——任何实现 MCP 规范的客户端与服务端均可通过统一协议完成集成。DBAPI 企业版 4.5.0 起内置MCP Server能力可将 DBAPI 中已发布的 API 映射为 MCP 工具供 AI 客户端发现与调用。核心价值在企业数据应用场景中AI 模型需访问数据库、查询业务数据并调用内部服务。传统模式下每个业务场景均需独立开发接口与集成代码开发与维护成本较高。DBAPI 的 MCP 功能提供以下能力零代码集成DBAPI 中已发布的 API 可直接作为 AI 可调用的工具无需编写额外的 AI 集成代码统一管控所有数据工具在 DBAPI 后台统一管理权限、限流与监控能力开箱即用开放生态兼容 Claude Desktop、Cursor、LangChain、Spring AI 等主流 AI 客户端与开发框架企业级安全私有 API 通过 Token 认证访问权限可精细控制工作原理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至少有一个已发布的 API启动 MCP Server# 1. 编辑配置文件vimmcp/mcp-config.yaml# 2. 启动 MCP 服务bashbin/dbapi-mcp.sh start发布 API 至 MCP仅已发布且开启 MCP 开关的 API 才会暴露为 MCP 工具。登录 DBAPI 管理后台进入 API 管理页面定位目标 API点击操作栏中的MCP 开关开启后MCP Server 将在下一个刷新周期自动同步该 API调用 MCP 工具MCP 端点地址http://MCP_SERVER_HOST:8526/mcp# 1. 调用 initialize 获取 Session ID位于响应头 Mcp-Session-Id 中curl-vhttp://127.0.0.1:8526/mcp\-HContent-Type: application/json\-d{jsonrpc:2.0,id:1,method:initialize,params:{protocolVersion:2025-03-26,capabilities:{},clientInfo:{name:test,version:1.0}}}# 2. 携带 Session ID 调用 tools/list请替换为实际 Session IDcurlhttp://127.0.0.1:8526/mcp\-HContent-Type: application/json\-HMcp-Session-Id: mcp-session-xxxxx\-d{jsonrpc:2.0,id:2,method:tools/list}# 3. 调用指定工具私有 API 需同时携带 Tokencurlhttp://127.0.0.1:8526/mcp\-HContent-Type: application/json\-HMcp-Session-Id: mcp-session-xxxxx\-HAuthorization: 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 Code执行以下命令注册 MCP Serverclaude mcpadd--transporthttp dbapi_mcp http://127.0.0.1:8526/mcp--headerAuthorization: YOUR_TOKEN执行以下命令验证连接状态claude mcp list输出如下结果表示连接成功dbapi_mcp: http://127.0.0.1:8526/mcp(HTTP)- ✓ Connectedopencode在opencode.json中添加以下配置{$schema:https://opencode.ai/config.json,mcp:{dbapi:{type:remote,url:http://127.0.0.1:8526/mcp,enabled:true,headers:{Authorization:YOUR TOKEN}}}}OpenClaw在openclaw.json中添加以下配置{mcp:{servers:{dbapi:{url:http://127.0.0.1:8526/mcp,transport:streamable-http,headers:{Authorization:YOUR TOKEN}}}}}Cursor编辑.cursor/mcp.json{mcpServers:{dbapi:{url:http://127.0.0.1:8526/mcp,transport:streamable_http,headers:{Authorization:YOUR_BUSINESS_TOKEN}}}}Cherry StudioChatboxLangChainLangChain 提供原生 MCP 客户端支持。以下示例展示最小化调用方式fromlangchain_mcp_adapters.clientimportMultiServerMCPClient clientMultiServerMCPClient({dbapi:{transport:http,# Streamable HTTP 传输方式url:http://127.0.0.1:8526/mcp,# MCP 服务地址headers:{# 鉴权令牌JWTAuthorization:YOUR TOKEN,},}})以下为结合 LLM 的完整调用示例importasynciofromlangchain_mcp_adapters.clientimportMultiServerMCPClientfromlangchain_openaiimportChatOpenAIfromlanggraph.prebuiltimportcreate_react_agentasyncdefmain():# 初始化 MCP 客户端配置 MCP 服务连接信息使用 HTTP 传输协议clientMultiServerMCPClient({dbapi:{transport:http,# Streamable HTTP 传输方式url:http://127.0.0.1:8526/mcp,# MCP 服务地址headers:{# 鉴权令牌JWTAuthorization:YOUR TOKEN,},}})# 异步获取 MCP 服务端暴露的所有工具列表toolsawaitclient.get_tools()# 初始化 DeepSeek 大模型OpenAI 兼容接口modelChatOpenAI(modeldeepseek-v4-flash,# 使用的模型名称api_keysk-xxx,# DeepSeek API Keybase_urlhttps://api.deepseek.com,# DeepSeek API 地址temperature0,# 温度设为 0输出更稳定)# 创建 ReAct 风格的 Agent将 LLM 与 MCP 工具绑定# Agent 可自主决定何时调用哪个工具agentcreate_react_agent(model,tools)# 接收用户输入调用 Agent 异步执行resultawaitagent.ainvoke({messages:[{role:user,content:input(请输入您的问题: )}]})# 输出 Agent 最终回复消息列表中最后一条print(result[messages][-1].content)# 启动异步事件循环运行 main 函数asyncio.run(main())认证机制API 类型说明是否需要 Token开放 API任何客户端均可访问否私有 API仅经授权的客户端可访问是需在请求头Authorization中携带获取 Token# 通过 clientId 与 secret 申请 Token需先在客户端管理中创建curlhttp://127.0.0.1:8520/token/generate?clientIdYOUR_CLIENT_IDsecretYOUR_CLIENT_SECRET将返回的 Token 配置至 MCP 客户端的headers.Authorization字段即可。Token 具有过期时间过期后需重新获取。建议在客户端管理中配置较长的有效期以减少续签频率。应用场景场景一自然语言数据查询将数据库查询类 API 发布为 MCP 工具后业务人员可在 Claude Desktop 中通过自然语言发起查询例如“上个月华东区销售额排名前 10 的产品有哪些”LLM 将自动识别意图调用 DBAPI 中对应的查询 API并以自然语言形式返回结果。该方案无需业务人员掌握 SQL 语法亦无需登录业务系统。场景二智能报表生成通过编排 API 将多个数据查询组合为完整的报表接口并发布为 MCP 工具。AI 客户端调用后可自动生成结构化的数据分析报告。场景三数据异常巡检 Agent将数据监控类 API 注册为 LangChain Agent 的工具。Agent 可基于定时任务自动巡检业务数据并在检测到异常时通过钉钉 / 飞书机器人推送告警。场景四企业知识库增强将企业内部系统中的数据查询接口如订单查询、客户信息、库存状态等发布为 MCP 工具并集成至企业自建的 AI 助手使其具备实时查询企业数据的能力。注意事项MCP Server 默认监听 8526 端口可在mcp-config.yaml中调整仅已发布且开启 MCP 开关的 API 才会暴露为 MCP 工具API 修改后MCP Server 将自动同步 URL、参数定义等元数据无需重启服务DBAPI 具备完整的 API 鉴权体系Token 认证、客户端授权及 IP 防火墙规则MCP 客户端自动继承上述安全能力无需额外配置访问控制调用私有 API 时请确保对应客户端已获得相应 API 的访问授权版本要求DBAPI 企业版 4.5.0 及以上版本支持 MCP 功能。