MCP初学者项目:使用Python构建你的第一个MCP服务器
2025-07-08 07:39:02作者:农烁颖Land
概述
本文将通过一个简单的Python示例,介绍如何使用MCP框架构建一个基础服务器。这个示例来自MCP初学者项目中的第一个服务器实现,非常适合刚接触MCP框架的开发者学习。
MCP服务器基础概念
MCP(Microsoft Cloud Platform)是一个轻量级的服务构建框架,它允许开发者快速创建包含工具和资源的服务端点。在这个示例中,我们将看到两种核心组件:
- 工具(Tool): 执行特定功能的函数
- 资源(Resource): 可通过URI访问的数据端点
代码解析
1. 服务器初始化
from mcp.server.fastmcp import FastMCP
# 创建MCP服务器实例
mcp = FastMCP("Demo")
这部分代码完成了以下工作:
- 从
mcp.server.fastmcp
模块导入FastMCP
类 - 创建了一个名为"Demo"的MCP服务器实例
FastMCP
是MCP框架提供的一个轻量级服务器实现,适合快速开发和原型设计。
2. 添加工具
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
这里定义了一个简单的加法工具:
- 使用
@mcp.tool()
装饰器将函数注册为MCP工具 - 函数接受两个整数参数,返回它们的和
- 类型注解清晰地定义了接口规范
- 文档字符串描述了工具的功能
工具是MCP服务器中可调用的功能单元,客户端可以通过标准接口调用这些工具。
3. 添加资源
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""Get a personalized greeting"""
return f"Hello, {name}!"
这部分定义了一个动态资源:
- 使用
@mcp.resource()
装饰器注册资源 - 资源URI模板中包含变量
{name}
- 函数根据传入的name参数生成个性化问候语
- 同样包含类型注解和文档字符串
资源是MCP服务器中可通过URI访问的数据端点,支持参数化访问。
实际应用场景
这个简单的服务器示例虽然功能基础,但展示了MCP框架的核心概念:
- 微服务构建:可以基于此模式构建更复杂的微服务
- API开发:工具和资源都可以作为API端点暴露
- 快速原型:适合快速验证业务逻辑和接口设计
扩展建议
掌握了这个基础示例后,你可以尝试以下扩展:
- 添加更多工具函数,如减法、乘法等
- 实现更复杂的资源,如返回JSON格式数据
- 添加错误处理和输入验证
- 集成数据库访问功能
- 添加认证和授权机制
总结
通过这个简单的Python示例,我们学习了如何使用MCP框架构建一个基础服务器。关键点包括:
- 使用
FastMCP
类初始化服务器 - 通过装饰器注册工具和资源
- 定义清晰的接口规范
- 编写有意义的文档字符串
这个示例为理解MCP框架的工作方式提供了良好起点,后续可以在此基础上构建更复杂的服务功能。