mcpbeat Sign in

Autoview MCP Server

by autoview-com Your server? Claim it
answering

Autoview is answering right now. Last checked 12 min ago. It exposes 17 tools. Last commit 5 Sep 2026.

Trade across 22+ exchanges and brokers from any MCP-capable AI agent, no install required.

Uptime history 63 days of history · worst day 90%
63 days agonow
100.0%
Uptime 24h
91 of 91 checks
17
Tools
read from the server
69 ms
Response time
average over 24h
0
Stars
last commit 5 Sep 2026

What changed 95

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 11 September 2026. No other catalogue keeps this.

5 Nov 2 tools appeared revoke_token, unlink
5 Nov a tool changed version
4 Nov 3 tools changed the parameters they ask for alert, command, entry
4 Nov a tool changed version3 times that day
4 Nov 2 tool descriptions were rewritten alert, command
3 Nov a tool changed the parameters it asks for entry
3 Nov a tool description was rewritten entry
3 Nov a tool changed version
2 Nov a tool changed version2 times that day
1 Nov 5 tool descriptions were rewritten alert, command, events and 2 more
and 77 more, back to 11 September 2026

Nothing serious here today

Today is the operative word: we check Autoview every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 12 min ago.

run in your terminal
claude mcp add mcp --transport http https://api.autoview.com/mcp/
Settings → Connectors → Add custom connector, then paste this address
https://api.autoview.com/mcp/
~/.codex/config.toml
[mcp_servers.mcp]
url = "https://api.autoview.com/mcp/"
.cursor/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://api.autoview.com/mcp/"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp": {
      "type": "http",
      "url": "https://api.autoview.com/mcp/"
    }
  }
}

Available tools 17

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

