使用说明
演示MCP服务器
使用FastMCP构建的演示模型上下文协议(MCP)服务器,提供了一个简单的掷骰子工具。
概述
该项目实现了一个基本的MCP服务器,该服务器通过模型上下文协议公开掷骰子功能。可以通过HTTP传输访问服务器。
代码结构(main.py)
进口
from fastmcp import FastMCP
import random
- FastMCP:用于创建具有最小样板的MCP服务器的主要框架类
- 随机:Python内置的随机数生成器模块,用于模拟骰子掷骰子
服务器初始化
mcp = FastMCP('demo-server')
创建名为“演示服务器”的FastMCP服务器实例。此名称标识MCP生态系统中的服务器。
工具定义
@mcp.tool
def roll_dice(n_dice: int = 1):
'''roll the n_dice 6-sided dice and return result'''
return [random.randint(1, 6) for _ in range(n_dice)]
目的:定义一个模拟滚动一个或多个6面骰子的工具。
参数:
n_dice(int,默认值=1):要掷骰子的数量
退货:一个整数列表,其中每个整数表示滚动一个骰子的结果(值在1到6之间)
实现细节:
- 使用
@mcp.tool装饰器将函数注册为MCP工具 - 使用列表理解
random.randint(1, 6)生成随机值 - 每个模辊都是独立的,产生1到6(包括1和6)的值
服务器执行
if __name__ == "__main__":
# mcp.run()
mcp.run(transport="http", host="0.0.0.0", port=8000)
目的:直接运行脚本时启动MCP服务器。
配置:
- 传输=“http”:使用HTTP作为通信协议(另一种选择是stdio)
- 主机=“0.0.0.0”:绑定到所有可用的网络接口,使服务器可以从任何IP地址访问
- 端口=8000:在端口8000上监听传入的HTTP请求
备注:评论行 # mcp.run() 显示了运行服务器的默认方式(使用stdio传输)。
用法
运行服务器
python main.py
服务器将于启动 http://0.0.0.0:8000 并揭露 roll_dice 工具通过MCP协议。
示例工具调用
服务器运行后,MCP客户端可以调用 roll_dice 工具:
- 第一卷模具(默认):
roll_dice() - 掷3个骰子:
roll_dice(n_dice=3)
掷3个骰子的示例输出: [4, 2, 6]
依赖项
- fastmcp:构建MCP服务器的框架
- 随机:标准Python库(无需安装)
看 pyproject.toml 获取完整的依赖关系信息。
项目文件
- main.py:主服务器实现
- pyproject.toml:项目配置和依赖关系
- uv.lock:可复制构建的依赖锁定文件
- .python版本:指定项目的Python版本
许可证
这是一个学习MCP服务器开发的演示项目。
