custodyops mcp python
最低限度 Python MCP服务器 超过 流式HTTP 使用FastAPI+ fastmcp,准备在上部署 渲染 使用HTTPS。它暴露了一个 ping 工具加两个演示工具(get_positions, list_upcoming_corporate_actions)您可以用只读适配器替换您的托管数据。
为什么是流式HTTP? 这是推荐的运输方式 远程/托管MCP服务器,将双向流式传输简化为单个 POST /mcp 端点,使云部署变得简单。有关规范模式,请参阅MCP HTTP快速入门和SDK文档。特性
- 位于的可流式HTTP端点
POST /mcp - 承载者身份验证 通过
AUTH_TOKEN /health正常运行时间检查的端点- 代码占用最小,易于使用更多MCP工具进行扩展
- 一键部署 通过渲染
render.yaml
快速启动(本地)
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scriptsctivate
pip install -r requirements.txt
export AUTH_TOKEN=devtoken123
export PORT=3000
uvicorn app:app --host 0.0.0.0 --port $PORT使用cURL进行测试:
# tools/list
curl -s -X POST http://localhost:3000/mcp -H "Content-Type: application/json" -H "Authorization: Bearer devtoken123" -d '{"jsonrpc":"2.0","id":"1","method":"tools/list","params":{}}' | jq
# tools/call ping
curl -s -X POST http://localhost:3000/mcp -H "Content-Type: application/json" -H "Authorization: Bearer devtoken123" -d '{"jsonrpc":"2.0","id":"2","method":"tools/call","params":{"name":"ping","arguments":{}}}' | jq或者运行辅助脚本:
chmod +x scripts/test_locally.sh
AUTH_TOKEN=devtoken123 PORT=3000 ./scripts/test_locally.sh部署到渲染(HTTPS)
- 叉或推 将此仓库添加到您的GitHub。
- 在渲染中: New → 网络服务→ 连接仓库.
- 查看来自的设置
render.yaml(Python环境,免费计划)。提供自动配置 超文本传输安全协议. - 集
AUTH_TOKEN在渲染中 环境 (如果使用蓝图,则自动生成)。 - 部署→ 您的公共MCP端点是:
https://.onrender.com/mcp.
远程测试:
APP_URL=https://.onrender.com AUTH_TOKEN= ./scripts/test_remote.sh从克劳德桌面(远程MCP)使用
向添加中继条目 claude_desktop_config.json:
{
"mcpServers": {
"custodyops-mcp": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://.onrender.com/mcp"],
"env": { "AUTH_TOKEN": "" }
}
}
}重新启动应用程序,然后让Claude列出可用的工具。
使用真实的监护数据进行扩展
将演示工具替换为数据集市或API的只读适配器。保留回复 小字体,并在可能的情况下添加野外来源。
骨架示例:
@mcp_tool
def get_positions(account_id: str) -> str:
rows = query_positions(account_id) # your adapter
return json.dumps(rows)安全说明
- 保持
AUTH_TOKEN秘密;定期旋转。对于企业使用,请转到OAuth/JWT并添加每个帐户的授权。 - 随着 HTTP传输,正常的日志记录是可以的,但要编辑敏感数据并添加请求ID。
许可证
麻省理工学院
