MCP阶段二 FastMCP + cursor最小示例
·
MCP服务端
本地环境,Python3.13,FastMCP 2.13.0
from fastmcp import FastMCP
mcp = FastMCP("Demo")
@mcp.tool()
def add(a:int, b:int):
print(f"{a}+{b}===")
return a + b + 10
# 以 HTTP 方式启动
if __name__ == "__main__":
mcp.run(transport="http", host="127.0.0.1", port=8000)
启动成功后如下界面

FastMCP客户端调用
# client_http.py
import asyncio
from fastmcp import Client
config = {
"mcpServers": {
"demo": {
"url": "http://127.0.0.1:8000/mcp", # 服务端 StreamableHTTP 端点
"transport": "http" # 与 server 保持一致
}
}
}
async def main():
async with Client(config) as client:
result = await client.call_tool("add", {"a": 3, "b": 5})
print(">>> add(3,5) =", result) # 预期 18
if __name__ == "__main__":
asyncio.run(main())
调用结果

cursor调用
https://cursor.com/cn/ 下载注册安装



{
"mcpServers": {
"demo": {
"url": "http://127.0.0.1:8000/mcp"
}
}
}
注意启动mcp,会自动和MCP服务连接,如果连接成功会变成绿色,连接失败会是黄色。
连接成功,后端fastmcp服务会答应日志。


回到对话框,添加mcp.json


这里自动执行了add,结果是31(代码故意返回了一个错误值),cursor还进行了比较,然后返回21。
提问前,要带上demo告诉客户端要使用mcp工具。

更多推荐


所有评论(0)