MCP入门
折腾了一圈 MCP,写篇笔记给大家省点时间
摘要:本文介绍了 MCP(Model Context Protocol)这一统一 AI 模型接入外部工具的标准协议。文章从 AI 工具调用的痛点出发,详细解析了 MCP 的三大角色(Host、Client、Server)及其三种核心能力(Tools、Resources、Prompts),并通过 Python 代码示例展示了如何快速开发一个 MCP Server。最后讨论了部署上线方案,并分析了 MCP 作为 AI 工具互联事实标准的价值与未来前景。
1. 问题引入:AI 工具调用的痛点与 MCP 的诞生
最近在研究怎么让 AI 接入外部工具的时候发现了 MCP 这个东西,折腾了两天跑通了几个 Demo。记录一下我的理解,希望能帮想上手的同学省掉一些查资料的时间。
如果你做过 AI 应用开发,大概率遇到过这个场景:想让模型查数据库、调 API、读文件,但 OpenAI 的接口和 Claude 的接口不一样,换模型就要重写一堆代码。我去年就踩过这个坑。一个项目里写了套工具调用层专门适配 OpenAI,后来老板说要试试 Claude,又得重新写一套。就很烦。
MCP(Model Context Protocol,模型上下文协议)就是来解决这个问题的——一套标准协议,所有 AI 应用都能用。Anthropic 在 2024 年底开源的。打个比方:90 年代每个打印机都要装自己的驱动,USB 统一了外设接入。MCP 要做的事情差不多——统一 AI 模型接入外部工具的方式。
2. 核心概念:MCP 架构与三大角色
整个 MCP 架构就三个东西:
MCP Host:你用的 AI 应用,比如 Claude Desktop、Cursor、你自建的 Chat 应用。它是发起请求的那一方。
MCP Client:Host 内部负责跟 Server 通信的组件。对你来说基本是透明的,不用管它怎么实现。
MCP Server:真正干活的。比如天气查询 Server、数据库查询 Server、文件管理 Server。这是你要开发的部分。
通信方式有两种:本地用 stdio(进程通信,开发调试阶段用),远程用 HTTP + SSE(上线给别人用)。
3. MCP Server 的能力:Tools, Resources, Prompts
每个 MCP Server 可以暴露三种能力给 AI:
Tools(工具):让 AI 执行操作。典型场景——查天气、发邮件、操作数据库。
Resources(资源):让 AI 读取数据。比如读本地文件、读数据库内容、读文档。
Prompts(提示模板):预定义的任务提示词。实际开发中 Tools 和 Resources 用得最多,Prompts 相对少一些。
4. 动手实践:从零编写一个 MCP Server
用 Python,FastMCP 这个库封得挺好:
pip install fastmcp
代码很简单:
from fastmcp import FastMCP
mcp = FastMCP("天气查询")
@mcp.tool()
def get_weather(city: str) -> str:
"""查询指定城市的天气"""
# 接入真实天气 API
return f"{city}:晴天,22-28°C"
if __name__ == "__main__":
mcp.run(transport="stdio")
跑起来之后,把这个 Server 配置到 Claude Desktop 里,AI 就能直接调用 get_weather 函数了。说实话第一次跑通的时候挺惊喜的——一个装饰器就完成了工具注册,不用写 HTTP 接口、不用管序列化、不用处理认证。底层的事框架全做了。
5. 部署上线:从本地到生产环境
本地跑通了就该想上线的事了。上线的核心诉求:
- 服务要一直在线
- 要配 HTTPS(MCP HTTP 模式强制要求)
- 最好有个面板管理多个 Server
我自己试了 imcp.pro,体验不错。代码推上去就自动构建部署,不用自己折腾证书和服务器。它内置了常见的 MCP Server 模板,天气、搜索、数据库这些都有,拿过来改改就能用。免费额度对个人开发者够使。
部署完拿到的 MCP Server URL,直接填到 Claude Desktop、Cursor 这些工具的 MCP 配置里就行。当然如果你喜欢自己搭服务器也完全没问题,就是多花点时间折腾基础设施。
6. 总结与展望:MCP 的价值与未来
我的看法:值得。理由很简单——MCP 正在成为 AI 工具互联的事实标准。Claude Desktop、Cursor、Windsurf 都原生支持了,GitHub 上社区的 MCP Server 也在快速增长。
而且这个协议的思路是对的:与其每个平台各自搞一套工具调用方案,不如大家统一一个标准。对开发者来说减少了重复劳动,对生态来说降低了碎片化。
如果你在做 AI 相关的开发,建议早点了解。协议层的东西,早期参与者确实能吃到红利。
相关资料
- MCP 官方规范:https://modelcontextprotocol.io
- FastMCP Python 库:https://github.com/jlowin/fastmcp
- MCP 托管平台:https://imcp.pro
欢迎在评论区交流,我也还在摸索阶段。
更多推荐

所有评论(0)