【保姆级教程-从0开始开发MCP服务器】一、MCP学习压根没有你想象得那么难!.md

前言

这个系列主要是介绍MCP是什么,如何连接MCP Server以及如何自己进行MCP Server开发。

这个系列将包含四篇文章,采取渐进式的学习方式来逐渐掌握MCP开发:

  • 先帮助大家理解MCP的核心概念和协议规范(本文内容)
  • 尝试在Claude Code中连接几个MCP Server并感受其所带来的魅力
  • 手动去搭建一个本地的stdio Mcp Server
  • 如何创建企业级的MCP Server

为什么要学习MCP

学习新知识前,应该先评估它的价值以及所需投入的时间和精力。依我拙见,就当下的阶段,学习MCP的所能带来的价值还是很大的。接下来我先谈谈我的个人观点。

打造更高效的工作流

AI的强大之处在于,你给它很少的数据和要求,它就能帮你产生更多的信息,甚至生成代码、文档和图片视频等。我们在使用AI的时候,痛点往往不是AI的能力不行,而是我们不能把存在其他地方(比如数据库、软件等)的数据喂给它,它也不能把分析的结果输出到某个特定的位置。而MCP正是帮助AI进一步扩展其能力边界的技术。

我是一个长期的英文学习者,我积累和背诵单词的其中一个场景是这样的:我通过读英文小说来积累单词。当我遇到不懂的单词,先是标注下来,等读完几页后连带着所在句子一起摘录到一个文件中。然后再去翻译网站或者GPT中去查找相关读音和含义,最后逐个记录在Anki(一个符合记忆曲线的背单词的软件)中。

在这个过程中,从书上抄写单词和句子到文件中这一步必须由我来完成,AI无法替代(目前无法替代,我也不想让它替代这一步)。但文件的读取、单词读音和含义的查找可以由AI完成。如果能够打通AI和Anki,就可以让AI把查找结果自动写入Anki,我只需要专注于背诵即可------查字典和写入Anki占据了整个流程的很大一部分时间。

如果你自己开发了一个Anki MCP Server,你就可以打通上面说的连接,在第三篇文章中,我们就以此为例打造一个anki mcp server。

同样的场景还有很多很多,再比如Notion(一个强大的笔记软件),它自身提供了相应的MCP server了,我只要在AI助手中添加好MCP server,登录完成鉴权后,就可以直接在AI助手去查询我的数据,利用大模型进行数据分析并把我所需的分析结果回写到Notion中。

在第二章节中我们将展示如何操作。

如果说几年前ChatGPT的出现打开了我们新世界的大门。那么当你现在有能力建立AI与其他软件或者系统的桥梁后,你会发现新世界的大门再次打开了。

提升个人竞争力和技术影响力

MCP本质上是连接AI模型和外部系统的桥梁,掌握这项技术的人会成为企业AI转型中的关键角色。目前很多企业正在接入AI大模型,而MCP正是连接LLMs和企业系统的桥梁。很多人的KPI中可能也包含创新这一项,如果你能通过自建MCP Server来打通LLMs和你们的企业系统提升企业的软件能力、服务能力、工作效率,这不就是一种创新吗。

再说句稍微糙一点的话,在一家小公司里,只有你会开发MCP Server,别人都不会,你为大家介绍这个新工具,大家可能就真的会觉得你挺牛,最起码挺赶时髦。

蓝海市场

MCP 是一项新的开放标准,在2024-2025年期间MCP生态系统正在快速增长和融合,相当多的软件都推出了自己家的MCP Server。目前市场上真正了解MCP开发的工程师还很少,但需求却在持续增长。如果你懂得MCP的开发,说不定你就能找到一份不错的相关工作。

但我觉得如果怀着找工作的心态来学习MCP Server可能就会丧失学习乐趣了,所以我更多地还是关注前两点:

  • MCP 能给你的生活带来什么
  • MCP 能给你的工作带来什么

学习难度

