🔗 Unified MCP Tool Graph: A Neo4j-Powered API Intelligence Layer for Dynamic Tool Retrieval

🔗 Unified MCP Tool Graph: A Neo4j-Powered API Intelligence Layer for Dynamic Tool Retrieval

与其将 100 多个工具一股脑地塞进模型的提示中,并期望它能明智地选择,不如使用统一的 MCP 工具图,它能为你的 LLM 提供结构、清晰度和相关性。它可以解决工具混淆问题,防止无限循环,并实现模块化、智能的代理工作流程。

pratikjadhav2726

研究与数据
访问服务器

README

🔗 统一 MCP 工具图:一个由 Neo4j 驱动的 API 智能层,用于动态工具检索

统一 MCP 工具图 是一个研究驱动的项目,它将来自各种 模型上下文协议 (MCP) 服务器 的工具 API 聚合并结构化到一个集中的 Neo4j 图数据库 中。该图充当一个智能基础设施层,使 大型语言模型 (LLM)代理 AI 系统 能够 动态检索 任何任务最相关的工具——而不会被冗余或令人困惑的选项所淹没。

🔬 本仓库专注于 统一工具图数据库 的创建和演进。基于聊天机器人的集成(例如,LangChain)被视为这个基础层的模块化扩展。

📢 代码、摄取脚本和示例查询即将推出!敬请关注。


🧠 研究问题

随着 LLM 和自主代理不断发展以与外部工具和 API 交互,一个关键瓶颈已经出现:

模型如何从不断扩展的 API 宇宙中有效地选择正确的工具——而不会陷入无限循环或选择错误的工具?

为什么会发生这种情况:

  • 🔀 工具混淆: 当许多工具提供类似的功能(例如,create_postschedule_postpost_to_social)时,LLM 会感到困惑,导致犹豫不决和错误的工具调用。

  • 无限链: 如果没有对工具差异的结构化理解,LLM 经常会陷入无成效的链中,重复调用工具或选择次优工具。

  • 🧱 非结构化访问: 目前大多数实现将所有可用工具转储到 LLM 的上下文中,使其被选项淹没并增加幻觉风险。


✅ 解决方案:统一 MCP 工具图

本项目提出了一个结构化的、可查询的解决方案:一个 与供应商无关的 Neo4j 图数据库,其中包含来自 MCP 服务器(例如,LinkedIn、Google、Facebook、Notion 等)的工具/API。

🔍 主要功能:

  • 集中式工具智能: 以图格式存储 API 描述、元数据、参数和工具间关系。

  • LLM 友好的查询层: 代理可以使用元数据和关系检索每个任务最相关的 3-4 个工具,从而最大限度地减少混淆。

  • 语义区分: 使用图关系(例如,overlaps_withextendspreferred_for_task)捕获工具之间的相似性和差异,以指导决策。


🧹 模块化扩展

虽然图是核心,但它支持强大的下游用例:

🌐 动态工具检索 (DTR):

一个模块化的 LangChain/Autogen 聊天机器人扩展,它查询图并为任何给定的用户意图呈现一个最小的、准确的工具集。

这可以防止 LLM 盲目扫描庞大的工具库,而是只提供它们完成工作所需的工具——不多也不少。


🧱 核心目标

目标 描述
📦 工具摄取 从公共/私有 MCP 服务器获取 API 和模式并对其进行规范化
🧽 工具关系映射 定义图边,例如 overlaps_withrequires_authpreferred_forbelongs_to_vendor
🔍 面向 LLM 的查询 实时返回特定于任务的工具包
🌱 可扩展的生态系统 不断添加供应商和工具,无需重新训练或硬编码
🔗 代理感知结构 使用富含元数据的、可搜索的工具表示来指导 LLM 推理

🌟 主要优势

  • 🧠 减少 LLM 中的工具混淆 仅显示与任务相关的选项,从而防止工具过载。避免无限调用循环和错误的工具选择。

  • 与供应商无关的集成 将来自不同提供商的 API 统一到一个智能系统中。

  • 🔗 映射互操作性 捕获工具如何相互关联或依赖,这对于在工作流程中链接 API 非常有用。

  • 优化的代理推理 使 LLM 能够以更少的干扰在上下文窗口中有效地进行推理。

  • 🚀 可扩展且模块化 可以独立于 LLM 或聊天机器人基础设施进行更新。可跨任何代理堆栈扩展。


📌 示例用例

  • “我想在 LinkedIn 上安排一个帖子,并在 Slack 中分享它。” → 图仅返回相关的 create_postschedule_postsend_message 工具。

  • 用于企业的自定义 AI 助手: 仅公开来自图的内部工具,按访问权限、范围或功能进行过滤。

  • 智能推荐代理: 根据标签、受欢迎程度、成功率或依赖关系推荐最佳匹配的工具。


🧪 即将推出

  • 图摄取脚本
  • 模式蓝图 + Cypher 查询
  • 工具可视化游乐场
  • LangChain DTR 聊天机器人插件
  • 操作指南和用例

🚀 入门

git clone https://github.com/your-username/unified-mcp-tool-graph.git
cd unified-mcp-tool-graph
# 即将推出:摄取管道、模式文档和示例查询

🙌 贡献

如果您对代理 AI、图数据库或 LLM 集成充满热情——我们很乐意得到您的帮助!

  • 🧠 提交想法或供应商来源
  • 🛠️ 打开 PR 以改进模式/设计
  • ⭐ 收藏该仓库以支持这项研究

📜 许可证

MIT 许可证——免费用于学术、个人和商业用途。


🧠 总结

统一 MCP 工具图 没有将 100 多个工具转储到模型的提示中并期望它做出明智的选择,而是为您的 LLM 配备了结构、清晰度和相关性。

修复了工具混淆防止了无限循环,并实现了模块化、智能的代理工作流程

让我们构建更智能的系统——一次一个工具图。


🔗 收藏该仓库以关注旅程,并使工具真正 智能、可搜索和模块化

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python