MCP服务器

一个基于Python和FastAPI的MCP服务器,支持开发者工具和资源测试,可通过Docker或Render部署。

  • by CrispyCabot
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 CrispyCabot/ai-mcp-server-base

使用说明

AI MCP服务器基础

项目设置

先决条件

  • 使用Python 3.14.2制作,但其他版本可能适用

虚拟环境

建议使用虚拟环境来管理依赖关系。

创建虚拟环境

py -m venv .venv

激活虚拟环境

Windows(PowerShell):

.\.venv\Scripts\Activate

Windows(命令提示符):

.\.venv\Scripts\activate.bat

macOS/Linux:

source .venv/bin/activate

停用虚拟环境

deactivate

安装

  1. 激活您的虚拟环境。
  2. 安装所需的依赖项:
pip install -r requirements.txt

运行FastAPI服务器

要启动启用热重新加载的FastAPI服务器,请执行以下操作:

uvicorn app.main:app --reload

服务器将在以下时间可用 http://127.0.0.1:8000. 您可以访问API文档: http://127.0.0.1:8000/docs.

运行MCP服务器

您可以使用MCP CLI运行MCP服务器,它为测试工具和资源提供了一个开发人员检查器。

mcp dev app/mcp_server/main.py

这将启动MCP服务器并在浏览器中打开MCP检查器。

或者,您可以直接使用Python运行它(对于部署或简单测试很有用):

python app/mcp_server/main.py

通过Postman连接(流式HTTP)

MCP服务器使用Streamable HTTP(使用SSE处理事件)运行。通过邮递员连接:

  1. 使用启动MCP服务器 python app/mcp_server/main.py.
  2. 打开Postman并单击“新建”>“MCP”。
  3. 输入URL: http://localhost:8000/mcp.
  4. 发送请求。

您应该看到一个打开的事件流。服务器将在 endpoint 事件,您可以将其用于后续的POST请求(JSON-RPC),以与工具和资源进行交互。

部署(Docker)

该项目包括 Dockerfile 和 compose.yaml 便于部署。

使用Docker Compose运行

要运行MCP服务器,请执行以下操作:

docker compose up --build

服务器将在以下时间可用 http://localhost:8000.

构建Docker镜像

手动构建Docker镜像:

docker build -t mcp-server .

运行Docker容器

要运行容器(您可以提供 DB_DSN 环境变量(如果您有外部数据库):

docker run -p 8000:8000 -e DB_DSN="postgresql://user:password@host:5432/dbname" mcp-server

部署(渲染)

  1. 将代码推送到GitHub存储库。
  2. 登录到 渲染.
  3. 点击 新 并选择 网络服务.
  4. 连接您的GitHub存储库。
  5. 渲染将自动检测 Dockerfile.
  6. 重要:在配置中:
    • 运行时:Docker
    • 环境变量:添加 DB_DSN 如果您有数据库连接字符串。
  7. 点击 创建Web服务.

Render将构建您的Docker镜像并部署它。您将获得一个公共URL(例如。, https://your-app.onrender.com)您的MCP服务器可以访问。