首页
/ MCP初学者项目:使用Python构建你的第一个MCP服务器

MCP初学者项目:使用Python构建你的第一个MCP服务器

2025-07-08 07:39:02作者:农烁颖Land

概述

本文将通过一个简单的Python示例,介绍如何使用MCP框架构建一个基础服务器。这个示例来自MCP初学者项目中的第一个服务器实现,非常适合刚接触MCP框架的开发者学习。

MCP服务器基础概念

MCP(Microsoft Cloud Platform)是一个轻量级的服务构建框架,它允许开发者快速创建包含工具和资源的服务端点。在这个示例中,我们将看到两种核心组件:

  1. 工具(Tool): 执行特定功能的函数
  2. 资源(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框架的核心概念:

  1. 微服务构建:可以基于此模式构建更复杂的微服务
  2. API开发:工具和资源都可以作为API端点暴露
  3. 快速原型:适合快速验证业务逻辑和接口设计

扩展建议

掌握了这个基础示例后,你可以尝试以下扩展:

  1. 添加更多工具函数,如减法、乘法等
  2. 实现更复杂的资源,如返回JSON格式数据
  3. 添加错误处理和输入验证
  4. 集成数据库访问功能
  5. 添加认证和授权机制

总结

通过这个简单的Python示例,我们学习了如何使用MCP框架构建一个基础服务器。关键点包括:

  1. 使用FastMCP类初始化服务器
  2. 通过装饰器注册工具和资源
  3. 定义清晰的接口规范
  4. 编写有意义的文档字符串

这个示例为理解MCP框架的工作方式提供了良好起点,后续可以在此基础上构建更复杂的服务功能。