

如果你做AI应用、写Agent、或者只是用Cursor敲代码,2026年有一个词你绕不开:MCP。
Model Context Protocol,模型上下文协议。Anthropic在2024年底开源,到2026年8月,它已经成了AI应用层的事实标配。
但你可能还没真正搞懂它。
这篇文章不讲概念搬运,讲实战。讲完你能自己搭一个MCP Server,让大模型调你的工具。
先搞清楚:MCP到底解决了什么问题
在MCP出现之前,让大模型调用外部工具是这样的:
你有一个数据库,想让Claude能查数据。你得写一套适配代码,把数据库接口包装成Claude能理解的格式。然后你又想让GPT也能查,对不起,再写一套,因为格式不一样。
模型A接工具X,一套代码。模型B接工具X,又一套代码。
N个模型 × M个工具 = N×M套适配代码。这就是2024年每个AI团队都在干的事。
MCP干了一件事:把"工具怎么被描述、怎么被调用"统一成一个协议。
模型只要会说MCP,就能接所有支持MCP的工具。工具只要实现了MCP接口,所有模型都能调。
一句话:MCP之于AI应用,就像USB-C之于电子设备。 以前每个设备一种充电线,现在统一一种。
三个关键部分:Client、Server、Host
MCP架构里有三个组成部分,搞清楚这三个,整个协议就懂了一半。
MCP Host(宿主) :你正在用的AI应用。比如Cursor、Claude Desktop、Cherry Studio。它负责管理对话、展示结果。
MCP Client(客户端) :Host内部的MCP连接器。负责跟Server通信,发请求、收结果。你作为开发者基本不用管它。
MCP Server(服务端) :暴露工具能力的那一方。可以是一个本地进程,也可以是一个远程服务。它告诉模型"我能做什么",然后等模型来调。
举个例子:你在Cursor里装了一个"GitHub MCP Server",Cursor就是Host,里面的连接器是Client,那个Server把"创建Issue""查PR""读代码"这些操作包装成MCP工具,模型就能直接操作你的GitHub仓库。
关键点:Server和模型之间是解耦的。 你换掉底层模型(Claude→GPT→DeepSeek),Server一行代码都不用改。
实战:30分钟搭一个MCP Server
光说不练假把式。用Python写一个最小的MCP Server,让模型能查IP地址的地理信息。
环境准备
pip install mcp httpx
只需要两个包。mcp是官方Python SDK,httpx用来发HTTP请求。
最小可运行Server
from mcp.server import Server
from mcp.types import Tool, TextContent
import httpx
import json
server = Server("ip-lookup")
@server.list_tools()
async def list_tools():
return [
Tool(
name="lookup_ip",
description="查询IP地址的地理位置和运营商信息",
inputSchema={
"type": "object",
"properties": {
"ip": {
"type": "string",
"description": "要查询的IP地址,如 8.8.8.8"
}
},
"required": ["ip"]
}
)
]
@server.call_tool()
async def call_tool(name: str, arguments: dict):
if name == "lookup_ip":
ip = arguments["ip"]
resp = await httpx.AsyncClient().get(
f"http://ip-api.com/json/{ip}",
params={"lang": "zh-CN"}
)
data = resp.json()
result = f"IP: {ip}\n国家: {data.get('country','未知')}\n城市: {data.get('city','未知')}\n运营商: {data.get('isp','未知')}"
return [TextContent(type="text", text=result)]
if __name__ == "__main__":
import asyncio
from mcp.server.stdio import stdio_server
async def main():
async with stdio_server() as (read, write):
await server.run(read, write, server.create_initialization_options())
asyncio.run(main())

