上个月我在琢磨怎么把本地文件搜索和 AI 对话结合起来。试了几种方案,要么太重量级,要么得付费。后来看到 MCP 协议(Model Context Protocol),发现这东西其实挺轻量的——就是定义了一套标准接口,让 AI 模型能调用外部工具。
说人话:你写一个 Python 脚本,然后用 MCP 的标准方式暴露给 Claude 或者任何支持 MCP 的 AI 客户端,它就能调用你的代码。类似插件系统,但比插件协议更薄。
MCP 到底在解决什么问题?
先别急着看代码。我踩坑之前,一直以为 MCP 是什么高大上的框架。其实说白了就三个角色:
Host — 发起请求的客户端(比如 Claude Desktop)
Client — MCP 协议连接器(帮你跟 Server 之间的通道搞好)
Server — 你写的那个暴露工具的程序
最反直觉的一点:你不写 Host/Client,你只写 Server。MCP SDK 把通信细节全包了。
环境准备
先装个 MCP SDK。我用的是 Python,因为写起来最快:
pip install mcp就这一行。SDK 包含了 FastMCP、StdioServer 这些核心组件。没有版本依赖冲突,干干净净。
写一个能搜索文件的 Server
先搭架子:
from mcp.server import FastMCP, StdioServer from mcp.types import Tool, TextContent import os, fnmatch app = FastMCP('file-search')FastMCP 是简化版的 Server 类,比直接调 BaseServer 少写