使用说明
用于Finam PlaceOrder的MCP服务器(Go语言)
该项目提供了一个MCP兼容的WebSocket JSON-RPC服务器,配备一个工具: place_order,它通过Finam TradeAPI发送申请。
可能性/功能
- WebSocket端点:
/ws(JSON-RPC 2.0) - 工具:
place_order— 重复Finam PlaceOrder的参数
- 健康检查端点:
GET /healthz
配置
环境变量:
SERVER_ADDR(默认:8080)FINAM_API_BASE_URL(默认https://api.finam.ru)FINAM_ACCESS_TOKEN(必填)
本地启动
cd mcp-server
go mod tidy
go run ./cmd/server
# WebSocket: ws://localhost:8080/ws
Docker
docker build -t mcp-finam:latest .
docker run -e FINAM_ACCESS_TOKEN=... -p 8080:8080 mcp-finam:latest
与n8n集成
使用MCP客户端节点,指定地址 ws://<host>:8080/ws。
流示例:
- Telegram 触发器 → AI 代理(带 MCP 客户端的模型)→
tools/list用于检测place_order。 - AI代理验证参数并调用
tools/callc:
{
"name": "place_order",
"arguments": {
"account_id": "12345",
"symbol": "AFLT@MISX",
"quantity": "10",
"side": "SIDE_BUY",
"type": "ORDER_TYPE_LIMIT",
"time_in_force": "TIME_IN_FORCE_DAY",
"limit_price": "50",
"client_order_id": "tg-20251003-001"
}
}
- 服务器将请求转发给Finam,并返回订单标识符,模型使用这些标识符进行最终回复。
安全注意事项
- 保存
FINAM_ACCESS_TOKEN在秘密中(秘密管理器/环境变量) - 在生产环境中,请将服务置于TLS终止(反向代理)之后
链接
- Finam下单接口:https://tradeapi.finam.ru/docs/guides/grpc/orders_service/PlaceOrder