sandbox
sandbox_results
Read the simulated fills stored for a sandbox_id (from sandbox_run, or any Alert Sandbox webhook id), newest first. No token, no account, no key: simulation only, no real order was placed. Returns { sandbox: true, real_order_placed: false, notice, sandbox_id, alerts: [{ received_at, seq?, orders?: [same shape as sandbox_run orders, including fill.status (filled, not_filled or no_price), fill.origin, fill.price_label, fill.price_warning and fill.price_error], error? }], more, next_step } where more is true when older alerts exist beyond this page. next_step = { market, practice_venue, practice_venue_name, same_venue, free, connect_url, text } names the free testnet or demo venue for the newest order's market and the page where your user connects it; practice_venue is null when Autoview has no match, and free is false when the only demo is not free to open. Pass text to your user as the next step. A refusal returns { error, code, fix }: bad_sandbox_id (malformed id), sandbox_refused (e.g. the id belongs to an account), sandbox_rate_limited, sandbox_bad_answer, sandbox_unreachable, sandbox_timeout, internal_error. Do what fix says. Fill model (every fill carries it as fill_model): each order fills at one snapshot price taken when the alert arrives, either the venue's public ticker (its best ask for a buy and best bid for a sell when the venue gives them, otherwise its last trade) or a price you supply (price, or fp= in the alert). A market order fills at that price. A marketable limit (a buy limit at or above it, a sell limit at or below it) fills at that price, never at the limit; any other limit stays open as not_filled and never fills later. The sandbox does not model order-book depth, slippage, latency or partial fills, and a caller price or last trade carries no spread, so live results will differ. For live-like execution, use the venue's own testnet or demo account through Autoview (pricing lists them with demo: true, at $0).
sandbox_run
Run one alert through Autoview's Alert Sandbox and see exactly what Autoview would do with it: the parsed orders and a simulated fill for each. No token, no account, no exchange key: simulation only, no real order is placed. Send the order one of two ways: command (alert text: the classic key=value form "e=kraken s=BTCUSD b=buy q=0.01" or a v3 line "buy(BTCUSD, 0.01)"), or order (structured: { "exchange": "oanda", "symbol": "EURUSD", "side": "buy", "qty": 1000 }). Not both. A limit order is { ..., "type": "limit", "limit_price": 50000 }. order takes only exchange, symbol, side, qty, type and limit_price: order.price is refused (order_bad_field), because the top-level price is a different thing, the market price you read, not a limit. Prices. Each fill is priced in this order and labelled with where the price came from (fill.origin): own_key (the user's own connected account; not available yet, coming), venue_ticker (the venue's free public ticker, e.g. Kraken, Coinbase, OKX, Bybit for crypto), caller (a price you pass in price), alert_fp (fp= in the alert, e.g. TradingView {{close}}). If Autoview has no price for the market (stocks, most forex, futures), read the price from your own user's data source and pass it as price (plus price_source and price_time); the fill is then labelled caller-supplied, never presented as Autoview's quote. Returns { sandbox: true, real_order_placed: false, notice, sandbox_id, webhook_url, compiled?, orders: [{ exchange, side, symbol, qty, type, order_price?, fill }], explanation?, next }. Fill shapes. A priced fill is { status: "filled", price, price_label, price_source, origin, origin_note, priced_at, price_age_ms, side_of_book?, limit?, price_warning?, caller_price_source?, caller_price_time? }. price_label is Autoview's short label for where the fill price came from, for example "Kraken XBTUSD best ask" (a venue fill at the ask) or "caller-supplied" (your price). price_source is the same label under its older name, kept for existing readers. The source and time you sent with a caller price are echoed in caller_price_source and caller_price_time. A market order, or a limit the book has reached (a buy limit at or above the ask, a sell limit at or below the bid; with a caller price, at or better than it), fills at the ask, bid or your price, never at the limit. price_warning is set when the price was more than 15 minutes old at receipt (for example "The caller price is 5h 2m old"): the fill still used it, so read a fresh price if you want a current fill. A limit the price has not reached is { status: "not_filled", price: null, reference_price, limit, price_label, side_of_book?, origin, origin_note, note, fix }: nothing filled and the sandbox never fills it later; do not pass price again, read fix. An unpriced fill is { status: "no_price", price: null, note, website_note?, price_error? }: price_error is { code, market, message, fix: [steps] }; follow the fix steps and call again. price_error codes (in fill.price_error, on a no_price fill): no_live_source (Autoview has no live price for this market or venue; pass price, or set e= to a priced crypto venue), venue_read_failed (the venue's public ticker did not answer; retry, or pass price), price_ambiguous (price was sent with an alert that has more than one symbol; send one symbol per call). bad_price_param is the website's code for malformed price fields; it arrives as the refusal bad_price with price_error beside it. Refusal codes (the whole call returns { error, code, fix }; do what fix says): command_required, command_and_order, bad_v3_line, bad_sandbox_id, order_missing_field, order_bad_field, bad_price, bad_price_source, bad_price_time, price_fields_without_price, sandbox_refused, sandbox_rate_limited, sandbox_bad_answer, sandbox_unreachable, sandbox_timeout, internal_error. sandbox_id is minted when you omit it; pass it back to add more alerts to the same sandbox, and read them with sandbox_results. Any webhook sender can also POST alerts to webhook_url. Call pricing to see what going live costs. Fill model (every fill carries it as fill_model): each order fills at one snapshot price taken when the alert arrives, either the venue's public ticker (its best ask for a buy and best bid for a sell when the venue gives them, otherwise its last trade) or a price you supply (price, or fp= in the alert). A market order fills at that price. A marketable limit (a buy limit at or above it, a sell limit at or below it) fills at that price, never at the limit; any other limit stays open as not_filled and never fills later. The sandbox does not model order-book depth, slippage, latency or partial fills, and a caller price or last trade carries no spread, so live results will differ. For live-like execution, use the venue's own testnet or demo account through Autoview (pricing lists them with demo: true, at $0).
alert
alert
Build everything TradingView's create_alert(webhook, message, expiration, resolution) needs, in one call: fuses `command` (the message) and `hooks` (the webhook URL for hook_id), and fills in the expiration (default 1 year out -- TradingView itself defaults to only 30 days, which silently stops the alert) and resolution (default "1") TradingView also needs. The order is validated against the exchange(s) hook_id is actually linked to and rejected if it could never fire there. Returns warnings you should read, including never putting the hook's key in the message field and a fan-out warning when the hook links more than one exchange. Pass the alert field instead of the structured fields to use raw webhook command text with any key a webhook accepts. Dry-run by default like `command`; set live:true to build a command that trades for real once the alert fires. For any other sender, `command` + `hooks` give the same message and webhook URL; expiration and resolution are TradingView settings only. Requires your Autoview account token.
catalog
catalog
List every exchange configured on Autoview, filterable by paper (testnet/practice/sim, no real money), free (no Autoview subscription required), and name. Every listed exchange works with entry, command, alert and connect once its credentials are linked to one of your hooks (the exchange itself validates the order); linkable ones also take paper keys via link -- see connect_url to add credentials for one. Pass exchange (any spelling of its id, e.g. "OANDAPRACTICE") to get that one exchange in detail instead of the list: credentials is a JSON Schema whose property keys are exactly the keys link takes (titles are the exchange's own labels, required lists the ones it needs), plus linkable and unsupported_parameters (command parameters the exchange rejects, e.g. sl/tp; an attached bracket using one is refused up front). The list reply also carries language: the card for the one-line Autoview trade language that command({ line }) accepts. Requires your Autoview account token.
command
command
Build an Autoview alert command string from structured order fields (symbol, side, quantity, type, price, trigger), or from ONE line of the Autoview trade language (line, e.g. "buy(BTCUSD, 0.2, -0.5%)"; grammar in catalog's language card), without placing an order. A line reply also carries echo, one plain sentence stating the resolved order: confirm the sentence, not the string: the output is the alert body any webhook sender POSTs to a hook URL (for TradingView, the value create_alert's `message` field carries). Also builds cancel/close/flat management commands via `action` (see entry's description). Dry-run by default: a bare call returns a preview command (appends d=1); set live:true to build a command that trades for real once the alert fires. Pass the alert field instead to check and return raw webhook command text with any key a webhook accepts. Prefer the `alert` tool if you also need the destination webhook, expiration, and resolution in one call. Requires your Autoview account token; live:true requires a live-scoped token. exchange is optional: pass any exchange id configured on Autoview (see the `catalog` tool; a bracket is refused if that exchange lists sl/tp as unsupported); omit exchange entirely to build a generic command routed by whichever exchange(s) the destination hook is linked to.
connect
connect
Connect any exchange configured on Autoview (see catalog) to your account: creates a webhook and links it to your already-saved credentials for that exchange, the same steps 2-4 the website's setup wizard runs. Safe to call more than once -- if a webhook is already linked, it reports connected:true and creates nothing new. If you have no credentials saved for this exchange yet, returns connect_url instead: open it in a browser to add them, then call connect again with the same exchange (for a paper/testnet exchange you can instead call link with its keys; real-money keys are browser-only). Connecting a real-money (non-paper) exchange requires a live-scoped token; any token can connect a paper/testnet exchange. Requires your Autoview account token.
entry
entry
Place an order on any exchange you have linked to a hook, right now — or manage existing orders/positions on `symbol` via `action` (cancel open orders, close open positions, or flat/liquidate everything — Tradovate only). You fill structured order fields (symbol, side, quantity, type, price, trigger) — Autoview assembles the order for you. Or pass alert: the same command text a webhook body carries, which reaches the engine unchanged, so every syntax key a webhook supports is supported here. Dry-run by default: a bare call returns the parsed order without placing it; set live:true to place a real order. On a paid exchange without an active Autoview subscription, live:true is silently downgraded to a dry-run — the response then carries dry_run_forced:true and a dry_run_reason explaining why (see the `setup` tool for which exchanges this applies to, and where to subscribe). The order is relayed to the exchange asynchronously: this returns { queued, trace, canonical_id } immediately, not the fill. For a dry-run (the default), entry waits up to ~10s for the exchange's own reply and returns it as dry_run_events when it arrives in time — otherwise dry_run_pending:true, and you can poll the `events` tool with canonical_id (or trace) a moment later. Credentials come from hook_id -- the credentials you already linked to one of your hooks (see the `hooks` or `setup` tool) -- so no exchange secret is passed with the order. exchange is optional when that hook links to exactly one exchange; pass it explicitly if the hook links to more than one. If you don't have credentials linked yet, use the `command` tool to check an order's shape without a hook. Live limits: a live:true order (not cancel/close/flat) must fit this token's user-set caps AND, once your user has set them, the account caps (they cover every agent token on the account together; with none set, the token's caps alone apply), read them with `live_limits`. It must be a limit order with price and a plain number quantity, in a USD or USD-stablecoin quoted market; quantity x limit price (USD) must be at most the token's max order size (and the account's, if set), and today's totals (UTC day, counted at dispatch; per token, and for the whole account if an account daily limit is set) at most those daily limits. Refusal codes, each with fix steps: agent_trading_paused (your user paused all agent trading on the account; cancel/close/flat still work), caps_not_set, caps_unavailable, cap_max_order_exceeded, cap_account_max_order_exceeded, cap_daily_limit_exceeded, cap_account_daily_limit_exceeded, cap_limit_price_required, cap_quantity_unsupported, cap_quote_unsupported, cap_market_unsupported. Only your user can set or raise the caps, or pause and resume agent trading, at /account/tokens/. Requires your Autoview account token.
events
events
Read what your orders did. Pass trace (the id entry or command's caller received) to read one order's events; omit trace to list your account's recent events instead, newest first, optionally narrowed by hook_id and/or canonical_id — this is the only way to see an order any webhook sender (TradingView, a script, another platform) fired directly, since it never went through entry and has no trace. Requires your Autoview account token. Poll this a moment after an order if the events are not there yet — the exchange reports back out-of-band.
explain
explain_command
Explain an existing Autoview command / alert message in plain English: what the engine will actually do with it on the named exchange (side, size, order type, price, brackets, account, dry run), plus caveats where that exchange quietly downgrades or ignores a key (for example t=post sent as a plain limit) or rejects it outright, each caveat naming the code it was read from. Accepts the classic key=value form (several lines, | or & legs included) or a one-line v3 call like buy(BTCUSD, 0.1, -1%). Returns { explanation: string, lines: [{ line, text, caveats: [{ text, ... }] }] } or { error }. Read-only: it parses text only, never reads an account, a key, or sends anything. Describes, never recommends. No token, no account: works for a guest. To see a simulated fill beside the explanation, use sandbox_run.
hooks
hooks
List your Autoview webhook URLs: the address any webhook sender POSTs an alert to (a script or cron job, n8n, Zapier, your own server, or a TradingView alert's webhook field). The body is the command text from `command`, sent as plain text, a JSON string, or JSON {"alert": "..."} (form posts are refused). Each hook already knows which exchange(s) it is linked to; there is nothing further to configure on the Autoview side. Pair with the `command` tool (or use `alert` to build both at once). Requires your Autoview account token. The returned URL is itself a bearer secret for unattended trading — treat it like a password; rotate a hook's key from /account/hooks/ on the Autoview site if it leaks.
link
link
Save a PAPER/TESTNET exchange's API keys to your account and link them to a webhook, in one step -- for an agent that has a practice account's keys and no browser. Only ALPACAPAPER, BINANCEDELIVERYTESTNET, BINANCEFUTURESTESTNET, BINANCETEST, BITGETDEMO, BITGETMIXDEMO, BITMEXTESTNET, BYBITCOPYTESTNET, BYBITSPOTTESTNET, BYBITTESTNET, CAPITALDEMO, CRYPTODEMO, DERIBITTESTNET, GATEFUTURESTESTNET, GEMINISANDBOX, HYPERLIQUIDTESTNET, OANDAPRACTICE, OKXDEMO, OKXEEADEMO, OKXUSDEMO, TRADOVATESIM are accepted (they never move real money); real-money exchanges are refused whatever your token's scope, and their keys must be added on autoview.com in a browser (see connect). The credentials object uses named keys (public, private, passphrase, email, vault, id, cid, sec); which of them an exchange takes, and what each is called on that exchange, is in catalog({ exchange }): its credentials schema lists the exact keys (titles are the exchange's own labels) and which are required. The keys are encrypted and stored exactly as the website's setup form stores them, and are never echoed back. hook_id, if given, must be one of your own hooks with no exchange linked yet (an order fires on every exchange a hook links); omit it to use an empty hook of yours or get a new one. Then call entry with the returned hook_id (dry-run by default) to check the keys work. Requires your Autoview account token; any token can link a paper exchange.
live
live_limits
Read this token's live limits: the max order size and daily limit (USD notional = quantity x limit price) your user set for this token, the account caps that cover every agent token on the account together (the hard outer limit once set; account.set is false when your user has not set them, and then the token's own caps alone apply), how much of each is used today, and whether this token can place a live entry order right now. Read-only: an agent cannot set or raise these; only the user can, at /account/tokens/ (set_at). The day is the UTC calendar day (resets_at). Returns { live, max_order_usd, daily_limit_usd, used_today_usd, remaining_today_usd, account: { set, max_order_usd, daily_limit_usd, used_today_usd, remaining_today_usd }, effective_max_order_usd, effective_remaining_today_usd, agent_trading_paused, paused_at, day, resets_at, unit, set_at, can_place_live, code?, reason? }. agent_trading_paused true means your user has paused all agent trading on the account (code agent_trading_paused); only your user can turn it off. Tell your user these numbers before going live. Requires your Autoview account token.
pricing
pricing
What going live on Autoview costs, per venue. No token, no account: read-only, from Autoview's published price list. Each live exchange is its own subscription (most are $39.99 a month or $399.99 a year); practice/demo venues are free, and a few venues are free live. Returns { currency: "USD", venues: [{ exchange, name, live_monthly, live_yearly, demo, note, free_practice_venue?, live_venue? }], unknown?: [{ input, code: "unknown_exchange", fix }], how_to_go_live, source }. live_monthly and live_yearly are dollars (live_yearly is null when there is no yearly plan); demo is true for a practice venue (no real money, $0). Omit exchanges to list every venue. A refusal returns { error, code, fix }: bad_exchanges, too_many_exchanges, unknown_exchange. Do what fix says.
revoke
revoke_token
Revoke the token this call is made with, so it stops working at once: every later call with it is refused. It only ever revokes the calling token (there is no target to pass), never another token of the account. Already revoked or expired counts as done (ok, already_revoked:true), not as an error. Needs the token's "Allow revoke and unlink" permission, which is off until your user ticks it at /account/tokens/. Requires your Autoview account token.
send
send_feedback
Send your user's feedback to the Autoview team: a feature request, a bug report, a question, or anything else. Works with no account and no token (as a guest), or with your user's token. Each message is saved for a person to review before it goes to the team; there is no set response time. With a token, the account is attached on our side from the token, so do not add it. Never put passwords, API keys or other secrets in message. If your user wants an answer, put a way to reach them in contact (for example an email address), or with a token set contact to true to use the address on the account. Show your user the message and get their go-ahead before sending. message is up to 4000 characters. Limit: 2 per hour for each account, or for each guest. Returns { received, id, status, guest, remaining_this_hour, note }; pass note to your user. A refusal returns { error, code, fix }: bad_kind, message_empty, message_too_long, contact_too_long, invalid_token, feedback_rate_limited (with retry_at), feedback_unavailable, feedback_store_failed. Do what fix says.
setup
setup
Read this FIRST. Returns your account overview: token scopes (live/exchange), which exchanges your token can call at all (callable), which of those allow a real live order right now vs. force a dry-run for lack of an active subscription (live_allowed/dry_run_forced, with upgrade_url when forced), per-exchange facts (supported order types, symbol format example, bracket/flat support, whether a manual priceRef is required, whether it's a free paper/no-real-money venue, its setup_url and required credential labels), and your hooks with their linked exchanges. If no hook is linked to any exchange yet, recommended_first_exchange points at a free paper venue to start with. failing_hooks flags any hook whose last several alerts all failed with the SAME error (a stuck webhook loop). Requires your Autoview account token.
unlink
unlink
Remove one of your hooks, the same as deleting it by hand on autoview.com: its exchange links, then the hook itself (alerts sent to its URL stop placing orders), then any saved exchange API keys no other hook still uses (real-money keys included; keys another hook links are kept). The token must be scoped for every exchange the hook links, and a hook linking a real-money exchange needs a live-scoped token, the same as connect. One transaction, all or nothing. A hook that is already gone, or is not on your account, is reported as ok with already_gone:true and nothing is deleted. Needs the token's "Allow revoke and unlink" permission, which is off until your user ticks it at /account/tokens/. Requires your Autoview account token.

Endpoints

URLTransportStateLatencyChecked
https://api.autoview.com/mcp/ streamable-http answering 61 ms 12 min ago

Alternatives to Autoview

same job, measured the same way
CAAC Go
by cresclab-caacgo

Train, test, install and review a website AI agent (CAAC Go) from any MCP client.

answering
Autoview
by autoview

Place and inspect orders on your own exchange accounts from an MCP-connected agent.

17 tools answering
SuperSkill Registry
by onlyharness

Find, inspect and install reviewed reusable AI-agent capabilities from superskill.sh.

12 tools answering
Stackexchange MCP
by mrfentmen

Search questions and read answers across Stack Exchange sites. No key required.

42 installs/wk local only
Obscuraai MCP Server
by madeinphantom

Generate visual AI automation workflows from any MCP client. No API key required.

69 installs/wk local only
Bankofcanada MCP
by mrfentmen

Canadian exchange rates from Bank of Canada. No key required.

121 installs/wk local only
KLinePic
by sher1096

Create annotated candlestick charts from broker or exchange fills for post-trade review.

local only
conduitAI
by akbaraziz

Search, browse, and install MCP servers, agents, skills, and plugins from conduitAI.

68 installs/wk local only

Autoview — questions

Answers built from our own checks of this server.

What can Autoview do?
It exposes 17 tools, read directly from the server on our last check. Among them: alert, catalog, command, connect, entry, events and 11 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Autoview working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 69 ms. The bar chart above shows every period we have measured.
How do I connect Autoview?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Autoview need an API key?
No. Autoview completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 17 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Autoview?
It answers our handshake in 69 ms on average, which is faster than 99% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Autoview open source?
The code is open source: it is published under the MIT licence and 0 stars on GitHub. The licence covers the code in the repository, not the hosted service at api.autoview.com, which runs on its operator's own terms.