Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,559Letters: 14Defects: 1,336counted 3 min ago
teppi

Server definition

Hash
sha256:d3a171ab4123ca330572970815ebab6a46acca47cf074955add500cd9dffbeca
What it is
What a remote MCP server returned when asked what it offers: 8 tools

The blob, as servednamed by its sha256

{ "instructions": "Autoview places and inspects orders on your own exchange accounts.\n\nCall setup first: it returns which exchanges you can trade, your hooks and their linked exchanges, and per-exchange facts (symbol format, supported order types, bracket support). If setup shows no hook linked to the exchange you want, call connect: it creates a webhook and links it to your already-saved credentials in one step (or, if you have not saved credentials for that exchange yet, returns a connect_url to do so in a browser -- no exchange secret ever enters this chat). Call connect again after visiting that URL to finish. Looking for an exchange setup doesn't list? Call catalog -- Autoview supports many more than the seven certified ones setup shows by default.\n\nTwo ways to trade, both using credentials already linked to a hook on the Autoview site (see hooks / setup / connect) -- no exchange secret ever enters this chat:\n - entry: fires ONE order right now.\n - alert (or command + hooks): builds a reusable TradingView alert (message + webhook + expiration + resolution) that keeps firing after this chat ends. Prefer this over entry for anything that should outlive the conversation.\n\nevents reads back what an order did — pass the trace entry returned, or omit it to list your account's recent events (optionally narrowed by hook_id/canonical_id), which is the only way to see an order a TradingView alert fired directly at a webhook.\n\nIf you also have TradingView's official MCP server connected (mcp.tradingview.com — quotes, screener, watchlists, alert history), use it to decide WHAT to trade, then use alert or entry here to actually place it: e.g. screen or analyze on TradingView, then call setup + alert to build a TradingView alert that trades through Autoview, or call entry directly for an immediate order.\n\nAll tools require your Autoview account token: an av_mcp_ personal access token (generate one at /account/tokens/), sent either as the token argument or as an Authorization: Bearer header. Dry-run is the default everywhere a live switch exists; live:true requires a live-scoped token. Supported exchanges: OANDAPRACTICE, KRAKEN, CRYPTO, CRYPTODEMO, BYBITTESTNET, BYBITSPOTTESTNET, TRADOVATESIM. OANDAPRACTICE, CRYPTO, CRYPTODEMO, BYBITTESTNET, BYBITSPOTTESTNET, TRADOVATESIM are free; KRAKEN are callable by any account, but orders are forced to dry-run without an active Autoview subscription (see setup's dry_run_forced/upgrade_url per exchange).", "tools": [ { "description": "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. Returns warnings you should read, including never putting the hook's key in the message field. Dry-run by default like `command`; set live:true to build a command that trades for real once the alert fires. Requires your Autoview account token.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "action": { "description": "manage EXISTING orders/positions on symbol instead of placing a new one: cancel = cancel open orders, close = close open positions, flat = cancel every order AND close every position (Tradovate only). When set, side (if given) is an optional buy/sell filter (not applicable to flat), and quantity/type/price/trigger/brackets/unit are ignored.", "enum": [ "cancel", "close", "flat" ], "type": "string" }, "exchange": { "description": "optional — one of OANDAPRACTICE, KRAKEN, CRYPTO, CRYPTODEMO, BYBITTESTNET, BYBITSPOTTESTNET, TRADOVATESIM validates order-type and bracket support against that exchange's capabilities; any other exchange id known to Autoview (see `catalog`) is also accepted but skips that check; omit entirely to skip validation", "type": "string" }, "expiration": { "description": "ISO 8601 timestamp for TradingView's alert expiration; defaults to 1 year from now", "type": "string" }, "hook_id": { "description": "the hook whose URL becomes the alert's webhook (see the `hooks` tool)", "type": "string" }, "live": { "description": "false (default) = build a dry-run preview command (appends d=1); true = build a command that places a real order when the alert fires", "type": "boolean" }, "price": { "description": "absolute limit price; required for limit, post_only, ioc, fok, and stop_limit", "type": "number" }, "priceRef": { "description": "reference price for percent sizing and brackets", "exclusiveMinimum": 0, "type": "number" }, "quantity": { "anyOf": [ { "exclusiveMinimum": 0, "type": "number" }, { "pattern": "^(100|[1-9][0-9]?)%$", "type": "string" } ], "description": "order size: a positive number (contracts/units), or a percent-of-balance string like \"50%\" (1-100%). Required unless action is set." }, "resolution": { "description": "chart timeframe TradingView's create_alert needs; defaults to \"1\" (1 minute)", "type": "string" }, "side": { "description": "order direction; required unless action is set, where it is an optional buy/sell filter for cancel/close (omit for flat)", "enum": [ "buy", "sell" ], "type": "string" }, "sizeAgainstEquity": { "description": "for a percent quantity, size against equity instead of available balance (y=equity)", "type": "boolean" }, "stopLoss": { "description": "attached bracket stop-loss as a POINT distance from the fill; pairs with takeProfit or a trail leg", "exclusiveMinimum": 0, "type": "number" }, "symbol": { "description": "the instrument symbol, e.g. EUR_USD, XBTUSD, BTC_USD", "type": "string" }, "takeProfit": { "description": "attached bracket take-profit as a POINT distance from the fill; pairs with stopLoss or a trail leg", "exclusiveMinimum": 0, "type": "number" }, "token": { "description": "your Autoview account token — an av_mcp_ personal access token, generate one at /account/tokens/ on the Autoview site. Omit this if your MCP client already sends it as an `Authorization: Bearer` header (Claude Code, Cursor, and most non-browser clients do this automatically once configured).", "type": "string" }, "trailActivate": { "description": "points of profit before the trail starts; required whenever trailStop is set", "exclusiveMinimum": 0, "type": "number" }, "trailFrequency": { "description": "how often the trailing stop re-checks price; defaults to 1 if omitted", "exclusiveMinimum": 0, "type": "number" }, "trailStop": { "description": "auto-trail stop distance in points; requires trailActivate", "exclusiveMinimum": 0, "type": "number" }, "trigger": { "description": "absolute trigger (stop) price; required for stop and stop_limit", "exclusiveMinimum": 0, "type": "number" }, "type": { "description": "order type; defaults to market", "enum": [ "market", "limit", "post_only", "ioc", "fok", "stop", "stop_limit" ], "type": "string" }, "unit": { "description": "\"currency\" treats quantity as a CURRENCY amount to convert to units at the resolved price (u=currency) — e.g. quantity:10 with unit:\"currency\" on BTC/USD buys $10 of BTC instead of 10 BTC. Only meaningful with a fixed (non-percent) quantity.", "enum": [ "units", "currency" ], "type": "string" } }, "required": [ "hook_id", "symbol" ], "type": "object" }, "name": "alert", "outputSchema": null }, { "description": "Look up exchanges beyond setup's certified seven -- Autoview's integrations cover many more, filterable by paper (testnet/practice/sim, no real money), free (no Autoview subscription required), and name. Each entry's certified flag tells you whether it also works with entry (full order-type/bracket validation + connect) or only command/alert (builds the alert syntax; connect and full validation are certified-only for now) -- see connect_url to add credentials for one. Requires your Autoview account token.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "free": { "description": "filter to (true) or exclude (false) exchanges that need no Autoview subscription; omit for both", "type": "boolean" }, "name": { "description": "case-insensitive substring match against the exchange's display name or id, e.g. \"binance\"", "type": "string" }, "paper": { "description": "filter to (true) or exclude (false) paper/testnet/sim exchanges; omit for both", "type": "boolean" }, "token": { "description": "your Autoview account token — an av_mcp_ personal access token, generate one at /account/tokens/ on the Autoview site. Omit this if your MCP client already sends it as an `Authorization: Bearer` header (Claude Code, Cursor, and most non-browser clients do this automatically once configured).", "type": "string" } }, "type": "object" }, "name": "catalog", "outputSchema": null }, { "description": "Build an Autoview alert command string from structured order fields (symbol, side, quantity, type, price, trigger) without placing an order — the output is the value TradingView's create_alert `message` field should carry. 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 TradingView fires the alert. 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 one of OANDAPRACTICE, KRAKEN, CRYPTO, CRYPTODEMO, BYBITTESTNET, BYBITSPOTTESTNET, TRADOVATESIM for full order-type/bracket validation, or any other exchange id configured on Autoview (see the `catalog` tool) to build a generic command for it with that extra validation skipped; omit exchange entirely to build a generic command routed by whichever exchange(s) the destination hook is linked to.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "action": { "description": "manage EXISTING orders/positions on symbol instead of placing a new one: cancel = cancel open orders, close = close open positions, flat = cancel every order AND close every position (Tradovate only). When set, side (if given) is an optional buy/sell filter (not applicable to flat), and quantity/type/price/trigger/brackets/unit are ignored.", "enum": [ "cancel", "close", "flat" ], "type": "string" }, "exchange": { "description": "optional — one of OANDAPRACTICE, KRAKEN, CRYPTO, CRYPTODEMO, BYBITTESTNET, BYBITSPOTTESTNET, TRADOVATESIM validates order-type and bracket support against that exchange's capabilities; any other exchange id known to Autoview (see `catalog`) is also accepted but skips that check; omit entirely to skip validation", "type": "string" }, "live": { "description": "false (default) = build a dry-run preview command (appends d=1); true = build a command that places a real order when the alert fires", "type": "boolean" }, "price": { "description": "absolute limit price; required for limit, post_only, ioc, fok, and stop_limit", "type": "number" }, "priceRef": { "description": "reference price for percent sizing and brackets", "exclusiveMinimum": 0, "type": "number" }, "quantity": { "anyOf": [ { "exclusiveMinimum": 0, "type": "number" }, { "pattern": "^(100|[1-9][0-9]?)%$", "type": "string" } ], "description": "order size: a positive number (contracts/units), or a percent-of-balance string like \"50%\" (1-100%). Required unless action is set." }, "side": { "description": "order direction; required unless action is set, where it is an optional buy/sell filter for cancel/close (omit for flat)", "enum": [ "buy", "sell" ], "type": "string" }, "sizeAgainstEquity": { "description": "for a percent quantity, size against equity instead of available balance (y=equity)", "type": "boolean" }, "stopLoss": { "description": "attached bracket stop-loss as a POINT distance from the fill; pairs with takeProfit or a trail leg", "exclusiveMinimum": 0, "type": "number" }, "symbol": { "description": "the instrument symbol, e.g. EUR_USD, XBTUSD, BTC_USD — or the exchange-native symbol a TradingView EXCHANGE:TICKER maps to", "type": "string" }, "takeProfit": { "description": "attached bracket take-profit as a POINT distance from the fill; pairs with stopLoss or a trail leg", "exclusiveMinimum": 0, "type": "number" }, "token": { "description": "your Autoview account token — an av_mcp_ personal access token, generate one at /account/tokens/ on the Autoview site. Omit this if your MCP client already sends it as an `Authorization: Bearer` header (Claude Code, Cursor, and most non-browser clients do this automatically once configured).", "type": "string" }, "trailActivate": { "description": "points of profit before the trail starts; required whenever trailStop is set", "exclusiveMinimum": 0, "type": "number" }, "trailFrequency": { "description": "how often the trailing stop re-checks price; defaults to 1 if omitted", "exclusiveMinimum": 0, "type": "number" }, "trailStop": { "description": "auto-trail stop distance in points; requires trailActivate", "exclusiveMinimum": 0, "type": "number" }, "trigger": { "description": "absolute trigger (stop) price; required for stop and stop_limit", "exclusiveMinimum": 0, "type": "number" }, "type": { "description": "order type; defaults to market", "enum": [ "market", "limit", "post_only", "ioc", "fok", "stop", "stop_limit" ], "type": "string" }, "unit": { "description": "\"currency\" treats quantity as a CURRENCY amount to convert to units at the resolved price (u=currency) — e.g. quantity:10 with unit:\"currency\" on BTC/USD buys $10 of BTC instead of 10 BTC. Only meaningful with a fixed (non-percent) quantity.", "enum": [ "units", "currency" ], "type": "string" } }, "required": [ "symbol" ], "type": "object" }, "name": "command", "outputSchema": null }, { "description": "Connect one of the seven certified exchanges (see setup's exchange list) 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 (no exchange secret can be pasted into this chat), then call connect again with the same exchange. 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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "exchange": { "description": "the exchange to connect", "enum": [ "OANDAPRACTICE", "KRAKEN", "CRYPTO", "CRYPTODEMO", "BYBITTESTNET", "BYBITSPOTTESTNET", "TRADOVATESIM" ], "type": "string" }, "hook_id": { "description": "link this specific existing hook instead of letting connect pick or create one (see the `hooks` tool for your hook ids)", "type": "string" }, "token": { "description": "your Autoview account token — an av_mcp_ personal access token, generate one at /account/tokens/ on the Autoview site. Omit this if your MCP client already sends it as an `Authorization: Bearer` header (Claude Code, Cursor, and most non-browser clients do this automatically once configured).", "type": "string" } }, "required": [ "exchange" ], "type": "object" }, "name": "connect", "outputSchema": null }, { "description": "Place an order on a supported exchange, 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. 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 ever enters this chat. 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. Requires your Autoview account token.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "action": { "description": "manage EXISTING orders/positions on symbol instead of placing a new one: cancel = cancel open orders, close = close open positions, flat = cancel every order AND close every position (Tradovate/TRADOVATESIM only — see setup's flat per exchange). When set, side (if given) is an optional buy/sell filter (not applicable to flat), and quantity/type/price/trigger/brackets/unit are ignored.", "enum": [ "cancel", "close", "flat" ], "type": "string" }, "exchange": { "description": "the exchange to trade on; omit when hook_id links to exactly one exchange (see the hooks tool) -- otherwise required to disambiguate", "enum": [ "OANDAPRACTICE", "KRAKEN", "CRYPTO", "CRYPTODEMO", "BYBITTESTNET", "BYBITSPOTTESTNET", "TRADOVATESIM" ], "type": "string" }, "hook_id": { "description": "use the credentials already linked to this hook (see the `hooks` tool). The hook must belong to your account.", "type": "string" }, "live": { "description": "false (default) = a dry-run preview that returns the parsed order without placing it; true = place a real order on your live account", "type": "boolean" }, "price": { "description": "absolute limit price; required for limit, post_only, ioc, fok, and stop_limit. Also accepted (optional) on a market order as a stand-in for priceRef.", "type": "number" }, "priceRef": { "description": "reference price for percent sizing and brackets (price=); percent quantity divides balance by it. Optional on exchanges with a live quote feed (the zone fetches one); REQUIRED on TRADOVATESIM (no live market-data feed — Tradovate charges separately for it, and a Simulation account never has it) whenever quantity is a percent, unit is \"currency\", OR any of stopLoss/takeProfit/trailStop is set. Omitting it there fails late with a live exchange error instead of a clear one — pass an approximate current price.", "exclusiveMinimum": 0, "type": "number" }, "quantity": { "anyOf": [ { "exclusiveMinimum": 0, "type": "number" }, { "pattern": "^(100|[1-9][0-9]?)%$", "type": "string" } ], "description": "order size: a positive number (contracts/units), or a percent-of-balance string like \"50%\" (1-100%). Required unless action is set. On TRADOVATESIM (no live market-data feed), a percent quantity also requires priceRef — see priceRef." }, "side": { "description": "order direction; required unless action is set, where it is an optional buy/sell filter for cancel/close (omit for flat)", "enum": [ "buy", "sell" ], "type": "string" }, "sizeAgainstEquity": { "description": "for a percent quantity, size against equity instead of available balance (y=equity)", "type": "boolean" }, "stopLoss": { "description": "attached bracket stop-loss as a POINT distance from the fill; pair with takeProfit for a fixed OCO, or with a trailing leg. Market entry, bracket-capable exchanges only (Tradovate). On TRADOVATESIM also pass priceRef (or price) — see priceRef.", "exclusiveMinimum": 0, "type": "number" }, "symbol": { "description": "the instrument symbol, e.g. EUR_USD, XBTUSD, BTC_USD", "type": "string" }, "takeProfit": { "description": "attached bracket take-profit as a POINT distance from the fill; pair with stopLoss, or with a trailing leg. On TRADOVATESIM also pass priceRef (or price) — see priceRef.", "exclusiveMinimum": 0, "type": "number" }, "token": { "description": "your Autoview account token — an av_mcp_ personal access token, generate one at /account/tokens/ on the Autoview site. Omit this if your MCP client already sends it as an `Authorization: Bearer` header (Claude Code, Cursor, and most non-browser clients do this automatically once configured).", "type": "string" }, "trailActivate": { "description": "POINTS of profit the price must move before the trailing stop starts trailing (atx=). Required whenever trailStop is set", "exclusiveMinimum": 0, "type": "number" }, "trailFrequency": { "description": "how often the trailing stop re-checks price (atf=); defaults to 1 if omitted", "exclusiveMinimum": 0, "type": "number" }, "trailStop": { "description": "attached TRAILING stop as a POINT distance the stop keeps behind price once the trail activates (atsl=). Requires trailActivate. Rides winners: pairs with a stopLoss (hard stop + trail) or stands alone. Market entry, trail-capable exchanges only (Tradovate). On TRADOVATESIM also pass priceRef (or price) — see priceRef.", "exclusiveMinimum": 0, "type": "number" }, "trigger": { "description": "absolute trigger (stop) price; required for stop and stop_limit", "exclusiveMinimum": 0, "type": "number" }, "type": { "description": "order type; defaults to market. limit/post_only/ioc/fok and stop_limit need a price; stop/stop_limit need a trigger. An entry stop keeps the order side. Not every exchange supports every type (e.g. OANDA has no stops; Kraken spot no ioc/fok).", "enum": [ "market", "limit", "post_only", "ioc", "fok", "stop", "stop_limit" ], "type": "string" }, "unit": { "description": "\"currency\" treats quantity as a CURRENCY amount to convert to units at the resolved price (u=currency) — e.g. on BTC/USD, quantity:10 with unit:\"currency\" buys $10 of BTC instead of 10 BTC. Only meaningful with a fixed (non-percent) quantity. On TRADOVATESIM also pass priceRef (or price) — see priceRef.", "enum": [ "units", "currency" ], "type": "string" } }, "required": [ "hook_id", "symbol" ], "type": "object" }, "name": "entry", "outputSchema": null }, { "description": "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 a TradingView (or other webhook) alert 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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "canonical_id": { "description": "when trace is omitted, narrow the account-wide listing to events reported for one webhook delivery (the canonical id a webhook call produces)", "type": "string" }, "hook_id": { "description": "when trace is omitted, narrow the account-wide listing to events reported for this hook", "type": "string" }, "limit": { "description": "max events to return (default 20)", "exclusiveMinimum": 0, "maximum": 100, "type": "integer" }, "token": { "description": "your Autoview account token — an av_mcp_ personal access token, generate one at /account/tokens/ on the Autoview site. Omit this if your MCP client already sends it as an `Authorization: Bearer` header (Claude Code, Cursor, and most non-browser clients do this automatically once configured).", "type": "string" }, "trace": { "description": "the trace id returned by the entry tool for the order you want to inspect; omit to list your account's recent events instead", "type": "string" } }, "type": "object" }, "name": "events", "outputSchema": null }, { "description": "List your Autoview webhook URLs — the destination for a TradingView (or any other) alert's webhook field. 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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "token": { "description": "your Autoview account token — an av_mcp_ personal access token, generate one at /account/tokens/ on the Autoview site. Omit this if your MCP client already sends it as an `Authorization: Bearer` header (Claude Code, Cursor, and most non-browser clients do this automatically once configured).", "type": "string" } }, "type": "object" }, "name": "hooks", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "token": { "description": "your Autoview account token — an av_mcp_ personal access token, generate one at /account/tokens/ on the Autoview site. Omit this if your MCP client already sends it as an `Authorization: Bearer` header (Claude Code, Cursor, and most non-browser clients do this automatically once configured).", "type": "string" } }, "type": "object" }, "name": "setup", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:d3a171ab4123ca330572970815ebab6a46acca47cf074955add500cd9dffbeca | sha256sum