Wires Claude or your MCP client into Toreva's non-custodial perps execution layer on Solana. Opens longs and shorts at 1 basis point, routes across Jupiter Perps, Pacifica, Drift, and Flash Trade for best execution. Everything after the open is free: closes, margin adjustments, cancels, funding settlement. Uses a delegated authority model so your wallet stays root owner while a Swig policy layer and venue-specific child capabilities handle execution. Includes simulate, explain, and query tools for positions and funding rates. Install with npx toreva init, authenticate with device flow, and let the agent decide while Toreva routes and receipts each action.
Public tool metadata for what this MCP can expose to an agent.
KIT_ADD_SUBSCRIBER_TO_FORMTool to add a subscriber to a specific form by ID. Use after confirming form and subscriber IDs.3 paramsTool to add a subscriber to a specific form by ID. Use after confirming form and subscriber IDs.
idintegerform_idintegerreferrerstringKIT_CREATE_CUSTOM_FIELDTool to create a new custom field for subscriber data. Use when you need to store extra attributes for subscribers.1 paramsTool to create a new custom field for subscriber data. Use when you need to store extra attributes for subscribers.
labelstringKIT_CREATE_TAGTool to create a new tag in the account. Use when you need a custom label to segment subscribers. Use after confirming tag uniqueness to avoid duplicates. Example: "Create a tag called 'VIP' for premium customers."1 paramsTool to create a new tag in the account. Use when you need a custom label to segment subscribers. Use after confirming tag uniqueness to avoid duplicates. Example: "Create a tag called 'VIP' for premium customers."
namestringKIT_CREATE_WEBHOOKTool to create a new webhook subscription. Use when you need subscriber or purchase event notifications.2 paramsTool to create a new webhook subscription. Use when you need subscriber or purchase event notifications.
eventobjecttarget_urlstringKIT_DELETE_BROADCASTTool to delete a specific broadcast. Use when you need to permanently remove a broadcast by ID (after confirming the ID). Example prompt: "Delete broadcast with ID 123"1 paramsTool to delete a specific broadcast. Use when you need to permanently remove a broadcast by ID (after confirming the ID). Example prompt: "Delete broadcast with ID 123"
idintegerKIT_DELETE_CUSTOM_FIELDTool to delete a specific custom field. Use after confirming the custom field ID is correct. Deletes the field permanently.1 paramsTool to delete a specific custom field. Use after confirming the custom field ID is correct. Deletes the field permanently.
idintegerKIT_DELETE_SUBSCRIBERTool to delete (unsubscribe) a subscriber by ID. Use when you need to remove a subscriber from all sequences and forms after confirming the subscriber exists.1 paramsTool to delete (unsubscribe) a subscriber by ID. Use when you need to remove a subscriber from all sequences and forms after confirming the subscriber exists.
idintegerKIT_DELETE_TAGTool to delete a tag by ID. Use when you need to remove obsolete or incorrect tags after confirming the tag exists.1 paramsTool to delete a tag by ID. Use when you need to remove obsolete or incorrect tags after confirming the tag exists.
idintegerKIT_DELETE_WEBHOOKTool to delete a webhook by ID. Use when you want to permanently remove a webhook after confirming its ID.1 paramsTool to delete a webhook by ID. Use when you want to permanently remove a webhook after confirming its ID.
idintegerKIT_GET_ACCOUNTTool to retrieve current account information. Use after validating API key to fetch account ID, plan type, primary email, and timezone details.Tool to retrieve current account information. Use after validating API key to fetch account ID, plan type, primary email, and timezone details.
No parameter schema in public metadata yet.
KIT_GET_ACCOUNT_COLORSTool to retrieve list of colors associated with the account. Use after confirming authentication to fetch account-specific color palette.Tool to retrieve list of colors associated with the account. Use after confirming authentication to fetch account-specific color palette.
No parameter schema in public metadata yet.
KIT_GET_BROADCASTTool to retrieve details of a specific broadcast by ID. Use when you have a valid broadcast ID and need its metadata.1 paramsTool to retrieve details of a specific broadcast by ID. Use when you have a valid broadcast ID and need its metadata.
idintegerKIT_GET_BROADCAST_STATSTool to retrieve statistics for a specific broadcast by ID. Use after a broadcast has been sent to monitor performance.1 paramsTool to retrieve statistics for a specific broadcast by ID. Use after a broadcast has been sent to monitor performance.
idintegerKIT_GET_CREATOR_PROFILETool to retrieve the creator profile information for the account. Use when you need creator metadata (bio, avatar, social links) before publishing or customizing content.Tool to retrieve the creator profile information for the account. Use when you need creator metadata (bio, avatar, social links) before publishing or customizing content.
No parameter schema in public metadata yet.
KIT_GET_EMAIL_STATSTool to retrieve email statistics for the account. Use after confirming authentication to fetch metrics on emails (sent, opened, clicked) over the last 90 days.Tool to retrieve email statistics for the account. Use after confirming authentication to fetch metrics on emails (sent, opened, clicked) over the last 90 days.
No parameter schema in public metadata yet.
KIT_LIST_BROADCASTSTool to retrieve a paginated list of all broadcasts. Use when you need to enumerate or review broadcast summaries with cursor-based pagination.4 paramsTool to retrieve a paginated list of all broadcasts. Use when you need to enumerate or review broadcast summaries with cursor-based pagination.
afterstringbeforestringper_pageintegerinclude_total_countstringKIT_LIST_CUSTOM_FIELDSTool to retrieve a paginated list of custom fields. Use after confirming you need to enumerate or inspect all custom fields with cursor-based pagination.4 paramsTool to retrieve a paginated list of custom fields. Use after confirming you need to enumerate or inspect all custom fields with cursor-based pagination.
afterstringbeforestringper_pageintegerinclude_total_countstringKIT_LIST_FORMSTool to list all forms. Use when you need to fetch forms with optional filters and pagination.6 paramsTool to list all forms. Use when you need to fetch forms with optional filters and pagination.
typestringembed · hostedafterstringbeforestringstatusstringper_pageintegerinclude_total_countstringtrue · falseKIT_LIST_SEGMENTSTool to retrieve a paginated list of segments. Use when you need to enumerate segments with cursor-based pagination for further processing or display.4 paramsTool to retrieve a paginated list of segments. Use when you need to enumerate segments with cursor-based pagination for further processing or display.
afterstringbeforestringper_pageintegerinclude_total_countstringtrue · falseKIT_LIST_SEQUENCESTool to retrieve a paginated list of all sequences. Use when you need to enumerate sequences with pagination for further processing or display.4 paramsTool to retrieve a paginated list of all sequences. Use when you need to enumerate sequences with pagination for further processing or display.
afterstringbeforestringper_pageintegerinclude_total_countstringtrue · falseKIT_LIST_SUBSCRIBERSTool to retrieve a list of subscribers. Use when you need to fetch subscriber records with optional filtering, sorting, and pagination.12 paramsTool to retrieve a list of subscribers. Use when you need to fetch subscriber records with optional filtering, sorting, and pagination.
afterstringbeforestringstatusstringper_pageintegersort_fieldstringsort_orderstringasc · desccreated_afterstringemail_addressstringupdated_afterstringcreated_beforestringupdated_beforestringinclude_total_countstringtrue · falseKIT_LIST_SUBSCRIBERS_FOR_FORMTool to retrieve subscribers for a specific form by ID. Use when you need to page or filter subscribers of a form.10 paramsTool to retrieve subscribers for a specific form by ID. Use when you need to page or filter subscribers of a form.
afterstringbeforestringstatusstringform_idintegerper_pageintegeradded_afterstringadded_beforestringcreated_afterstringcreated_beforestringinclude_total_countstringtrue · falseKIT_LIST_TAGSTool to retrieve a list of all tags. Use when you need a complete inventory of tags for the Kit account.Tool to retrieve a list of all tags. Use when you need a complete inventory of tags for the Kit account.
No parameter schema in public metadata yet.
KIT_LIST_TAG_SUBSCRIBERSTool to retrieve subscribers for a specific tag. Use after confirming the tag ID when you need to list subscribers associated with a tag.10 paramsTool to retrieve subscribers for a specific tag. Use after confirming the tag ID when you need to list subscribers associated with a tag.
afterstringbeforestringstatusstringtag_idintegerper_pageintegertagged_afterstringcreated_afterstringtagged_beforestringcreated_beforestringinclude_total_countstringtrue · falseKIT_TAG_SUBSCRIBERTool to associate a subscriber with a specific tag by ID. Use after confirming tag and subscriber IDs when tagging a subscriber.2 paramsTool to associate a subscriber with a specific tag by ID. Use after confirming tag and subscriber IDs when tagging a subscriber.
tag_idintegersubscriber_idintegerKIT_TAG_SUBSCRIBER_BY_EMAILTool to associate a subscriber with a tag using an email address. Use when you have a tag ID and subscriber email ready. Use after confirming both resources exist.2 paramsTool to associate a subscriber with a tag using an email address. Use when you have a tag ID and subscriber email ready. Use after confirming both resources exist.
tag_idintegeremail_addressstringKIT_UPDATE_ACCOUNT_COLORSTool to update the list of colors for the account. Use when customizing your Kit account's color palette for broadcasts and templates.1 paramsTool to update the list of colors for the account. Use when customizing your Kit account's color palette for broadcasts and templates.
colorsarrayKIT_UPDATE_CUSTOM_FIELDTool to update a custom field's label. Use after listing or retrieving custom fields and confirming the field ID to rename.2 paramsTool to update a custom field's label. Use after listing or retrieving custom fields and confirming the field ID to rename.
idintegerlabelstringKIT_UPDATE_TAGTool to update a tag's name by ID. Use after retrieving tag ID and confirming the new name.2 paramsTool to update a tag's name by ID. Use after retrieving tag ID and confirming the new name.
idintegernamestringNon-custodial execution primitives for Solana.
Best-execution routing across Jupiter Perps, Pacifica, Drift, and Flash Trade.
1 bps to open. Everything else is free.
Your agent decides. Toreva executes. Every action receipted.
Use toreva_establish to attach a policy-controlled delegated authority to
your Solana wallet. Your wallet stays the root owner — Toreva creates a bounded
session key that enforces spend caps, allowed-token constraints, and revocation
policy. Non-custodial: Toreva never holds private key material. Every
establishment is receipted.
# Minimum — attach delegated authority to your wallet
toreva_establish({ walletAddress: "your-wallet-address" })
Once established, your agent can execute across all supported primitives — earn, perps, and more — without re-authenticating for each operation.
Deploy idle USDC to yield across supported venues with toreva_earn. Scan,
compare, and execute from a single tool.
npx toreva earn-compare --asset USDC --venue kamino
npx toreva earn-compare --asset USDC --venue marginfi
| Venue | Asset |
|---|---|
| Kamino Finance | USDC |
| Marginfi | USDC |
Every earn execution returns a read-evidence receipt, a venue-intelligence receipt, and a sentinel review receipt.
The fastest path — wires Toreva into your MCP-aware client (Claude Desktop, OpenClaw, Cursor) and authenticates you in two commands:
npx toreva init --client=claude-desktop # or openclaw | cursor
npx toreva login
toreva init writes the Toreva MCP server stanza into your client's
config file. toreva login runs the gateway's device-code flow and
stores the resulting token at ~/.config/toreva/config.json (chmod
600).
Restart your MCP client and verify:
npx toreva doctor
You should see three [ OK ] lines: config_present, auth_token,
mcp_call.
Per-client snippets live in examples/ — one folder per
supported client (claude-desktop, openclaw, cursor).
npm install @toreva/sdk # TypeScript client library
npm install -g @toreva/cli # global `toreva` binary
TOREVA_AUTH_TOKEN=your_token npx @toreva/mcp
https://mcp.toreva.com
toreva login is the standard path. For CI / power users, set
TOREVA_AUTH_TOKEN directly to skip the device-code flow:
export TOREVA_AUTH_TOKEN=your_token
npx toreva login # writes the token to ~/.config/toreva/config.json
Use toreva login for the standard device-code flow, or request an integration
token from your Toreva contact. The Kit repository is the public source of
truth for agent, SDK, CLI, Skills, and MCP integration details.
| Var | Default | Purpose |
|---|---|---|
TOREVA_MCP_URL | https://mcp.toreva.com | Gateway URL |
TOREVA_AUTH_TOKEN | — | Skip device-code flow, persist this token |
TOREVA_CONFIG_DIR | ~/.config/toreva | Override on-disk config dir |
Run toreva_establish first to attach a delegated authority before execution.
For best fill, omit venue — Toreva compares enabled venues and routes by
estimated all-in cost. Set venue only when you intentionally want a specific
venue. Perps tools use fields: walletAddress, token, sizeUsd, leverage,
collateralToken, and collateralAmount.
The public integration packet lives in this repo:
| Tool | Fee | What it does |
|---|---|---|
toreva_perps_long | 1 bps | Open long — routes to better fill |
toreva_perps_short | 1 bps | Open short — routes to better fill |
toreva_perps_close | Free | Close position at venue |
toreva_perps_add_margin | Free | Add margin |
toreva_perps_remove_margin | Free | Remove margin |
toreva_perps_cancel_order | Free | Cancel order |
toreva_perps_funding_settle | Free | Settle funding |
toreva_perps_simulate | Free | Preview before execution |
toreva_perps_explain | Free | Explain trade or position |
toreva_perps_query_* | Free | Position, funding, venues, markets |
| Venue | Fee | Model |
|---|---|---|
| Jupiter Perps | 6.0 bps flat | Oracle-based |
| Pacifica | 4.0 bps (Tier 1) | Order book variant |
| Drift Protocol | 3.5 bps taker | Order book |
| Flash Trade | 4.0 bps (Tier 1) | Order book variant |
Trades routed to Drift via toreva receive a 5% fee discount.
| Tool | What it does |
|---|---|
toreva_strategies | Browse strategy catalog with pricing |
toreva_establish | Attach a delegated agent authority and child capabilities to a wallet |
toreva_earn | Deploy USDC to yield across venues |
toreva_scan | Survey portfolio state |
toreva_simulate | Dry-run without execution |
toreva_execute | Execute a strategy |
toreva_explain | Narrate what happened |
toreva_configure | Adjust settings |
| Package | What |
|---|---|
@toreva/sdk | TypeScript client library |
@toreva/cli | Command-line interface |
@toreva/mcp | MCP server for agent integration |
@toreva/types | Shared schemas and types |
This software provides tooling for interacting with the toreva execution service. It does not provide financial advice, investment advice, trading advice, or any other form of advice. Use of this software does not create a fiduciary relationship, advisory relationship, or any other professional relationship between you and Toreva Pty Ltd.
Toreva Pty Ltd is not responsible for any modifications made to this software by third parties, including modifications that alter or remove compliance language, disclaimers, or risk warnings. If you use a modified version of this software, you do so at your own risk and are responsible for ensuring your use complies with applicable law.
MIT — see LICENSE
io.github.shelvick/shopify-subscription-reconciliation
zleventer/google-ads-mcp
csoai-org/meok-stripe-acp-checkout-mcp
io.github.mharnett/google-ads
csoai-org/stripe-billing-mcp
co.pipeboard/google-ads-mcp