动态数据库驱动工具服务器

一个基于Spring Boot的动态数据库驱动工具服务器,为AI代理提供实时、元数据驱动的API操作,无需代码更改或服务器重启。

  • by satviktiwari
  • Java
  • 云端部署
  • 更新于
在 GitHub 查看 satviktiwari/dynamic-mcp-tools

使用说明

🧠 MDD工具–用于AI代理的动态数据库驱动工具服务器(兼容MCP)

该Spring Boot应用程序动态提供由数据库表支持的MCP-兼容工具,为Gemma、GPT、Claude等人工智能代理实现实时、元数据驱动的API操作。

LLM或代理框架可以发现和调用数据库支持的工具,而不需要任何代码更改或服务器重启,这使其成为可扩展的AI驱动应用程序的理想选择。

🚀 主要特点

动态工具加载 工具存储在元数据数据库中,并在运行时加载。无需重新部署。

MCP服务器兼容 工具通过服务器发送事件(SSE)暴露给任何MCP客户端(例如Python、JS、LangChain代理)。

数据库支持工具 元数据表中的每一行都表示一个可调用的工具,例如fetch_workers或fetch_countries。

智能SQL查询生成器 根据用户提供的参数(如过滤器和限制)自动构建SQL。处理类型转换。

LLM友好模式 工具以JSON格式宣传输入模式,允许本地或远程AI模型正确调用它们。

无需重新启动 在数据库中添加或修改工具,更改会立即显示在MCP工具列表中。

🧩 运作原理

工具元数据存储在数据库表(api_Tool_metadata)中。

Spring Boot会自动加载这些定义,并将其作为可调用的MCP工具公开。

每个工具都支持limit、whereField和whereValue等参数。

工具通过正确的类型转换对数据库执行SQL查询。

结果通过MCP协议以JSON形式返回,供代理使用。

🛠️ 建筑亮点

Spring Boot后端,读取元数据并动态构建Toolcallback。

JDBC具有自动键入功能,确保从MCP客户端传入的值正确映射到DB列类型。

SSE Stream for Tools,意味着任何使用MCP的客户端都可以实时加载和调用工具。

🧠 常见用例

为LLM驱动的代理提供对数据库表的动态访问。

无需后端更改即可构建多代理或多查询工作流。

非常适合人工智能仪表板、结构化数据的自然语言接口和元数据驱动的自动化。

🔮 接下来是什么

计划中的增强功能包括:

支持跨多个表连接。

SQL筛选器中的可选模糊匹配(LIKE/ILIKE)。

用于实时工具创建的用户界面。

实时模式更新会立即推送到代理应用程序。

✅ 总结

该项目通过元数据驱动的架构,为人工智能代理启用数据库支持的API工具。 只需在数据库中添加一行→ 获取动态API工具→ Gemma或GPT等代理可以通过MCP立即使用。 不重新启动。无需手动更改代码。LLM准备就绪。