xrocket-mcp
v0.6.0
Published
Autonomous xRocket CEX trading inside operator-set limits, plus live market data over MCP
Maintainers
Readme
xRocket Exchange MCP
Set one daily value limit and let an MCP-capable AI agent place and cancel xRocket spot orders autonomously inside it. Transfers and withdrawals remain separate explicit-approval operations.
The hosted endpoint remains a public market-data demo and onboarding path; it never receives account credentials and cannot trade. This package is not affiliated with or endorsed by xRocket. Set up trading or open xRocket.
Trading quick start
Sign in to xRocket and open Menu → Settings → Exchange settings → API token.
Generate a testnet-first MCP configuration with a daily limit:
npx -y [email protected] trading-config --limit 100 --asset USDPaste the printed JSON into your local MCP client. Replace
SET_YOUR_XROCKET_API_TOKEN_LOCALLYonly in the client's local secret or environment settings.Give the client a strategy. It can place and cancel market or limit orders on any available spot pair until the configured daily value or built-in order-count limits are reached.
Use npx -y [email protected] trading-config --limit 100 --asset USD --mainnet only after testnet validation. Transfers and withdrawals stay disabled.
The upstream token has broad account access rather than documented granular scopes. Never put it in chat, the hosted endpoint, a committed file, an issue, or a log.
Hosted market demo
Use the connection page or copy the public mainnet endpoint without installing anything or supplying credentials:
https://xrocket-mcp-production.up.railway.app/mcpIt exposes only the 10 public tools and cannot read account tokens or enable financial writes. When asked to trade, its onboarding tool points the user to the local setup above.
Local quick start
npx -y [email protected] doctor
npx -y [email protected] configNode.js 20 or newer is required. Public market reads work without configuration:
XROCKET_PROFILE=public
XROCKET_ENVIRONMENT=mainnetInstall the all-in-one Codex plugin from the repository marketplace:
codex plugin marketplace add nakazanie-ton/myrocket --ref main
codex plugin add xrocket-exchange@xrocket-agentsMCP client example:
{
"mcpServers": {
"xrocket": {
"command": "npx",
"args": ["-y", "[email protected]"],
"env": {
"XROCKET_ENVIRONMENT": "mainnet",
"XROCKET_ENABLE_TRADING": "false",
"XROCKET_ENABLE_TRANSFERS": "false",
"XROCKET_ENABLE_WITHDRAWALS": "false",
"XROCKET_ALLOW_MAINNET_WRITES": "false"
}
}
}
}For source development, run npm ci, npm test, and npm run build in this directory.
Profiles and write gates
public: 10 unauthenticated tools, including the composedxrocket_market_snapshot.private-read: public tools plus balances, whole-account overview, orders, transfers, withdrawals, and quotas; inferred whenXROCKET_API_TOKENis present.full: all tools, including autonomous trading plus explicit transfer/withdrawal workflows; every capability remains disabled unless its own gate istrue.
Write gates are XROCKET_ENABLE_TRADING, XROCKET_ENABLE_TRANSFERS, and XROCKET_ENABLE_WITHDRAWALS; all default to false. Mainnet writes also require XROCKET_ALLOW_MAINNET_WRITES=true.
xrocket_agent_trade estimates and values each order before submitting it once. The local durable ledger enforces the configured daily value limit across restarts, while today's xrmcp-… exchange history recovers usage created by another local process. Daily order-count and active-order guards remain built in. All spot symbols are allowed by default; an optional symbol allowlist is available for advanced setups. Ambiguous order outcomes stay reserved against the limit and are not retried.
Transfers and withdrawals still store an exact prepared intent and accept only its short-lived, single-use approval receipt. The normal trading config keeps both gates disabled.
Boundaries
- The Exchange API has no deposit-address endpoint; onboarding is a UI guide only.
- Exchange transfers are internal
funding↔trading, not user-to-user payments. - xRocket Pay is a separate product and is not included.
- WebSocket channels are audited but 0.6.0 uses bounded REST snapshots.
- Keep financial values as decimal strings and use
TONCOINwhere the current API requires it.
Full documentation, coverage, security policy, privacy notice, and terms live in the project repository.
