订单交易服务器

一个MCP兼容的WebSocket JSON-RPC服务器,提供通过Finam TradeAPI发送订单的功能。

  • by MKUltra-Finam-Hack
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 MKUltra-Finam-Hack/MCP

使用说明

用于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。

流示例:

  1. Telegram 触发器 → AI 代理(带 MCP 客户端的模型)→ tools/list 用于检测 place_order。
  2. AI代理验证参数并调用 tools/call c:
{
  "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"
  }
}
  1. 服务器将请求转发给Finam,并返回订单标识符,模型使用这些标识符进行最终回复。

安全注意事项

  • 保存 FINAM_ACCESS_TOKEN 在秘密中(秘密管理器/环境变量)
  • 在生产环境中,请将服务置于TLS终止(反向代理)之后

链接

  • Finam下单接口:https://tradeapi.finam.ru/docs/guides/grpc/orders_service/PlaceOrder