MCP Server for Trading: Connect Claude and ChatGPT to Your Exchange
Short answer: AlgoVesta runs an MCP (Model Context Protocol) server that reaches 16 crypto exchanges and MetaTrader 5 over a single connection. You paste one link into Claude, ChatGPT, Cursor or any other MCP client, and the assistant can read your portfolio, price an idea, simulate it and — once you allow it — place the order. Every connection starts on a $5,000 paper balance, every order passes a server-side risk wall the model cannot argue with, and every action returns an ed25519-signed receipt.
What MCP trading is
Model Context Protocol is an open standard for connecting an AI assistant to an outside system. Instead of the model guessing at an answer from its training data, it calls a named tool on a server you nominate, receives structured data back, and reasons over the real thing. It is the same mechanism that lets an assistant read a repository or query a database — here the system on the other end is your trading infrastructure.
That distinction matters more in trading than almost anywhere else. A language model asked "should I close my ETH position?" without a tool connection has no idea whether you hold ETH, what you paid for it, or where your stop sits. It will produce a confident paragraph built on nothing. With an MCP connection it calls get_portfolio_context, sees the actual position, the actual entry, the actual unrealised result, and answers about your account rather than about trading in general.
An AlgoVesta MCP connection is one link. Behind it sits the same execution layer that already serves the platform's TradingView webhooks and Telegram signal routing: the venue adapters, the position bookkeeping, the risk engine. The assistant does not talk to Binance or to your broker. It talks to AlgoVesta, and AlgoVesta talks to the venue — which is precisely why a policy the model cannot see can still stop it.
It is worth being clear about what this is not. It is not a signal service: AlgoVesta does not generate or sell trade ideas here, and the assistant is not following someone else's calls. It is not an autonomous bot either. Nothing happens on a schedule and nothing happens while you are away — the assistant acts when you ask it to, in a conversation you are part of, and each write action is something you can see in the transcript. If you want scheduled or rule-driven automation, that is what the TradingView webhook and Telegram routing paths are for; MCP is the conversational surface, and the two can run side by side on the same account.
Set up in about five minutes
You create the link in the AlgoVesta panel under the MCP Connection tab. The panel shows the full address once, at creation time, and stores only a fingerprint afterwards — so copy it straight into your client. Treat that address as a credential: anyone holding it can act within its scope on your accounts.
For a client that reads a JSON config file — Claude Desktop, Cursor, most editor integrations — add one entry:
{"mcpServers":{"algovesta":{"url":"https://api.algovesta.com/u/avmcp_<your-key>/mcp"}}}
For Claude Code, one command registers the same server over streamable HTTP:
claude mcp add --transport http algovesta https://api.algovesta.com/u/avmcp_<your-key>/mcp
Gemini CLI uses a different key name for the same value: write httpUrl instead of url in its settings file. Everything else about the entry is identical.
When you create the key you pick its scope, and the choice matters more than the client you paste it into. A read key answers questions and cannot place anything, which suits a general-purpose assistant you also use for unrelated work. A paper key unlocks the full toolset against the virtual balance and is the sensible default while you learn how a particular model behaves. A live key touches real money, and it is the one scope whose creation requires a second factor. Because keys are independent, most people end up holding two or three at once — a read key on their phone, a paper key in an editor — and revoke them individually rather than all at once.
There is a second route if you would rather not paste a secret address at all. AlgoVesta also serves a standard OAuth 2.1 endpoint at https://api.algovesta.com/mcp with PKCE (S256) and Dynamic Client Registration, so a client that speaks OAuth can register itself and send you through a normal browser consent screen. Clients that support remote connectors, including Claude on web, desktop and mobile, can use that path directly. Step-by-step screens for both routes live in the MCP connection guide.
What the AI can do
The server exposes twenty tools. Fourteen of them read, reason or rehearse and change nothing; six of them write. The split is deliberate, because it maps onto the scope system — a read-only key can call the reading tools and is refused by the writing ones. Two of the writing tools manage TradingView strategies, and neither can arm real-money execution: that switch is not in their writable field set at all.
get_portfolio_context— balances, open positions, entries and unrealised result across every connected venue.get_market_price— the live price for a symbol on the venue that will actually fill the order.get_trade_history— closed trades and a performance summary across crypto, MetaTrader 5 and paper, with the gaps in the data stated rather than smoothed over.compare_venues— ranks your connected exchanges on live price and measured spread; it advises, it never routes.simulate_order— what an order would cost, size and risk before anything is sent.list_open_orders— resting orders, including the protective legs.verify_receipt— checks an ed25519 signature so a receipt can be proved genuine later.replay_channel— replays a signal channel's history to see how it would have performed.list_strategies— your TradingView strategies and whether real money is armed on each; the webhook URL itself is never returned.compile_policy— turns risk rules written in plain language into the machine-readable policy the server enforces.
place_order— opens a position with a stop attached; the stop is not optional.close_position— closes all or part of an open position.modify_position— moves the stop or take-profit on a position that is already running.cancel_order— cancels a resting order that has not filled.create_strategy— creates a TradingView strategy, always with real-money execution off.update_strategy— changes a strategy's settings; the real-money switch is not among them.
The order tools run against the paper engine until the key carries the live scope. The two strategy tools cannot arm real-money execution at all — that switch is absent from their writable field set, so no assistant can flip it.
In practice the assistant chains them. Ask it to rebalance and it will read the portfolio, price the legs, simulate each one, tell you what it intends to do, and only then place anything. The full input and output schema for every tool is published in the MCP developer documentation, and the machine-readable manifest sits at /mcp/tools.json if you want to inspect it before connecting.
Supported AI assistants
MCP is a protocol rather than a vendor feature, so the list is open-ended: anything that speaks it can connect. These are the clients people actually use with AlgoVesta today.
| Client | How it connects | Notes |
|---|---|---|
| Claude (web, desktop, mobile) | Custom connector | Settings → Connectors → Add custom connector. Works on the phone too, so you can ask about a position away from your desk. |
| Claude Code | One CLI command | The claude mcp add line above registers it for the current project or globally. |
| Cursor | JSON config | An mcp.json entry with a url field, exactly as shown above. |
| ChatGPT | Connectors, developer mode | Available on paid plans; OpenAI gates custom MCP connectors behind developer mode. |
| Gemini CLI | JSON config | Same entry, but the field is named httpUrl. |
| Any other MCP client | Secret link or OAuth | Streamable HTTP transport; OAuth 2.1 with PKCE and Dynamic Client Registration for clients that prefer it. |
Each key carries its own scope, label and revocation state, so running a read-only key in one client and a paper key in another is normal practice rather than a workaround. Revoking one does not disturb the others.
Risk controls the AI cannot talk its way around
The obvious objection to letting a language model place orders is that language models can be talked into things. A persuasive prompt, a poisoned web page in the context window, or simply a confident mistake — any of these can make a model want to do something you did not intend. AlgoVesta's answer is that the model's intent is not the last word. The checks run on the server, after the request leaves the assistant, in code the model never sees and cannot address.
- Server-side policy wall. Your rules — maximum position size, permitted symbols, leverage ceiling, daily loss limit — are compiled into a policy that the server evaluates on every order. A rejected order returns the rule that stopped it. No wording in the conversation changes the outcome, because the policy engine is not reading the conversation.
- Stop-loss is mandatory.
place_orderwill not open a position without a stop, and there is no tool that removes one from a running position. An assistant that decides a trade would look better unhedged simply cannot express that. - Paper first, on a $5,000 balance. New keys are issued in paper scope. The full toolset is available and the responses look identical to live ones, so you can watch how a given assistant behaves for a week before any real money is involved.
- Live access needs a second factor. Promoting a key to the live scope requires a TOTP code or an emailed code from you, in the panel. The assistant cannot request the upgrade, and possession of an MCP link is not sufficient to obtain it.
- Signed receipts. Every action returns an ed25519-signed receipt, and
verify_receiptchecks the signature independently. If an assistant later claims it placed an order, the claim is checkable rather than a matter of trust. - Kill switch and rate limits. Freezing your account in the panel stops every key at once; each key is also individually revocable. Requests are capped at 60 per minute per key, with
place_orderheld to 10 per minute andreplay_channelto 5 per hour, so a looping agent runs into a wall rather than into your balance.
One permission is worth stating plainly because it is the question people ask before any other: there is no withdrawal tool. It is not disabled by default or hidden behind a scope — it does not exist in the protocol surface at all. The exchange API keys AlgoVesta holds on your behalf are created without withdrawal rights, so even a total compromise of an MCP link cannot move funds off your exchange.
Works with
One connection covers sixteen crypto venues, spot and futures, plus forex and metals on MetaTrader 5. The assistant sees them as one portfolio; you do not connect a separate server per exchange.
Order round-trip was measured at roughly one second on MetaTrader 5 (849 ms) and roughly three seconds on crypto venues (2,785 ms), from the moment the tool call arrives to the confirmed acknowledgement. That is execution suited to considered, conversational trading rather than to latency arbitrage, and we would rather say so than imply otherwise. Venue-by-venue coverage is listed on the exchanges page, and the wider feature set on the MCP feature page.
Frequently asked questions
The most common questions before you decide — if you still have doubts, start here.
Connect your assistant and trade on paper today
Create an MCP link, paste it into Claude or ChatGPT, and start on a $5,000 paper balance. Real money stays behind a second factor until you decide otherwise.
Start Free Trial7-day free trial · View pricing
✓ Paper by default ✓ No withdrawal permission ✓ Revoke any key from the panel at any time