开发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 本身就是一个本地子进程
Agent / MCP Client
↓
启动本地 MCP Server 进程
↓
stdio 通信
↓
MCP Server
↓
本地文件 / Playwright / 本地命令
远程服务模式部署
- 如果希望多个 Agent 共用,或者 MCP Server 访问公司内部 API、数据库,会部署成远程服务
- 远程模式可以把 MCP Server 当成一个普通后端服务来部署
- 启动后会暴露一个 HTTP 地址,Agent 里的 MCP Client 配置这个地址,就可以远程调用。
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
FROM python:3.12-slim
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
CMD ["python", "server.py"]
nginx反向代理
- 生产环境一般不会直接暴露端口,需要通过反向代理
- mcp server服务地址:https://mcp.example.com/mcp
server {
listen 443 ssl;
server_name mcp.example.com;
location /mcp {
proxy_pass http://127.0.0.1:8000;
}
}