Token导航 LogoToken导航TokenDH.com
Trading 212 MCP Server logo
金融服务未说明官方级别未说明来源级核验

Trading 212 MCP Server

MCP Server

一个与Trading 212 API无缝集成的模型上下文协议(MCP)服务器,提供账户管理、投资组合跟踪、订单执行和历史数据分析功能。

工具数

19

提示词数

0

GitHub Stars

1

资源数

0
金融科技TypeScriptClaudeClaude DesktopClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

enderekici

提供方

enderekici

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

交易212 MCP服务器

![CI](https://github.com/enderekici/trading212-mcp/actions/workflows/ci.yml)

TypeScript MCP License

全面的模型上下文协议(MCP)服务器,用于与Trading 212 API无缝集成。该服务器使像Claude这样的人工智能助手能够与您的Trading 212投资账户进行交互,提供对账户管理、投资组合跟踪、订单执行和历史数据分析的全面访问。

部署选项:

  • 使用Node.js进行本地安装
  • Docker容器(生产就绪)
  • Docker Compose便于编排

特性

🏦 账户管理

  • 获取账户信息(货币、ID)
  • 查看现金余额(自由、投资、冻结、总计)
  • 检索全面的帐户摘要

📊 投资组合管理

  • 列出所有空缺职位
  • 通过股票代码获取详细的位置信息
  • 实时损益跟踪

📈 订单管理

  • 查看所有活动订单
  • 下达市价单、限价单、止损单和止损限价单
  • 取消待处理订单
  • 支持DAY和GTC(取消前有效)订单
  • 延长交易时间支持

🔍 市场数据和工具

  • 搜索和过滤数千种可交易工具
  • 访问工具元数据(ISIN、货币、类型、交易时间表)
  • 查看交易所信息和交易时间

🥧 投资馅饼

  • 列出所有投资馅饼(投资组合桶)
  • 使用自定义分配创建新馅饼
  • 更新和删除现有的馅饼
  • 配置股息再投资设置

📜 历史数据

  • 带分页的访问订单历史记录
  • 检索股息支付记录
  • 查看完整的交易历史记录
  • 将指定时间段的数据导出到CSV

⚡ 性能和可观察性

  • 自动速率限制跟踪和标头
  • 用于类型安全的Zod模式验证
  • 使用自定义错误类进行全面的错误处理
  • 生产级结构化测井(Pino)
  • 支持演示和实时环境
  • API请求/响应检查的调试模式

安装

先决条件

  • 已安装Node.js 24+
  • 交易212账户(投资或ISA)
  • 交易212 API密钥(参见 安装指南)

选项1:Docker(推荐用于生产环境)

部署MCP服务器最简单的方法是使用Docker:

# Clone the repository
git clone https://github.com/enderekici/trading212-mcp.git
cd trading212-mcp

# Create .env file with your API key
echo "TRADING212_API_KEY=your_api_key_here" > .env
echo "TRADING212_ENVIRONMENT=demo" >> .env

# Start with Docker Compose
docker-compose up -d

医生.md 获取全面的Docker部署指南。

选项2:本地安装

从源代码安装和构建:

# Install dependencies
npm install

# Build the project
npm run build

配置

获取API密钥

  1. 打开Trading 212应用程序(移动或网络)
  2. 导航到 设置API(测试版)
  3. 点击 生成API密钥
  4. 配置权限:

- ✅ 账户数据 (阅读)-查看帐户信息 - ✅ 历史 (读取)-访问历史数据 - ✅ 订单 (读/写)-查看和下订单 - ✅ 投资组合 (阅读)-查看位置

  1. (可选)设置IP地址白名单以增强安全性
  2. 复制API密钥并安全存储

⚠️ 安全警告:切勿将API密钥提交给版本控制或公开共享。

环境变量

创建一个 .env 项目根目录中的文件:

# Required: Your Trading 212 API key
TRADING212_API_KEY=your_api_key_here

# Optional: Environment (demo or live), defaults to demo
TRADING212_ENVIRONMENT=demo

# Optional: Log level (trace, debug, info, warn, error, fatal), defaults to info
LOG_LEVEL=info

# Optional: Node environment (development or production), defaults to development
NODE_ENV=development

环境:

  • demo -纸张交易环境(建议测试)

- API基本URL: https://demo.trading212.com/api/v0 - 使用纸质交易账户(没有真钱) - 测试和开发安全 - 默认值 如果未指定

  • live -真实货币交易环境

- API基本URL: https://live.trading212.com/api/v0 - 使用真钱交易账户 - 谨慎使用

⚠️ 重要提示: 您的API密钥是特定于环境的。演示API密钥仅适用于 TRADING212_ENVIRONMENT=demo,并且API活动密钥仅适用于 TRADING212_ENVIRONMENT=live你不能把它们混在一起。

📖 有关环境的详细信息,请参见 环境.md

日志级别:

  • trace -最冗长,记录每一个细节
  • debug -详细日志,包括API请求、速率限制和调试信息
  • info -标准操作日志(默认,推荐)
  • warn -仅警告和错误
  • error -只有错误
  • fatal -只有致命错误

节点环境:

  • development -印刷精美的彩色原木(人类可读)
  • production -JSON日志(用于结构化日志系统)

MCP集成

此服务器可与任何兼容MCP的客户端配合使用。它支持两种传输方式:

传输使用时启动命令
标准客户端生成流程trading212-mcpnode dist/index.js
流式HTTP服务器单独运行trading212-mcp --http (服务于 http://localhost:3012/mcp)

克劳德桌面

增添 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

标准(推荐):

{
  "mcpServers": {
    "trading212": {
      "command": "trading212-mcp",
      "env": {
        "TRADING212_API_KEY": "your_api_key_here",
        "TRADING212_ENVIRONMENT": "demo"
      }
    }
  }
}

HTTP(首先启动服务器 trading212-mcp --http):

{
  "mcpServers": {
    "trading212": {
      "url": "http://localhost:3012/mcp"
    }
  }
}

Docker(标准操作系统):

{
  "mcpServers": {
    "trading212": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "TRADING212_API_KEY=your_api_key_here",
        "-e", "TRADING212_ENVIRONMENT=demo",
        "trading212-mcp:latest"
      ]
    }
  }
}

