MCP Server搭建
准备环境,并初始化项目目录
Python版本的MCP servers开发过程用uv管理是最连贯的,本文全程以uv命令演示。
# 1、安装uv curl -LsSf https://astral.sh/uv/install.sh | sh # 初始化项目目录 uv init mcp-calculator && cd mcp-calculator # 创建隔离环境并激活 uv venv source .venv/bin/activate # Windows: .venv\Scripts\activate # 安装核心依赖 uv add "mcp[cli]"
另外,您需要一个支持使用 MCP 协议调用工具的 LLM 应用程序,即“MCP 客户端”,例如 Cherry Studio、Claude Desktop、Cursor 或 Cline。
本地MCP Server测试(stdio测试)
本文以一个简单的当前时间实现,演示如何用FastMCP开发一个MCP服务。
在上一步创建的项目中,创建TestMCP.py文件,放在TestMCP目录下,TestMCP.py里的内容如下:
from mcp.server.fastmcp import FastMCP
from datetime import datetime
mcp = FastMCP("TestMCP") # 这个demo 就是MCP Server的名字
@mcp.tool()
def get_current_time():
"""
获取当前时间的函数,输入格式为{“time”: YYYY-MM-DD HH:MM:SS}.
参数:
无
返回:
字典,包含当前时间的字符串表示
"""
# 获取当前日期和时间
now = datetime.now()
# 将日期和时间格式化为字符串
formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")
# 创建包含当前时间的字典
current_time = {"time": formatted_time}
return current_time
if __name__ == '__main__':
print("Starting MCP Server...")
mcp.run(transport='stdio')
客户端测试您的MCP server(可选)
一旦您的服务调试通过后,可用python命令在本地客户端中使用了,例如在Cherry Studio的MCP 服务器页面配置您的MCP服务器:

回到对话界面,打开自己的MCP服务器,即可进行测试

远程MCP Server测试(SSE测试)
再创建TestMCP_Calc.py文件,放在TestMCP目录下,TestMCP_Calc.py里的内容如下:
from fastmcp import FastMCP import math mcp = FastMCP("CalculatorService") # 算术工具组 @mcp.tool() def add(a: float, b: float) -> float: """执行浮点数加法运算""" return a + b @mcp.tool() def subtract(a: float, b: float) -> float: """执行浮点数减法运算""" return a - b @mcp.tool() def multiply(a: float, b: float) -> float: """执行浮点数乘法运算""" return a * b @mcp.tool() def divide(a: float, b: float) -> float: """执行浮点数除法运算 Args: b: 除数(必须非零) """ if b == 0: raise ValueError("除数不能为零") return a / b # 高级数学工具 @mcp.tool() def power(base: float, exponent: float) -> float: """计算幂运算""" return base ** exponent @mcp.tool() def sqrt(number: float) -> float: """计算平方根""" return math.sqrt(number) @mcp.tool() def factorial(n: int) -> int: """计算整数阶乘""" return math.factorial(n) if __name__ == "__main__": # mcp.run(transport='stdio') # 将传输模式修改为SSE mcp.run(transport="sse", host="0.0.0.0", port=8000)
启动MCP server

设置dify

MCP服务器配置
{
"mcpServers": {
"CalculatorService": {
"type": "sse",
"url": "http://10.254.2.13:8000/sse"
}
}
}
dify模型设置选择 支持函数调用

dify编排添加插件

问答测试


浙公网安备 33010602011771号