实战篇:Python 开发 MongoDB 数据库 MCP Server
前言
目前 MCP (Model Context Protocol) 协议是给大模型插上工具链的翅膀,让大模型不仅拥有超高的推理和文本生成能力,还能具备执行大脑意识的工具能力。
如何开发一个 MCP Server
MCP 是一种协议,指的是模型上下文协议 (Model Context Protocol)。
官方 SDK
GitHub 仓库:https://github.com/modelcontextprotocol/python-sdk
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__":
mcp.run(transport='stdio')
以上代码实现了 FastMCP 库来创建一个简单的 MCP 服务器,它提供一个基本的工具(工具名:crawl),用于实现源代码的获取。这是一个非常简单的爬虫 MCP 入门示例,适合理解 MCP 服务器的工作原理和 FastMCP 的基本用法。
代码分析
- 从
mcp.server.fastmcp模块中导入了 FastMCP 类。 - 创建了一个 FastMCP 类的实例,命名为 spider。
@mcp.tool()是一个装饰器,将crawl函数注册为一个可供客户端调用的工具。mcp.run(transport='stdio')启动 MCP 服务器,通过标准输入输出与客户端通信。
fastapi-mcp 库
安装依赖:
pip install fastapi-mcp
案例分析:
import requests
from fastapi import FastAPI, HTTPException, Query
from pydantic import BaseModel
typing
fastapi_mcp add_mcp_server
app = FastAPI(
title=,
description=,
version=,
)
() -> :
:
response = requests.get(url)
{: response.text}
Exception e:
HTTPException(status_code=, detail=(e))
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=)


