Sentra-MCP(注:此词可能为特定领域或品牌名称,直接翻译为“森特拉-MCP”或根据上下文可能有更具体的含义)
使用FastAPI和官方库构建的最小MCP服务器 mcp[server]. 它展示了一个兼容ChatGPT开发者模式的SSE(Server-Sent Events)流,并提供了两个演示工具(ping, time)。
特点
- 服务器
FastMCP(SSE) 在 FastAPI 中实现 (/sse在同一路径上使用GET + POST JSON-RPC)。 - 健康检查 REST(接口)
GET /health用于监督。 - 两个MCP工具:
- ping → {"message": "pong"} - time → {"utc": ""}
- 通过配置进行
.env(服务名称、指令、SSE路径、端口、日志级别)。 - 基于的Dockerfile
python:3.12-slim以及使用docker-compose进行编排(端口8400)。
存款结构
mcp/– 应用程序包(配置 + FastAPI/MCP 应用)。docker/– 容器化工件(Dockerfile,Caddyfile)。docker-compose.yml– stack API + 可选代理。.env.example– 环境规格。requirements.txt– Python 依赖项。
本地启动
- 准备虚拟环境并安装依赖项:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt- 复制
.env.example向(某处);朝着(某方向).env如有需要,进行调整。 - 启动服务器:
uvicorn mcp.main:app --host 0.0.0.0 --port 8400 --reload- 检查健康状况:
curl -fsSL http://localhost:8400/health- 测试MCP SSE流量(手动示例):
# 1) Ouvrir une connexion SSE et récupérer le point de POST retourné (event "endpoint")
curl -N http://localhost:8400/sse
# 2) Dans un autre terminal, envoyer un appel JSON-RPC vers le point retourné
curl -fsSL -X POST "http://localhost:8400/sse?session_id=" \
-H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":"1","method":"call_tool","params":{"name":"time","arguments":{}}}'Docker & Compose(注:此处“&”通常表示“和”的意思,但在此上下文中,若作为标题或专有名词,可直接译为“Docker 和 Compose”,无需添加“和”字,因为中文表达中有时会省略连接词以保持简洁)
cp .env.example .env
# Démarrer l’API (et Caddy si besoin d’un reverse proxy HTTPS)
docker compose up --build- MCP API 监听在
http://localhost:8400。 - 激活配置文件
reverse-proxy如果您希望使用Caddy管理的HTTPS:docker compose --profile reverse-proxy up -d。
监控与重启
Le docker-compose.yml 执行健康检查(/health) 每30秒以及 restart: unless-stopped.
验证(本地或VPS)
docker compose up --build或者在您的VPS上部署该镜像。- 查看日志:
docker compose logs -f api。 - 检查:
curl -fsSL http://:8400/health
curl -N http://:8400/sse # récupérer l’event endpoint
curl -fsSL -X POST "http://:8400/sse?session_id=" \
-H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":"1","method":"call_tool","params":{"name":"ping","arguments":{}}}'docker ps以确认仅MCP服务对外暴露。- 监控负载(
htop,docker stats)。
集成ChatGPT开发者模式
- 发布服务的HTTPS URL(反向代理/Caddy/Cloudflare Tunnel)。
- 验证TLS证书。
- 在ChatGPT中→ 连接器 → 开发者模式,声明MCP的URL(点
/sse)。 - 验证工具
ping和time出现并作出回应。
VPS 准备(提醒)
- 盘点CPU/内存/硬盘:
lscpu,free -h,df -h /。 - 清理 Docker
docker container/image/volume/system prune)。 - 切断冲突服务(
sudo ss -tulpn | grep ':8400')。 - 更新机器(
sudo apt update && sudo apt upgrade -y)。 - 重新检查OVH防火墙+
ufw/nftables以限制允许的IP地址。
发展轨迹
- 添加丰富工具(
git.commit_push,files.write,n8n.trigger,doc.index,doc.query。..). - 本地RAG(嵌入CPU + Chroma/FAISS)。
- 身份验证(OAuth/Bearer)、基于角色的访问控制(RBAC)、配额、Prometheus指标。
- 网络加固(速率限制、Web应用防火墙、内部mTLS)。
- 基础设施供应(Terraform + Ansible)和可观测性。
