大模型在线MCP服务器搭建

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

《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客户端的编写了。

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值