克劳德代码

增添 .claude/settings.json 或奔跑 claude mcp add:

音乐节目 :

{
  "mcpServers": {
    "trading212": {
      "command": "trading212-mcp",
      "env": {
        "TRADING212_API_KEY": "your_api_key_here",
        "TRADING212_ENVIRONMENT": "demo"
      }
    }
  }
}

HTTP(先启动服务器):

{
  "mcpServers": {
    "trading212": {
      "url": "http://localhost:3012/mcp"
    }
  }
}

光标

添加到Cursor的MCP设置(设置>MCP服务器>添加):

{
  "mcpServers": {
    "trading212": {
      "command": "trading212-mcp",
      "env": {
        "TRADING212_API_KEY": "your_api_key_here",
        "TRADING212_ENVIRONMENT": "demo"
      }
    }
  }
}

帆板运动

增添 ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "trading212": {
      "command": "trading212-mcp",
      "env": {
        "TRADING212_API_KEY": "your_api_key_here",
        "TRADING212_ENVIRONMENT": "demo"
      }
    }
  }
}

VS代码(副本)

增添 .vscode/mcp.json 在您的工作区或用户设置中:

{
  "servers": {
    "trading212": {
      "command": "trading212-mcp",
      "env": {
        "TRADING212_API_KEY": "your_api_key_here",
        "TRADING212_ENVIRONMENT": "demo"
      }
    }
  }
}

Gemini CLI

增添 ~/.gemini/settings.json:

{
  "mcpServers": {
    "trading212": {
      "command": "trading212-mcp",
      "env": {
        "TRADING212_API_KEY": "your_api_key_here",
        "TRADING212_ENVIRONMENT": "demo"
      }
    }
  }
}

OpenAI Codex命令行界面

增添 ~/.codex/config.json:

{
  "mcpServers": {
    "trading212": {
      "command": "trading212-mcp",
      "env": {
        "TRADING212_API_KEY": "your_api_key_here",
        "TRADING212_ENVIRONMENT": "demo"
      }
    }
  }
}

任何MCP兼容客户端

对于 标准,将您的客户指向 trading212-mcp 命令(或 node dist/index.js)使用所需的env变量。对于 超文本传输协议,先启动服务器(trading212-mcp --http --port 3012)并将您的客户指向 http://localhost:3012/mcp.