其实开发一个MCP Server并不复杂。如果你是一个有几年工作经验的开发者,你会发现它相当简单------你只需要整合外部系统暴露的能力,将其封装成符合MCP协议的接口即可。

MCP协议支持由多种语言来实现。实际上MCP协议在Python和TypeScript中已经有了完善的SDK了,基本上两三天就能学会并且自己搭建出一个小型的Mcp Server。

如果你有了像Claude Code、Codex、cursor这些AI代码工具,或许只需要几个小时就能完成------你甚至不需要会Python和TypeScript。

所以MCP开发本身并不是一件难事,并且在未来也会有更多其他编程语言的SDK,可能在随后的几年中人人都会开发MCP Server了,但就目前而言,它还是会成为你的增分项------也可以此为乐趣。

MCP 到底是什么东西呢?

MCP 全称是 Model Context Protocol,翻译过来就是模型上下文协议。Model指的就是AI模型,一般指大语言模型(Large language models-LLMs)。在MCP中Context是重点,但协议是关键。

Context 上下文信息

我们先来理解Context(上下文信息)是什么,当你与LLMs对话时,你提出的问题、指令或其他相关信息就是上下文信息。通过提供这些Context,MCP使得AI模型能够超越其训练数据的限制,实时获取最新的信息,从而生成更具针对性和准确性的回答。这就是早期的ChatGPT横空出世时Context的内容,基本上就是自然语言文字内容。

随着AI产品的不断进步,慢慢地它有了能读取你的声音、本地文档、网页的能力(最后还是转为自然语言文字),这进一步丰富了Context中的内容。

但始终有一些AI难以触及的信息域,比如数据库中的数据,本地软件中的数据等等。现在我们就是要将Context的内容进一步向这些地方去扩展。

通用的协议

为什么需要创造一个协议

思考这样一个场景,如果你是一个LLMs的供应商公司,现在有个客户希望把你们提供的LLMs和其公司内部的数据系统打通。是不是要在LLMs开发读取客户系统的特定代码?

如果要服务多个客户,难道要为每个客户定制不同版本的LLMs吗?即使加了一层适配层,也需要为每个客户编写特定的适配代码。如果是一家小公司,依靠出售这种定制化软件服务为生,虽然可行,但难以持续发展。因为它需要消耗大量的人力物力去做与客户系统和功能相关的定制开发,而无法专注于核心的大模型开发。

如果能有一个协议或者开发标准,不同的客户只需要各自按照这个协议去实现自己的适配层就可以了。

如果你是一个后端开发者,你可能会在此嗅到一点点设计原则和设计模式的味道了。由LLMs规定好协议,使用LLMs的客户自己去实现MCP协议向大模型提供Context,这是"实现依赖抽象"原则的思想。提供一个适配层(即MCP Server)来建立LLMs和提供Context的系统的桥梁,这是适配器模式。

Anthropic提出开放标准

这也是为什么在2024年Anthropic公司(因Claude AI而声名大噪)提出了Model Context Protocol的原因------之一。

为什么说是之一呢?因为我们刚刚是站在LLMs的提供方来看的。如果你是使用LLMs的一方,当你按照某个LLMs公司的协议规范实现了适配器并成功接入后,如果需要切换到另一家的LLMs,而两家的协议完全不同,就需要重新开发了。

所以这时候Anthropic所提出的MCP是一种通用的、开放的规范,希望所有的LLMs的厂商都能遵守它来开发大模型工具,从而LLMs的使用者也只需要实现一套适配器就可以了。

Anthropic对MCP做出了一个十分恰当的比喻,它将MCP描述为"类似于AI应用的USB-C端口"------一个通用的连接器,允许AI模型以一致的方式连接到各种工具和数据库。正如USB-C标准化了我们的设备连接方式一样,MCP也标准化了AI系统与不同数据源和功能接口的方式。

我也想自己定义一个通用协议

