实战篇:Python 开发 MongoDB 数据库 MCP Server
前言
目前 MCP(Model Context Protocol)协议是给大模型插上工具链的翅膀,让大模型不仅拥有超高的推理和文本生成能力,还能具备执行工具的能力。
如何开发一个 MCP 服务?
MCP 是一种协议,指的是模型上下文协议 (Model Context Protocol)。
官方 SDK 地址:https://github.com/modelcontextprotocol/python-sdk
1. 使用 mcp 库
安装依赖:
pip install mcp
代码示例:
from mcp.server.fastmcp import FastMCP
import requests
mcp = FastMCP("spider")
@mcp.tool()
def crawl(url: str) -> str:
"""获取网页的源代码"""
response = requests.get(url)
return response.text
if __name__ == "__main__":
# stdio 方式启动,适合本地开发和测试
mcp.run(transport='stdio')
# 如需远程通信,可更改为 sse
# mcp.run(transport="sse")
代码分析:
- 从
mcp.server.fastmcp模块中导入FastMCP类。 - 创建
FastMCP实例,命名为spider。参数是服务器名称。 @mcp.tool()装饰器将crawl函数注册为可供客户端调用的工具。- 文档字符串描述工具功能,客户端会显示此描述。
mcp.run(transport='stdio')启动服务器,通过标准输入输出与客户端通信。
2. 使用 fastapi-mcp 库
安装依赖:
pip install fastapi-mcp
代码示例:
import requests
from fastapi import FastAPI, Query
typing
fastapi_mcp add_mcp_server
app = FastAPI(
title=,
description=,
version=,
)
() -> :
response = requests.get(url)
{: response.text}
mcp_server = add_mcp_server(
app,
mount_path=,
name=,
description=,
base_url=,
describe_all_responses=,
describe_full_response_schema=,
)
__name__ == :
uvicorn
uvicorn.run(app, host=, port=)


