t212-mcp
t212-mcp
MCP-сервер, предоставляющий доступ к вашему аккаунту Trading212 (сводка, портфель, денежные средства, история ордеров, дивиденды) в виде инструментов, предназначенный для прямого подключения к claude.ai в качестве пользовательского удалённого коннектора.
Поскольку claude.ai обращается к этому серверу через публичный интернет, а ваш аккаунт T212 является live, сервер требует OAuth-вход (один пароль, который вы задаёте) перед обработкой любых вызовов инструментов — см. auth.py.
0. Получите код на VPS и установите необходимые зависимости
git clone <this-repo-url> t212-mcp && cd t212-mcpНа VPS вам понадобятся: git, rsync и uv, установленные системно (не только в вашем $HOME, так как приложение позже запускается от имени отдельного системного пользователя без домашнего каталога):
curl -LsSf https://astral.sh/uv/install.sh | sh
sudo cp "$HOME/.local/bin/uv" /usr/local/bin/uvRelated MCP server: Trading212 MCP Server
1. Настройка
python3 setup_wizard.pyПроведёт вас через процесс интерактивно: ваш API-ключ/секрет T212, домен (предлагает бесплатный <ip>.sslip.io, если у вас нет своего), и пароль для входа — затем запишет .env с правами chmod 600. Повторный запуск в любое время пересоздаст .env с нуля (спросит перед перезаписью).
Предпочитаете редактировать вручную? cp .env.example .env и заполните:
T212_API_KEY/T212_API_SECRET— из Trading212 → Settings → API (пара Key/Secret, базовая аутентификация).T212_ENV—liveилиdemo.MCP_PUBLIC_URL— HTTPS-URL, по которому этот сервер будет доступен, напримерhttps://mcp.example.com(без завершающего слэша). Должен соответствовать вашей DNS и настройке обратного прокси.MCP_DOMAIN— тот же хост, что и выше, без схемы (Caddy использует его для запроса TLS-сертификата).MCP_AUTH_PASSWORD— пароль, известный только вам; вы введёте его один раз в браузере при подключении Claude.
2. Укажите DNS на ваш VPS
Создайте запись A/AAAA для домена в MCP_DOMAIN, указывающую на IP вашего VPS. Порты 80 и 443 должны быть доступны из интернета.
Перед установкой TLS-обратного прокси проверьте, не заняты ли порты 80/443 на этой машине (существующий nginx/Caddy, обслуживающий другие сайты):
sudo ss -tlnp | grep -E ':80|:443'3. Запуск
sudo useradd --system --no-create-home --shell /usr/sbin/nologin t212mcp
sudo mkdir -p /opt/t212-mcp
sudo rsync -a --exclude .venv --exclude __pycache__ --exclude .git ./ /opt/t212-mcp/
sudo chown -R t212mcp:t212mcp /opt/t212-mcp
cd /opt/t212-mcp
# t212mcp has no home dir, so point uv's cache somewhere it can write:
sudo -u t212mcp env HOME=/opt/t212-mcp UV_CACHE_DIR=/opt/t212-mcp/.cache/uv \
uv sync --frozen --no-dev
sudo cp deploy/t212-mcp.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now t212-mcpЗатем настройте TLS перед ним на порту 8000, в зависимости от того, что показала команда ss -tlnp:
Ничего не работает на 80/443 — установите Caddy (один статический бинарник, ~10-20 МБ ОЗУ в простое) и укажите ему на deploy/Caddyfile:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update && sudo apt install -y caddy set -a; source .env; set +a sudo bash -c "sed 's/{\$MCP_DOMAIN}/'\"$MCP_DOMAIN\"'/' deploy/Caddyfile > /etc/caddy/Caddyfile" sudo systemctl reload caddynginx уже запущен для других сайтов — скопируйте deploy/nginx.conf.example в
/etc/nginx/sites-available/t212-mcp, замените в нёмmcp.example.comна ваш реальный$MCP_DOMAIN, создайте симлинк вsites-enabled, выполнитеnginx -t && systemctl reload nginx, затемsudo certbot --nginx -d $MCP_DOMAIN(не затрагивает ваши существующие server blocks).
Проверьте, что сервер работает:
curl https://$MCP_DOMAIN/.well-known/oauth-authorization-server4. Подключение к Claude
В claude.ai: Settings → Connectors → Add custom connector, вставьте https://<MCP_DOMAIN>/mcp в качестве URL. Claude откроет вкладку браузера со страницей входа на этот сервер — введите MCP_AUTH_PASSWORD — и вы будете перенаправлены обратно, подключение установлено.
Локальная разработка
uv run python server.py запускает тот же streamable-HTTP + OAuth сервер локально на HOST:PORT (по умолчанию 0.0.0.0:8000) — переменные окружения MCP_PUBLIC_URL и MCP_AUTH_PASSWORD обязательны даже для локальных запусков, поскольку OAuth-провайдер подключён безусловно. Укажите MCP_PUBLIC_URL как http://127.0.0.1:8000 для локального тестирования (без TLS, без коннектора Claude, просто для проверки кода инструментов и OAuth-потока с помощью curl).
This server cannot be deployed
Maintenance
Related MCP Connectors
Brazilian Open Finance MCP — 30+ banks (Itaú, Nubank, etc.) to Claude/Cursor. Read-only.
Connect brokerage accounts to AI assistants: holdings, orders, asset lookup, and approved trading.
Financial data MCP server for Claude, ChatGPT, Cursor and Codex. Real-time stock quotes, financial statements, options flow, SEC filings, insider trades, 13F holdings, macro data and market news from gloom.sh, the open-source Bloomberg Terminal alternative.
Read-only access to your own bank, card and brokerage accounts for Claude, ChatGPT and other AI agents: balances, transactions, spending, subscriptions, cashflow and investment holdings. It can never move money.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides secure access to Trading 212 Public API through MCP, enabling Claude Desktop users to manage portfolios, execute trades, and analyze market data using natural language commands.-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to manage Trading212 brokerage accounts, including portfolio analysis, order placement (demo mode), and investment pie management.5MIT
- AlicenseAqualityDmaintenanceAn MCP server that wraps the Trading 212 Public API, enabling AI agents to interact with your Trading 212 brokerage account through natural language.16MIT
- AlicenseNot gradedqualityBmaintenanceExposes Trading 212 trading account, instruments, orders, history, and pies as MCP tools. Allows placing and canceling real orders (defaults to demo/paper environment).Apache 2.0