cpp c++源码实现mcp协议(AI智能体通讯项目的子项目)
它的核心思想是:当 MCP Server 提供大量工具时,不再将所有工具都发送给 LLM,而是通过语义相似度搜索,只返回与用户查询最相关的少量工具。,但是针对mcp协议这个子项目,一直没有从完整项目里摘出来,代码看起来可能比较费事,针对这种情况,今天我把它摘出来了。加入星球福利,后续如果有其他活动、服务,不收费,不收费,可以合理赚钱就收取下星球费用,但是不割韭菜,保持初心。(4)活跃的学习氛围,星
前言
加入星球的同学应该都知道,我们最近开发完成了一个AI智能体通信项目
AI智能体通讯项目通过rpc框架实现clinet与server通信,利用client把想对agent询问的问题发送给server,server集成了多个agent,来实现复杂问题的解答。
agent之间使用a2a协议进行交互,并且agent也通过mcp协议集成了mcp tools,也利用rag技术减少了大量无效mcp tools信息传入给agent消耗token。
很多学cpp / c++相关的同学,也都想做一个AI相关的项目,追一下目前的AI潮流,给简历增加点含金量。
但是又怕花钱加入星球,发现这个项目也像其他博主哪样,对于AI相关的只是调用了AI对话接口,本质还是后端这样的项目。
针对此项目的原文章可以看下面的链接:
https://mp.weixin.qq.com/s/cATjUcO2uoi8Knim6ZKb5w
但是呢,有含金量的同时就意味着难度很大,需要花费很长的时间。很多同学可能时间不够,马上该投简历面试了。那这个时候既想简历上有AI的东西又想快速掌握。
那这个时候怎么办呢?
很多同学会考虑做咱们这个AI智能体通讯项目衍生出来的子项目:
源码实现a2a协议,看下面文章
https://mp.weixin.qq.com/s/L74rYrYoCTxQh8FgyHTsgA
源码实现mcp协议,但是针对mcp协议这个子项目,一直没有从完整项目里摘出来,代码看起来可能比较费事,针对这种情况,今天我把它摘出来了
项目视频
https://www.bilibili.com/video/BV12c62BzEPR/?spm_id_from=333.1007.0.0&vd_source=b7f84f9122e6cf826e5c747e473cb4f7
代码截图
简历书写
文档展示
(文档内容太多了,只截取一部分哈,可以看看关于此项目的其他公众号文章加一步了解)
架构图
RAG-MCP(重点)
大家可以重点了解一下
(此部分个人认为是此项目mcp实现中优化的一个亮点,在面试中也会是一个极具加分的点)
说明
RAG-MCP (Retrieval-Augmented Generation for Model Context Protocol) 是本项目中实现的一个基于语义检索的智能工具选择框架。
它的核心思想是:当 MCP Server 提供大量工具时,不再将所有工具都发送给 LLM,而是通过语义相似度搜索,只返回与用户查询最相关的少量工具。
解决的问题
在实际应用中,一个 MCP Server 可能提供几十甚至上百个工具。如果将所有工具的描述和参数 Schema 都发送给 LLM,会带来以下问题:
(1)Token 消耗过大:每个工具的名称、描述、参数 Schema 都会占用 Token,大量工具会显著增加成本
(2)选择准确率下降:LLM 在大量工具中选择正确工具的准确率会下降
(3)响应速度变慢:处理大量工具信息需要更多时间
(4)上下文窗口限制:可能超出 LLM 的上下文窗口限制
RAG-MCP 通过语义检索,只返回与用户查询最相关的 Top-K 个工具(默认 5 个),有效解决了上述问题。
实现原理/实现过程
RAG-MCP 的工作原理可以用一句话概括:将文本转换为向量,通过向量相似度找到最相关的工具。
具体主要分为两个阶段:
(1)工具索引阶段:将每个工具的名称、描述、参数信息组合成文本,调用 Embedding API 转换为向量,存储在向量索引中
(2)查询检索阶段:将用户查询转换为向量,在向量索引中搜索最相似的工具向量,返回对应的工具
整体流程:
(1)工具索引流程: 
(2)查询检索详细流程 
底层原理讲解
为什么 "计算 123 + 456" 能够匹配到 "calculator" 工具?
语义匹配原理

MCP开发做的工作
星球同学对项目评价/期待


项目运行效果截图

知识星球介绍(公认的cpp c++学习地)
星球名字:奔跑中的cpp / c++
专注cpp/c++相关求职领域的辅导
加入星球福利,后续如果有其他活动、服务,不收费,不收费,可以合理赚钱就收取下星球费用,但是不割韭菜,保持初心
感兴趣的微信扫下面的码,然后下载知识星球app登录即可 
(1)高质量的项目合集

同时如果项目,遇到任何困惑也会第一时间进行解答的 
(2)高质量精确性八股资料

(3)详细的学习路线 
(4)活跃的学习氛围,星球打卡不只是一个形式,而是每天观看,针对同学们的学习情况提出合理化的建议,同时也有高质量的星球微信内部群

(5)星球提问简历修改,提供意见的同时,还会给安排一对一腾讯会议辅导

(6)星球同学offer情况,以及对应学习情况,给大家提供参考 
(7)全网最全cpp相关面经整理

(8)编程实战能力提升平台(大家都可以使用的,免费的)
访问网址 cppagancoding.top 
星球同学的评价 
(9)每周也会进行直播答疑,同时有时也会给星球内部同学开一些知识、路线分享会。
具体可以看B站放的视频,up名字:cpp辅导的阿甘
(10)奖励金激励,会根据大家打卡学习/ 面经打卡整理情况,每个月每个季度发放奖励金。有的人陆陆续续已经获得了数千月的奖励金,是加入星球费用的数十倍了

等等,可能还有一些其他服务,目前没想起来的,以及后续也会增加的服务
本文由 mdnice 多平台发布
更多推荐



所有评论(0)