MCP服务器

一个基于Python和FastAPI的MCP服务器,用于通过HTTP协议暴露工具和功能,并连接到AI助手如Cursor。

  • by RuhamaCopilot
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 RuhamaCopilot/mcp-streamable-http

使用说明

基于流式HTTP的MCP服务器——分步指南

📝 在此处阅读全文: 基于流式HTTP的MCP服务器(逐步)


此存储库包含如何构建和运行 MCP(模型上下文协议)服务器 使用Python, mcp,以及 FastAPI。您将学习如何:

  • 使用MCP协议通过HTTP公开工具和功能
  • 将这些工具连接到AI助手,例如 光标
  • 使用流式HTTP作为传输
  • 在FastAPI应用程序中安装多个MCP服务器

📁 文件夹结构

.
├── docs/                        # Diagrams and assets (e.g., mcp-client-server.png)
├── fastapi_example/            # Example mounting multiple MCP servers in FastAPI
│   ├── echo_server.py          # A server exposing a simple echo tool
│   ├── math_server.py          # A server exposing a math tool
│   └── server.py               # FastAPI app that mounts both echo and math servers
├── .gitignore
├── .python-version             # Python version (for tools like pyenv or uv)
├── pyproject.toml              # Project config and dependencies
├── readme.md                   # You're here!
├── runtime.txt                 # Python runtime for platforms like Render
├── server.py                   # Basic standalone MCP server using Tavily search
├── uv.lock                     # Lockfile for uv dependency manager

⸻

🛠 快速入门

  1. 安装uv(推荐的Python包管理器)
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 安装依赖项并设置环境
uv venv && source .venv/bin/activate
uv pip install -r pyproject.toml
  1. 运行基本MCP服务器 这使用Tavily API来公开一个简单的web_search工具。
uv run server.py
  1. 使用多个MCP服务器运行FastAPI应用程序
uv run fastapi_example/server.py

这将安装:

  • http://localhost:8000/echo/mcp/
  • http://localhost:8000/math/mcp/

⸻

🧪 使用MCP检查器进行调试

  1. 安装CLI支持
uv add 'mcp[cli]'
  1. 启动检查器
uv run mcp dev server.py

然后转到: http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=...

⸻

🔌 连接到光标

在Cursor中,在聊天设置>MCP服务器下添加您的MCP服务器:

{
  "mcpServers": {
    "tavily": {
      "url": "http://localhost:8000/mcp/"
    }
  }
}

✅ 注意:您必须在URL中包含尾随/。

⸻