MCP协议详解:让AI连接一切工具的开放标准
🩺 摘要
想让AI读取你的本地文件、查数据库、调用API。但每个AI工具都有自己的接入方式,每次都要重新对接。MCP说:统一接口,一次对接到处用。
📝 详情
MCP是什么
MCP(Model Context Protocol)是Anthropic推出的开放协议。简单说:它定义了一套标准,让AI模型能通过统一的方式调用外部工具。
类比:USB协议让所有设备用同一个接口连接电脑,MCP让所有工具用同一个接口连接AI。
为什么需要MCP
2026年的AI生态里,模型越来越多(GPT、Claude、DeepSeek),工具也越来越多(搜索、数据库、API)。每个模型去对接每个工具,NxM的问题。
MCP解决了这个问题:
没有MCP:模型A→工具1, 模型A→工具2, 模型B→工具1, 模型B→工具2
有MCP:工具1→MCP服务器, 工具2→MCP服务器, 模型→MCP客户端→MCP服务器
MCP的核心概念
- MCP Server — 工具提供方。比如一个文件读取MCP Server
- MCP Client — AI应用的SDK,负责连接Server
- Resources — 工具暴露的数据(文件、数据库表)
- Tools — 工具暴露的功能(搜索、计算)
写一个MCP Server
# file_mcp_server.py
from mcp.server import Server
app = Server("file-reader")
@app.tool()
async def read_file(path: str) -> str:
"""读取指定路径的文件内容"""
with open(path, 'r', encoding='utf-8') as f:
return f.read()
@app.tool()
async def list_directory(path: str) -> list:
"""列出目录下的文件"""
import os
return os.listdir(path)
if __name__ == "__main__":
app.run()
在AI应用中使用
from mcp import Client
client = Client()
client.connect("path/to/file_mcp_server.py")
# AI自动发现工具并使用
tools = client.list_tools()
for tool in tools:
print(f"{tool.name}: {tool.description}")
2026年的生态
目前已经有很多现成的MCP Server: - 文件系统(读/写文件) - 数据库(MySQL/PostgreSQL) - 浏览器(网页抓取) - GitHub(代码仓库操作) - Slack/飞书(消息发送) - 搜索(谷歌/Bing)
一句话
MCP就是AI世界的USB协议。一次对接,到处使用。以后所有AI工具都会支持它。
💬 评论 (0)