技术实操:基于 OceanBase 打造 MCP 顾问

作者,王艺辉,蚂蚁 Agent 开发工程师

首先为大家推荐这个 OceanBase 开源负责人老纪的公众号 "老纪的技术唠嗑局",会持续更新和 #数据库 、#AI#技术架构 相关的各种技术内容。欢迎感兴趣的朋友们关注!

MCP 和 MCP Advisor 是什么

MCP(模型上下文协议)可被简单理解为 AI 大模型的"手"和"脚"。大语言模型本质上是文本的概率模型,其输入与输出均为语言文本。然而,要将这些语言文本与现实世界中的各类工具(如打开空调、电脑,或指挥其他事务)关联起来,就需要一个媒介,而 MCP 正是这样一个统一的媒介接口,可将其视为 AI 与世界之间的"USB-C 接口",如同电脑通过该接口连接硬盘、网盘、U 盘等设备,为其提供辅助功能。

尽管 MCP 具有重要作用,但现实世界中的工具种类繁多。目前市场上已存在超过13000~15000种工具,涵盖各行各业。例如,借助 MCP 与大语言模型的结合,可绘制《我的世界》中的三维图、CAD 图、机械臂,或在软件工程中进行代码部署、绘制 UI 文件等。

然而,众多工具也带来了诸多问题,主要体现在三个方面。

一是动态规划问题。例如,如果要在小红书上查找最新的新闻并进行分析,Agent 需要临时想到去小红书寻找,那么如何快速找到小红书上的相应工具及 MCP 来完成任务,即动态规划如何满足需求。

二是服务发现问题。面对众多工具,需降低大模型的认知负担,否则当工具数量超过四五十个时,大模型可能难以承受,不清楚该选择哪个工具以及需要发现哪些工具。

三是使用复杂度问题。即使已选定 MCP,如何快速投入使用,降低使用复杂度,也是亟待解决的。因此,MCP Advisor 应运而生,旨在解决这些问题。

以上文提到的小红书热点问题为例,大模型本身在本地并无能力分析处理,需通过 MCP。于是它会询问 MCP Advisor 有哪些工具及 MCP 能助其完成任务。MCP Advisor 会为其推荐 RedNote MCP 和 MCP-Hot news-Servers 等。大模型记录下这些 MCP 后,会选择其中一个继续操作。在操作过程中,若发现 RedNote MCP 还需 play wright 环境,它会继续安装 play wright 的MCP,并询问 MCP Advisor 如何安装。MCP Advisor 会告知其安装方法,大模型便可在整个过程中不间断地完成动态规划,持续运行下去。这便是 MCP Advisor 提供建议及安装能力的基础功能。

架构设计如何兼顾企业&社区

系统组件架构

社区可能会有 13000~15000 多个相对公开的数据源,对于企业用户来说,数据源可能来自于企业内部的文档数据源,文档 MCP,以及一些 MCP 无法完成的发布流程,面对不同的场景和需求,我们设计了多层 Provider 架构,一共分为 MCP 连接层、统一搜索服务层、向量引擎与 DB 层,共同完成整个分析处理流程。

MCP 连接层: 处理查询请求,同时支持 STDIO 、SSE 和 REST 三种传输方式;处理来自本地、API 和企业内部的数据源,满足不同集成场景的需求。

统一搜索服务层: 多 Provider 架构,融合 OceanBase、Meilisearch 、API 与内存引擎的混合搜索结果,提供最好的推荐效果。

向量引擎与 DB 层: 基于 TensorFfow 与 OceanBase 的 HNSW 高维向量索引,实现分布式定时数据更新,支持内存兜底。

最终将各个 Provider 的结果进行融合,无论是离线的、企业的还是社区的数据,都能在最后重排,为用户提供最佳效果。

数据流程

当用户提出问题时,在系统中包含4个处理步骤。