为什么是Anthropic提出的?我个人觉得是因为Claude AI的设计者深刻地抓住了用户的痛点(没有通用的连接大模型和手上数据和工具的连接器),这家公司走在了AI发展的最前沿,所以想到建设这样一个规范化的协议。但他可能不是第一个想出这个概念的公司,只不过受其公司本身的影响力,这个协议做到了很好的推广,从而被广泛认可,其他大模型公司也纷纷采纳并实现。

理论上,任何普通人都可以来定义一个新的协议,只不过不会有人认可。不是因为创造者将其定义成通用协议所以是通用的,而是因为所有人都知道该协议且接纳,所以成为了通用协议。

初识 MCP Server

如果我们理解了上面的模型上下文协议,接下来再来理解MCP Server就容易了。我们还是拿刚刚Anki为例子,我们需要建立一个Anki MCP Server,封装Anki的数据访问接口,然后通过LLMs工具(比如Claude Code)来访问它。

那么整个链路是这样的:

arduino 复制代码
Claude Code(内置了MCP协议的MCP客户端) → 你的Anki MCP Server → Anki数据库/API

由此可见,MCP Server是实现MCP协议的具体实现,充当AI模型与外部系统之间的桥梁。从工程的角度来看,这是一个典型的CS架构(Client-Server)。

总结

本文从零开始介绍了MCP(Model Context Protocol)的核心概念,让我们理解了它并非什么高不可攀的技术,而是一个优雅且实用的解决方案。

关键要点回顾:

  1. MCP的本质:它是连接AI模型与外部系统的标准化协议,就像USB-C统一了设备连接方式一样,MCP统一了AI与各种数据源的连接方式。
  1. 为什么需要MCP
  • 解决了LLMs无法直接访问私有数据和系统的痛点
  • 避免了为每个客户或每个LLMs厂商重复开发适配层的问题
  • 提供了统一的标准,让开发者只需实现一次就能适配多个AI工具
  1. 学习价值
  • 能够打造更高效的个人工作流(这个需要自己去根据自己的场景去挖掘)
  • 在企业AI转型中成为关键技术角色
  • 目前仍处于蓝海市场,掌握此技术具有先发优势
  • 学习成本低,有现成SDK支持,几天就能上手

通过本文的学习,相信你已经对MCP有了清晰的认识。它不是什么神秘的黑科技,而是基于成熟的软件设计模式(如适配器模式)和设计原则(如依赖倒置原则)设计出来的一种通用的解决方案。

下一步的学习路径:

  • 第二篇:实战体验 - 在Claude Code中连接和使用现有的MCP Server,亲身感受MCP带来的能力提升
  • 第三篇:动手开发 - 深入MCP协议细节,开发一个本地stdio传输的Anki MCP Server
  • 第四篇:企业实践 - 构建生产级的HTTP传输远程MCP Server

记住,MCP压根没有你想象得那么高大上------它只是一个让AI更好地为我们服务的工具。掌握它,你就掌握了连接AI与各个系统的钥匙。

相关推荐
小气小憩3 小时前
“暗战”百度搜索页:Monica悬浮球被“围剿”,一场AI Agent与传统巨头的流量攻防战
前端·人工智能
神经星星3 小时前
准确度提升400%!印度季风预测模型基于36个气象站点,实现城区尺度精细预报
人工智能
IT_陈寒5 小时前
JavaScript 性能优化:5 个被低估的 V8 引擎技巧让你的代码快 200%
前端·人工智能·后端
Juchecar6 小时前
一文讲清 PyTorch 中反向传播(Backpropagation)的实现原理
人工智能
黎燃6 小时前
游戏NPC的智能行为设计:从规则驱动到强化学习的演进
人工智能
机器之心6 小时前
高阶程序,让AI从技术可行到商业可信的最后一公里
人工智能·openai
martinzh6 小时前
解锁RAG高阶密码:自适应、多模态、个性化技术深度剖析
人工智能
机器之心6 小时前
刚刚,李飞飞空间智能新成果震撼问世!3D世界生成进入「无限探索」时代
人工智能·openai
库森学长7 小时前
一文带你 "看见" MCP 的过程,彻底理解 MCP 的概念
llm·ai编程·mcp