设置方法比较

方法优点缺点最适合
全球npm快速、简单需要安装Node.js大多数用户
Docker(标准操作系统)孤立、一致启动稍慢(约2秒)生产、团队
HTTP传输解耦、可共享必须单独启动服务器远程、多客户端
本地建设完全控制手动更新贡献者

医生.md 用于高级Docker部署选项,包括持久容器。

可用工具

账户管理

get_account_info

检索账户元数据,包括货币代码和账户ID。

例子:

Get my account information

get_account_cash

获取详细的现金余额信息。

退货: 自由现金、总计、已投资、冻结金额等。

例子:

How much cash do I have available?

get_account_summary

获取包含所有余额和损益的全面账户摘要。

例子:

Show me my complete account summary

投资组合管理

get_portfolio

列出所有当前价值和损益的未结头寸。

例子:

What stocks do I own?

get_position

获取特定职位的详细信息。

参数:

  • ticker (字符串,必填)-股票代码(例如“AAPL”、“TSLA”)

例子:

Show me my Apple position details

订单管理

get_orders

检索所有活动订单。

例子:

What are my pending orders?

get_order

获取特定订单的详细信息。

参数:

  • orderId (数字,必填)-订单ID

例子:

Show me details for order 12345

cancel_order

取消当前订单。

参数:

  • orderId (数字,必填)-要取消的订单ID

例子:

Cancel order 12345

place_market_order

下达市价单,以当前市场价格立即执行。

参数:

  • ticker (字符串,必填)-票务符号
  • quantity (数字,必填)-购买(正)或出售(负)的数量
  • timeValidity (字符串,可选)-“DAY”或“GTC”(默认值:“DAY“)

例子:

Buy 10 shares of Apple at market price

place_limit_order

下达限价单,以指定价格或更高价格执行。

参数:

  • ticker (字符串,必填)-票务符号
  • quantity (数字,必填)-买卖数量
  • limitPrice (数字,必填)-最高买入价或最低卖出价
  • timeValidity (字符串,可选)-“DAY”或“GTC”

例子:

Place a limit order to buy 5 shares of Tesla at $200

place_stop_order

下达止损单,触发后成为市价单。

参数:

  • ticker (字符串,必填)-票务符号
  • quantity (数字,必填)-买卖数量
  • stopPrice (数字,必填)-触发订单的价格
  • timeValidity (字符串,可选)-“DAY”或“GTC”

例子:

Place a stop order to sell 10 shares of MSFT if price drops below $300

place_stop_limit_order

下达一个止损限价单,当触发时,该限价单将成为限价单。

参数:

  • ticker (字符串,必填)-票务符号
  • quantity (数字,必填)-买卖数量
  • stopPrice (数字,必填)-触发订单的价格
  • limitPrice (数字,必填)-一旦触发限价
  • timeValidity (字符串,可选)-“DAY”或“GTC”

例子:

Place a stop-limit order to sell GOOGL at $140 with stop at $145

工具和市场数据

get_instruments

列出所有可交易的工具,并可选择搜索过滤。

参数:

  • search (字符串,可选)-按股票代码、名称或ISIN筛选

例子:

Search for all Apple instruments

get_exchanges

获取有关交易所和交易时间表的信息。

例子:

Show me exchange trading hours

投资馅饼

get_pies

列出所有投资馅饼及其配置。

例子:

Show me all my pies

get_pie

获取特定馅饼的详细信息。

参数:

  • pieId (数字,必填)-馅饼ID

例子:

Show details for pie 123

create_pie

创造新的投资蛋糕。

参数:

  • name (字符串,必填)-饼图名称(1-50个字符)
  • icon (字符串,必填)-图标标识符
  • instrumentShares (对象,必填)-Ticker到分配映射
  • dividendCashAction (字符串,必填)-“REINVEST”或“TO_ACCOUNT_CASH”
  • goal (数字,可选)-投资目标金额

例子:

Create a new pie called "Tech Portfolio" with 50% AAPL and 50% GOOGL, reinvesting dividends

update_pie

更新现有的饼图配置。

参数:

  • pieId (数字,必填)-馅饼ID
  • 其他参数与create_pie相同(均为可选)

例子:

Update pie 123 to change allocation to 60% AAPL and 40% GOOGL

delete_pie

删除投资馅饼。

参数:

  • pieId (数字,必填)-要删除的饼图ID

例子:

Delete pie 123

历史数据

get_order_history

使用分页支持获取历史订单。

参数:

  • cursor (数字,可选)-分页光标
  • limit (数字,可选)-每页结果(默认值:50)
  • ticker (字符串,可选)-按股票代码筛选

例子:

Show me my order history for the last month

get_dividends

获取股息支付历史记录。

参数:

  • cursor (数字,可选)-分页光标
  • limit (数字,可选)-每页结果
  • ticker (字符串,可选)-按股票代码筛选

例子:

Show me all dividends received this year

get_transactions

获取完整的交易历史记录。

参数:

  • cursor (数字,可选)-分页光标
  • limit (数字,可选)-每页结果

例子:

Show me my recent transactions

request_export

请求CSV导出帐户数据。

参数:

  • timeFrom (字符串,必填)-开始日期(ISO 8601格式)
  • timeTo (字符串,必填)-结束日期(ISO 8601格式)
  • includeDividends (布尔值,可选)-包括股息(默认值:true)
  • includeInterest (布尔值,可选)-包括兴趣(默认值:true)
  • includeOrders (布尔值,可选)-包括订单(默认值:true)
  • includeTransactions (布尔值,可选)-包括交易(默认值:true)

例子:

Export all my data from January 1st to December 31st 2024

对话示例

投资组合分析

User: What's my current portfolio performance?

Claude: Let me check your account summary and portfolio.
[Calls get_account_summary and get_portfolio]

You have a total portfolio value of $10,523.45 with an overall profit of $523.45 (+5.2%).

Your positions:
- AAPL: 10 shares at $150.00 (avg $145.00) - +$50.00 profit
- GOOGL: 5 shares at $140.00 (avg $135.00) - +$25.00 profit
- TSLA: 8 shares at $200.00 (avg $210.00) - -$80.00 loss

下单

User: Buy 5 shares of Microsoft at market price

Claude: I'll place a market order for 5 shares of MSFT.
[Calls place_market_order]

Order placed successfully:
- Order ID: 12345
- Ticker: MSFT
- Quantity: 5
- Type: MARKET
- Status: CONFIRMED
- Filled at: $350.25 per share

历史分析

User: How much have I received in dividends this year?

Claude: Let me check your dividend history.
[Calls get_dividends]

You've received $125.50 in dividends this year:
- AAPL: $45.00 (3 payments)
- MSFT: $50.50 (4 payments)
- JNJ: $30.00 (2 payments)

速率限制

交易212 API在每终结点的基础上强制执行利率限制。此MCP服务器通过响应标头自动跟踪速率限制信息:

  • x-ratelimit-limit -允许的最大请求数
  • x-ratelimit-remaining -剩余请求
  • x-ratelimit-reset -限制重置时的Unix时间戳

已知限制:

  • 帐户摘要:1个请求/5秒
  • 市价单:1个请求/2秒
  • 限价订单:1个请求/2秒

如果超过速率限制,服务器将抛出错误。始终检查错误消息中的速率限制信息。

错误处理

所有错误都会返回描述性消息:

{
  "error": "Trading 212 API Error (401): Invalid API key"
}

常见错误:

  • 401未经授权 -API密钥无效
  • 403禁止 -权限不足
  • 404未找到 -资源不存在
  • 429请求太多 -超出费率限制
  • 500内部服务器错误 -交易212服务问题

发展

以开发模式运行

npm run dev

为生产而建

npm run build

监视模式(自动重建)

npm run watch

API 文档

有关API完整文档,请访问:

支持的帐户类型

  • 投资账户 (一般交易账户)
  • ISA账户 (英国税收优惠账户)
  • 差价合约账户 (Trading 212 API不支持)

局限性

  • API目前处于BETA阶段,正在积极开发中
  • 不支持WebSocket/流媒体(仅限REST)
  • Pies API已弃用,不会收到进一步的更新
  • 不支持差价合约账户
  • 费率限制适用于每个帐户(而不是每个API密钥)