第一步,意图处理:首先对问题进行简单的 NLP(Natural Language Query),即自然语言处理,过程中提取关键词和意图,由 TensorFlow.js 向量化处理。向量化完成后,会进行 embedding,维度与 OpenAI 的嵌入模型保持一致,为1536 维。

第二步,并发召回与融合:多个 provider 并发混合搜索,包括内部自建的内存向量数据库、公网 API、优先处理标量过滤和向量过滤的 OceanBase 、MeiliSearch,可以继续扩展,融合各自优点。

第三步,标量&向量混合搜索:并发执行标量过滤 和向量 HNSW 相似度查询。

第四步,融合结果:允许调整不同来源的权重,加权融合推荐结果。

在 MCP Advisor 架构中,OceanBase的核心作用包括三个方面:

  • AI 生态持续发力。OceanBase 一直以来的成长有目共睹,和 FastGPT、Camel AI 等热门项目紧密合作、快速适配,为用户和开发者提供了丰富多样、便捷易用的产品生态。
  • 同时支持标量、向量和全文搜索。支持标量、向量、全文、多模等多种混合检索,可以满足各种行业等多种业务场景需求。
  • 企业内部数据源的优选。支持多模数据源,支持 MySQL 接口、分布式、高可用,对于企业内部自建 MCP 市场很有吸引力。

成果展示与未来规划

MCP Advisor 服务正式发布一月来,仅仅 Glama 一个平台已有 380+ 下载(github.com/istarwyh/mc... mcp.so 首页,并且云端已 hosted,用户可免费体验,也可下载到本地进行简单配置。

展望未来,我们将 MCP Advisor 的发展路径划分为以下四个发展阶段:

  • 第一阶段,将继续完善基础功能,解决 bad case,实现 Agent 的多样化诉求;
  • 第二阶段,计划结合深度学习能力,将重排序以及与 tour 相关的训练融入一个模型,构建强化学习模型,整合能力;
  • 第三阶段,开发任务分解引擎和动态规划系统,实现自适应 MCP 配置,提高产品易用性。
  • 第四阶段,将打造社区,提供开发者 SDK API,定制 MCP 培训工具和企业集成框架,赋能企业内部的 Agent 市场。

老纪的技术唠嗑局」不仅希望能持续给大家带来有价值的技术分享,也希望能和大家一起为开源社区贡献一份力量。如果你对 OceanBase 开源社区认可,点亮一颗小星星 ✨ 吧!你的每一个Star,都是我们努力的动力。

github.com/oceanbase/o...

相关推荐
薛定谔的猫24 小时前
Cursor 系列(3):关于MCP
前端·cursor·mcp
王国强200910 小时前
Unla MCP 网关代理配置教程
mcp
kagg88612 小时前
mcp-gateway —— 隐藏mcp上下文以避免不必要的tokens开销
llm·mcp
AAA阿giao12 小时前
qoder-cli:下一代命令行 AI 编程代理——全面解析与深度实践指南
开发语言·前端·人工智能·ai编程·mcp·context7·qoder-cli
饭勺oO1 天前
AI 编程配置太头疼?ACP 帮你一键搞定,再也不用反复折腾!
ai·prompt·agent·acp·mcp·skills·agent skill
AlienZHOU1 天前
MCP 是最大骗局?Skills 才是救星?
agent·mcp·vibecoding
Linux内核拾遗1 天前
人人都在聊 MCP,它到底解决了什么?
aigc·ai编程·mcp
谷哥的小弟1 天前
SQLite MCP服务器安装以及客户端连接配置
服务器·数据库·人工智能·sqlite·大模型·源码·mcp
tyw152 天前
解决 Trae MySQL MCP 连接失败(Fail to start)
mcp·trae·fail to start·mysql mcp·mcp兼容
谷哥的小弟2 天前
File System MCP服务器安装以及客户端连接配置
服务器·人工智能·大模型·file system·mcp·ai项目