TIL: MCP 服务器不到 20 行 Python 就能写出来
内容提要
Al Sweigart 演示了如何用不到 20 行 Python 代码创建一个简单的 MCP 服务器,提供当前时间和日期的功能。通过使用装饰器和标准输入输出,简化了代码和客户端连接。Claude Code 原生支持 MCP 协议,用户只需简单配置即可使用。
关键要点
-
Al Sweigart 演示了一个不到 20 行的 MCP 服务器,提供当前时间和日期功能。
-
使用 @mcp.tool() 装饰器将普通函数注册为 MCP 工具,简化了代码。
-
通过 stdio 传输,客户端与服务器通过管道通信,不需要网络连接。
-
Claude Code 原生支持 MCP 协议,用户只需简单配置即可使用。
-
在项目根目录创建或编辑 .mcp.json 文件以配置 MCP 服务器。
延伸解读
MCP 服务器的简化设计
Al Sweigart 的 MCP 服务器示例展示了如何通过设计决策来简化代码。使用 @mcp.tool() 装饰器,开发者无需手动编写 JSON Schema,直接将函数注册为工具。这种方法不仅减少了代码量,还提高了开发效率,适合快速原型开发。
客户端连接的便利性
通过 stdio 传输,MCP 服务器与客户端的连接变得更加简单。客户端可以将服务器作为子进程启动,利用管道进行通信,无需复杂的网络设置。这种设计适合在本地环境中快速测试和使用,降低了入门门槛。
Claude Code 的原生支持
Claude Code 对 MCP 协议的原生支持使得用户可以轻松配置和使用 MCP 服务器。只需在项目根目录创建或编辑 .mcp.json 文件,便可快速集成时间查询功能。这种便捷性使得开发者能够专注于业务逻辑,而非底层实现。
延伸问答
如何用 Python 创建一个 MCP 服务器?
可以使用不到 20 行的 Python 代码,通过 FastMCP 类和 @mcp.tool() 装饰器来创建一个 MCP 服务器。
MCP 服务器提供哪些功能?
MCP 服务器提供获取当前时间和日期的功能。
如何配置 MCP 服务器?
在项目根目录创建或编辑 .mcp.json 文件,添加服务器配置。
客户端如何连接到 MCP 服务器?
客户端通过标准输入输出与服务器通信,无需网络连接,直接将服务器作为子进程启动。
使用 MCP 服务器时需要注意什么?
使用 @mcp.tool() 装饰器时,建议用英文编写工具描述,以提高 LLM 的调用效果。
Claude Code 如何支持 MCP 协议?
Claude Code 原生支持 MCP 协议,用户只需简单配置即可使用,且可以通过命令直接添加服务器。