安全最佳实践

  1. 永远不要提交API密钥 到版本控制
  2. 使用环境变量 用于敏感配置
  3. 启用IP白名单 如有可能
  4. 在演示环境中测试 使用live之前
  5. 使用最小权限 您的用例所需
  6. 旋转API键 定期
  7. 监控API使用情况 通过速率限制标头

日志记录和调试

Trading 212 MCP服务器包括专业结构化日志记录,由 皮诺,提供生产级的可观察性和调试能力。

日志级别

使用控制日志的冗长程度 LOG_LEVEL 环境变量:

# Development - detailed logs
LOG_LEVEL=debug npm run dev

# Production - minimal logs
LOG_LEVEL=warn node dist/index.js

可用级别 (从最冗长到最不冗长):

  • trace -一切,包括内部细节
  • debug -API请求、速率限制、详细操作
  • info -服务器启动、工具执行(默认)
  • warn -警告和潜在问题
  • error -仅错误
  • fatal -导致关机的致命错误

日志输出格式

开发模式 (印刷精美,彩色):

NODE_ENV=development npm run dev

输出示例:

[16:32:15.423] INFO: Starting Trading 212 MCP server
    environment: "demo"
    version: "1.0.0"
    nodeVersion: "v20.10.0"
    platform: "darwin"
    logLevel: "info"

生产模式 (结构化JSON):

NODE_ENV=production npm start

输出示例:

{"level":"info","time":"2026-02-10T16:32:15.423Z","msg":"Starting Trading 212 MCP server","environment":"demo","version":"1.0.0"}

调试API请求

启用调试日志记录以查看所有API调用和速率限制信息:

LOG_LEVEL=debug node dist/index.js

调试日志包括:

  • API请求方法和端点
  • 速率限制标头(限制、剩余、重置时间)
  • 接近速率限制时的警告
  • 请求/响应时间
  • 带有上下文的错误详细信息

错误跟踪

服务器使用结构化错误类进行更好的调试:

  • AuthError -API关键问题(401)
  • ApiError -API请求失败(4xx,5xx)
  • RateLimitError -超出速率限制(429)
  • ValidationError -无效的请求参数(400)

所有错误都记录在:

  • 错误类型和代码
  • HTTP状态代码
  • 上下文信息
  • 请求详情
  • 堆栈痕迹(非生产中)

调试会话示例

# Enable detailed logging
export LOG_LEVEL=debug
export NODE_ENV=development

# Run the server
npm run dev

查找这些日志条目:

[DEBUG] API request - Shows every API call
[DEBUG] Rate limit info - Track API quota usage
[WARN] Approaching rate limit - Proactive warnings
[ERROR] Tool execution failed - Detailed error context

登录克劳德桌面

通过Claude Desktop运行时,日志会写入stderr,可以在以下位置查看:

macOS:

tail -f ~/Library/Logs/Claude/mcp*.log

视窗:

Get-Content "$env:APPDATA\Claude\Logs\mcp*.log" -Wait

故障排除

服务器未出现在Claude桌面中

  1. 验证中的路径 claude_desktop_config.json 是绝对的
  2. 确保项目建成(npm run build)
  3. 检查一下 dist/index.js 存在
  4. 完全重新启动克劳德桌面
  5. 检查Claude Desktop日志是否有错误

身份验证错误

  1. 在中验证API密钥是否正确 .env 或配置
  2. 检查API密钥是否具有所需的权限
  3. 确保您使用的是正确的环境(演示/直播)
  4. 验证IP白名单设置(如果已启用)

速率限制错误

  1. 等待速率限制窗口重置
  2. 检查 x-ratelimit-reset 重置时间标题
  3. 降低API调用频率
  4. 在适当的情况下实施缓存

贡献

欢迎投稿!拜托:

  1. 克隆该仓库
  2. 创建要素分支
  3. 通过测试进行更改
  4. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件

免责声明

这是一种非正式的整合。在使用真钱之前,始终在演示环境中进行彻底测试。交易涉及风险,你应该只投资你能承受损失的东西。

支持

对于此MCP服务器的问题:

  • 在GitHub上打开一个问题

对于Trading 212 API问题:

致谢

内置:

______________________________________________________________________

由...制作❤️ Trading 212和人工智能社区

目录标签

目录标签

金融科技TypeScriptClaude证券交易本地部署投资管理API集成自动化交易

支持客户端

Claude DesktopClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

19

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-keyremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP