实操干货!MCP Server开发从0到1
最近Model Context Protocol ( MCP ) 概念大火,刚好它可以用Node或Python来编写,作为一名web前端程序猿,怎么可以错过这个工具的探索。文章是记录本人做MCP Server工具开发的时候遇到的一些问题,以及自己的一些关于AI的感想。
👉 目录
1 MCP 协议简介
2 MCP 主要架构
3 MCP 开发踩坑经历
4 关于 AI 的感想
最近Model Context Protocol ( MCP ) 概念大火,刚好它可以用Node或Python来编写,作为一名web前端程序猿,怎么可以错过这个工具的探索。文章是记录本人做MCP Server工具开发的时候遇到的一些问题,以及自己的一些关于AI的感想。
01
MCP 协议简介
Model Context Protocol (MCP) 是由Anthropic提出的开放协议,旨在标准化AI大模型与外部数据源和工具的连接。官网称MCP为AI应用的USB-C端口,提供一种将AI模型连接到不同数据源、工具的标准化方法。目前,包括Block、Apollo、Replit等知名企业已开始采用MCP协议,显示出其在AI领域的重要地位和发展潜力。

简单来说,MCP是一种客户端-服务器架构的协议,允许LLM应用程序(如 Claude、各种IDE等)通过标准化的接口访问外部数据和功能。这解决了LLM在实际应用中常见的一些痛点:
- 无法直接访问实时数据(如天气、股票行情等);
- 无法执行外部操作(如发送邮件、控制设备等);
- 无法访问用户的本地文件或其他私有数据(如性别、年龄、收入等)。
通过MCP,这些限制得到了优雅的解决,同时保持了安全性和可扩展性。所以也有人说,MCP是AI的 “Type-C”,统一接口接入各种工具。

02
MCP 主要架构
MCP采用客户端-服务器架构,主要包含以下几个组件:
- MCP主机(Host) : 如Claude Desktop、IDE或其他AI工具,通过MCP访问数据。
- MCP客户端(Client) : 与服务器保持1:1连接的协议客户端。
- MCP服务器(Server) : 轻量级程序,通过标准化的MCP协议公开特定功能。
- 本地数据源(Local Data Source) : 计算机上的文件、数据库和服务,MCP服务器可以安全访问这些内容。
- 远程服务(Remote Service) : 通过互联网可用的外部系统(例如通过 API),MCP服务器可以连接这些服务。
整个流程大致是这样:

目前,MCP还处于发展初期,但其潜力巨大。更重要的是生态,基于统一标准下构筑的生态也会正向的促进整个领域的发展。概念是2024年底才提出,几个月不到,在GitHub上的Star数已经突破20K,可为相当火热。

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

03
MCP 开发踩坑经历
以 查询今天广州天气 为例子,以下分享一下自己在开发MCP Server工具时踩过的坑。
https://github.com/modelcontextprotocol/quickstart-resources/tree/main/weather-server-typescript
3.1 环境
MCP无论是开发,还是使用,都对Node版本有要求,要求Node >= 18。所以如果你一开始用Node < 18进行包安装之后,就算后面切换成正确的 Node版本,MCP Server依然不能正确地跑起来。需要重新安装依赖包modules。
建议: 一开始就确认自己的环境是否正确,再进行安装。
3.2 调试
参考上文提到的MCP时序图,是Client端调用的Server。所以,要想断点调试,就必须需要Client在调用Server的时候启动断点调试 (node --inspect )。目前看来,起码Cursor是不支持断点调试的,其它工具或许支持,有待探索。
官方提供了一个调试工具,不过该工具更多的是围绕MCP协议本身的调试,调试界面如下图:

其中,日志记录可以通过以下方法来输出:
const mcpServer = new McpServer({
name: 'your-mcp-tool',
version: '1.0.0',
}, {
capabilities: {
logging: {} // 开启日志记录,必须,不然报错
}
});
async function main() {
// ...
mcpServer.server.sendLoggingMessage({
level: 'info',
data: 'Server started successfully',
});
}
官方文档曾让我误解,包括 初始化McpServer的capabilities的logging的时候如果不传会报错,直到翻源码才发现正解 …

建议:如果调试的时候有问题的话,可以先按上述方法来检验,然后可以去看文档,源码,已实现的MCP工具。
文档:https://modelcontextprotocol.io/docs/tools/debugging
源码:https://github.com/modelcontextprotocol/typescript-sdk
已实现的MCP工具:https://modelcontextprotocol.io/examples
3.3 使用
MCP工具的使用倒是比较简单,关键是Client端最好是用上最新的版本来支持MCP的新特性,比如Cursor,需要更新之后才能方便地配置环境变量env,因为我们一般需要把token或API_KEY之类的密钥传给工具来进行接口调用。如下图:

可以参考Github MCP的用法。
(https://github.com/search?q=repo%3Amodelcontextprotocol%2Fservers%20GITHUB_PERSONAL_ACCESS_TOKEN&type=code)
3.4 幻觉
有时候在使用MCP工具的时候,不可避免会遇到它的幻觉问题,如下图:

根据工具,它已经拿到了最新时间2025-03-27,但是在调用下一个MCP 工具的时候,时间还是搞错成2024了。
建议:
- 方法一:丰富prompt。在时间前面加上「根据当前时间」,比如上图的就是,“根据当前时间,查今天广州天气”。
- 方法二:参数矫正。比如参数里只让模型提供月-日,年份由MCP工具来补充。
- 方法三:使用MCP Prompt来丰富prompt。不过这个因为比较少MCP Client支持,所以这里不过多介绍,有兴趣的同学可以看看官方文档。https://modelcontextprotocol.io/docs/concepts/prompts
兼容性如下图,可以看到大部分工具都只是支持MCP Tools而已:

3.5 错误重试
由于网络抖动,一旦出现失败,整个咨询过程就会失败,模型分析也会失灵,同时也浪费了模型资源。
建议: 如果工具涉及到网络请求,可以考虑做错误重试机制,如设定重试次数和间隔时间,以免出现网络抖动或其它因素导致请求失败。
3.6 MCP工具列表
最后贴一下一些比较好用的MCP工具:
- 官方推荐:https://modelcontextprotocol.io/examples
- mcp.so:https://mcp.so/
04
关于 AI 的感想
在看到MCP工具正确返回的时候,我内心是很兴奋的,如下图:

它不但理解了返回的JSON数据,还附带了自己对数据的理解,并给出了一些合适的建议。看起来是很美好是不是?
但是,当我自己去百度一下之后,我看到了下图的展示:

看到这个丰富的UI展示之后,我陷入了沉思。我一直希望通过AI对话实现各种各样的能力,给它配上各种工具(比如这次的MCP工具),让它功能越来越强大,自以为是地认为这是很牛逼的未来,但,真的是这样么?
偶然间看到了一篇文章,里面有一段话很是触动我:
做个比喻,我小学时代刚开始用电脑是Dos系统,那就是命令行输入和一行行的数据输出的文本来回交互,那个时代的应用软件以及体验,是完全无法和进入视窗时代,windos系统的应用比拟的。我们计算机的发展,给我们带来了各种更丰富友好的交互体验(各种radio box, check box, button, drow box控件到鼠标,触摸屏外设),为啥因为一个像人对话一样的想象,要把自己的应用反而导向到原始的仅有文字来回的交互呢?
是啊,为什么在交互设计上,我们要倒退回去呢?文章中引申出一个概念,值得思考:我们要对话连接服务,还是服务融入对话? 以下是我自己的一些思考:
对话连接服务,简单可以理解为在对话的过程中,可能给你一张图片,一个链接,甚至是一个电商小程序,点击即可跳转去选品。强调服务本身流程和专业性,对话作为辅助手段。专业用户对特定服务流程熟悉,可能更倾向直接在专业界面去进行操作,对话仅在遇到问题或特殊说明时介入。
服务融入对话,就是上文提到的,纯文字告诉我广州天气:以对话交互为核心,将服务功能融入自然语言对话。如通过与AI对话查询天气,AI调用后台接口查询并在对话展示结果,降低使用门槛。这种能力,往往在特定人群和特定场景下需要,比如:
-
老年用户 : 因为老年用户往往是有视觉障碍和认知障碍,他们可能已经老到看不清手机上的文字,因为年纪大,对新鲜事物的认知也不足,「🔍」放大镜这个图标对他们来说,很难理解为什么能点击查东西。如果有AI的帮助,说不定能解决很多他们的认知问题。好比如果能通过语音来帮他们调用现在交互复杂的互联网服务,“帮我打一辆去广州塔的车” 或 “帮我点一份番茄炒蛋,送到xxx地方”。

-
外国友人 : 同样的,国内很多服务都是基于中文去建设的,外国友人来中国的话,有时候会因为语言问题,无法实现自己想要的能力,比如上文提到的电商,从选品,到添加购物车,到地址填写,到下单,每个步骤在不同的APP,UI都是不一样的,有的甚至连流程都不一样,比如 拼多多 都没有购物车,其中又充斥着大量他们可能看不懂的中文,导致试错成本急剧上升。AI的出现,说不定就能比较低成本地解决这个问题。

-
无法解放双手的你 : 是的,在你开车的时候,通过AI帮你点一份到家的外卖,在你回到家直接能吃上。或者在你做饭的时候,帮你发一条消息给伴侣,告知ta今晚有什么晚餐,好让ta早点回家。又或者一个人玩王者荣耀,但是又希望有个瑶妹辅助的你:

这三种场景,可以归纳为用户无法做出该服务预期动作的场景下,我们可以选择让服务融入AI,让AI来辅助用户。
回顾两者,对话连接服务,适当时候导向服务,提高流程的命中率和成功率。服务融入对话能让用户通过语音指令让AI完成复杂任务,提高效率和便捷性。
小孩子才做选择,作为成年人,肯定是两者都要。在我希望它是对话时,它是对话。当我希望它能给我服务时,它也能给我服务。比如对话告诉AI,“我想买一个鼠标,给我商品展示链接”,点击链接跳转到商品展示,选品后,剩下的流程,我希望对话解决,“就这个,帮我下单,送到家”。所以,服务和AI的结合,除了取决于使用者本身能力以外,还得取决于使用场景,不能一概而论,更不能为了蹭AI的热度,就滥用AI,或扭曲已有的交互模式。
上述梳理了下AI的使用模式,那么AI目前已有的能力有哪些?我自己整理了下:
- 海量知识与信息整理能力 : AI拥有海量知识输出能力,并且能处理海量信息,快速从中整理归纳出有效内容。这里并不是说AI等同于数据库//图书馆一类的知识存储型的角色,而是它理解了字与字之间的联系,并根据上文推导出下文,所以如果它是一个训练了海量优质数据的模型,那么它也能提供海量知识的输出。
- 非结构化数据处理能力 : 擅长将非结构化数据梳理成结构化数据,比如将中文转换成符合API服务要求的结构化数据,如在查询天气时,AI把「广州」识别成城市,并转换成 { “city”: “广州” }
- 快速学习与自适应能力 : 随着处理数据量增加,AI能优化算法和模型,在后续处理相似任务时表现更出色。这是因为AI受训练数据的影响,随着算力资源、基座模型,训练算法、反馈机制 等各方面的提升,所以AI的学习效率以肉眼可见的速度提升,2年间就天翻地覆,所以未来AI能做的事情估计远超想象。
- 自动化与不间断运行 : AI可实现自动化,24 * 7不间断运行,不受时间、精力和体力限制,能随时响应任务,提高业务连续性和响应效率。
- 重复性任务处理优势 : 处理重复性任务时,AI不会像人类因重复工作而疲惫或出错,能保持稳定处理质量和效率,适用于反复执行特定查询或数据处理场景。 最后两点,均能够很好地说明,AI是天生的优质牛马,只是现在它能力还未能充分展示。
AI毫无疑问是下一个时代的趋势,在这种背景下,我们要做的只是顺势而为,AI不是万能的,所以无需焦虑,把它想象得如何强大,我们需要做的是如何学会驾驭这种新的技术。
现如今大模型岗位需求越来越大,但是相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
掌握大模型技术你还能拥有更多可能性:
• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;
• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;
• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;
• 更优质的项目可以为未来创新创业提供基石。
可能大家都想学习AI大模型技术,也_想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把都打包整理好,希望能够真正帮助到大家_。
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,下面是我整理好的一套完整的学习路线,希望能够帮助到你们学习AI大模型。

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

三、AI大模型经典PDF书籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。


四、AI大模型各大场景实战案例

结语
【一一AGI大模型学习 所有资源获取处(无偿领取)一一】
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)