《DeepSeek 原生应用与智能体开发实践》【摘要 书评 试读】- 京东图书
我们通过MCP官方提供的配置可以完成MCP服务器的搭建,但是对于新手来说,需要了解和掌握服务器的配置,并对文件的命名与代码的编写要求有一定的了解。为了方便使用MCP在线服务器的搭建,我们可以使用现成的Python库来完成MCP服务器的搭建。首先我们需要安装以下两个Python库,打开终端运行如下命令:
pip install fastapi
pip install fastapi_mcp
fastapi与fastapi_mcp是用于通过网络对MCP服务提供支持的Python库,在安装成功后,我们可以直接移植前面准备的函数,完整的服务器代码如下所示:
from fastapi import FastAPI, HTTPException
from fastapi_mcp import FastApiMCP
from pydantic import BaseModel
from datetime import datetime
# 初始化FastAPI应用
app = FastAPI(title="AI计算服务", description="提供基础数学计算、时间查询和天气模拟功能")
# 数学运算端点
@app.get("/add", operation_id="add_numbers")
def add_numbers(a: int, b: int):
"""计算两个整数的和"""
return {"result": a + b}
@app.get("/multiply", operation_id="multiply_numbers")
def multiply_numbers(a: int, b: int):
"""计算两个整数的乘积"""
return {"result": a * b}
# 时间获取端点
@app.get("/datetime", operation_id="date_time")
def date_time():
"""获取当前系统时间"""
return {"datetime": datetime.now().strftime("%Y-%m-%d %H:%M:%S")}
@app.post("/weather", operation_id="get_weather")
def get_weather(city_name: str):
"""获取指定城市天气信息"""
return {
"city": city_name,
"temperature": "23℃"
}
# 初始化MCP服务器
mcp = FastApiMCP(
app,
name="Math & Weather API",
description="提供数学运算和天气查询服务的MCP接口",
base_url="http://localhost:8000",
include_operations=[
"add_numbers",
"multiply_numbers",
"date_time",
"get_weather"
]
)
mcp.mount()
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=8000)
程序代码较为简单,整体逻辑就是首先定义服务器的名称与服务器描述,之后将不同的工具函数进行注册,并提供访问地址和端口,最后将MCP服务器挂载和启动。直接运行上述代码,结果如图6-4所示。

图6-4 MCP服务器的启动
可以看到此时我们已经正常启动了MCP服务,后续就可以继续完成MCP客户端的编写了。


1638

被折叠的 条评论
为什么被折叠?