保存为ip_server.py。这就是一个完整的MCP Server。
接入Cursor
在Cursor的设置里找到MCP配置,添加:
{
"mcpServers": {
"ip-lookup": {
"command": "python",
"args": ["ip_server.py"]
}
}
}
重启Cursor。现在你可以在对话里直接说"帮我查一下8.8.8.8是哪里的IP",Cursor会自动调用你的MCP Server,返回地理位置和运营商信息。
整个过程:一个Python文件,不到50行代码,零外部依赖。
MCP vs 传统插件:到底强在哪
有人会问:这跟ChatGPT的插件系统有什么区别?
区别很大。
第一,标准化。 ChatGPT插件只在ChatGPT里能用。MCP Server在任何支持MCP的Host里都能用——Cursor、Claude Desktop、Cline、Cherry Studio,换一个Host,Server不用改一行代码。
第二,本地化。 ChatGPT插件跑在OpenAI的服务器上,你的数据得传过去。MCP Server可以跑在本地,数据不出你的机器。这对企业内部工具来说是刚需。
第三,双向通信。 传统插件是单向的——模型调一下,拿结果。MCP支持持续通信,Server可以主动推送资源更新,模型可以订阅变化。
第四,生态开放。 任何人都能写MCP Server,不需要审核、不需要上架。GitHub上已经有上千个开源Server,查数据库、操作文件、调API、发消息,基本覆盖了所有常见场景。
2026年MCP生态现状
截至2026年8月,MCP生态已经相当成熟。
模型侧 :Claude、GPT、DeepSeek、通义千问、Gemini全部原生支持MCP协议。你写的Server不挑模型。
工具侧 :GitHub上modelcontextprotocol/servers仓库已有超过1800个开源MCP Server,覆盖文件系统、数据库、浏览器自动化、代码搜索、API调用等场景。排前五的Server各自Star都破万了。
平台侧 :Cursor、Claude Code、Cline、Cherry Studio、Windsurf全部内置MCP支持。不需要额外装插件。
企业侧 :Palantir、Cloudflare、Stripe等公司已经开始用MCP构建内部AI工具链。Palantir甚至基于Ontology+MCP搭建了下一代业务中枢。
一个值得注意的趋势:Agent Skills正在和MCP形成互补。 MCP解决"模型怎么调工具"的问题,Agent Skills(AGENTS.md格式)解决"模型该怎么使用工具"的问题。一个是接口层,一个是规范层。两者配合,Agent才能真正可靠地干活。
常见踩坑
实际开发中,有几个坑几乎人人踩过。
坑一:stdio vs SSE搞混了。 MCP有两种传输模式:stdio(标准输入输出)和SSE(Server-Sent Events)。本地工具用stdio,远程服务用SSE。如果你把stdio模式的Server部署到远程服务器上,会发现根本连不上。记住:本地用stdio,远程用SSE。
坑二:inputSchema写错了模型不报错但也不调用。 JSON Schema里type必须是"object",properties里每个字段都要有type和description。少了description,模型可能理解不了参数含义就直接不调了。每个参数都写description,别偷懒。
坑三:异步函数忘记await。 MCP的Python SDK是全异步的,httpx也要用AsyncClient。混用同步和异步会导致Server卡死,而且不报错,就是一直等着。
坑四:返回格式不对。 call_tool必须返回一个列表,里面是TextContent对象。直接返回字符串会报错。如果返回图片,用ImageContent。别直接return字符串,包一层。
谁该学MCP
如果你是以下几种人,MCP值得花一个周末搞懂:
AI应用开发者 :你的Agent需要调外部工具,MCP是当前最省心的方案。不用给每个模型写适配,写一次到处用。
后端工程师 :公司想搞AI助手接内部系统?用MCP把内部API包装成工具,比从零搭一套AI集成快10倍。
独立开发者 :想给Cursor或Claude加自定义能力?MCP是最轻量的方式。一个Python文件就能扩展AI的能力边界。
测试/运维工程师 :把巡检脚本、监控告警、日志查询包装成MCP工具,让AI帮你做运维。已经有团队在这么干了。
要点回顾
- MCP(Model Context Protocol)是Anthropic开源的标准协议,统一了AI模型调用外部工具的方式,就像USB-C统一了充电接口
- 架构三个组成部分:Host(AI应用)、Client(连接器)、Server(工具提供方),Server和模型完全解耦
- 用Python SDK写一个最小MCP Server不到50行代码,支持接入Cursor、Claude Desktop等主流Host
- 相比传统插件系统,MCP的优势在于标准化、本地化、双向通信和生态开放
- 2026年8月MCP已全面成熟:主流模型全部支持,开源Server超1800个,主流IDE内置集成

评论0