跳到主要内容

开发MCP服务

不同 MCP Server 可以封装不同的能力,比如一个MCP Server服务调用一个本地文件、一个负责调用后端API服务、一个负责操作数据库等等

  • FastMCP

FastMCP​

  • FastMCP 是 Python MCP SDK 里用于快速开发 MCP Server服务框架

MCP Server部署​

  • MCP Server 常见有两种部署方式,主要取决于你用什么传输方式
    • 本地进程模式 和 远程服务模式。
  • 如果是本地工具,通常不用“部署到服务器”,而是直接在 Agent 所在机器启动。

本地进程模式部署​

  • 配置MCP Client 配置这个启动命令:python server.py
  • MCP Server 本身就是一个本地子进程
text
Agent / MCP Client
↓
启动本地 MCP Server 进程
↓
stdio 通信
↓
MCP Server
↓
本地文件 / Playwright / 本地命令

远程服务模式部署​

  • 如果希望多个 Agent 共用,或者 MCP Server 访问公司内部 API、数据库,会部署成远程服务
  • 远程模式可以把 MCP Server 当成一个普通后端服务来部署
  • 启动后会暴露一个 HTTP 地址,Agent 里的 MCP Client 配置这个地址,就可以远程调用。
text
Agent A ─┐
Agent B ─┼── HTTP ──> MCP Server
Agent C ─┘
↓
数据库 / API / 业务系统

部署​

  • 部署到 Linux 服务器,启动MCP Server服务
    • 如:python server.py启动服务
  • Docker 部署,目前主流部署方案
  • 通过nginx反向代理端口
Docker 部署​
  • 构建镜像:docker build -t demo-mcp .
  • 启动容器:docker run -d --name demo-mcp -p 8000:8000 demo-mcp
text
FROM python:3.12-slim

WORKDIR /app

COPY . .

RUN pip install -r requirements.txt

CMD ["python", "server.py"]
nginx反向代理​
bash
server {
listen 443 ssl;

server_name mcp.example.com;

location /mcp {
proxy_pass http://127.0.0.1:8000;
}
}