smx-mcp
OfficialThis MCP server provides read-only SMI space-sector data and SMX Base Sepolia testnet market/trading-assistance tools, plus paid x402 data endpoints; it does not trade, sign, or resolve markets.
Query the latest SMI print and methodology free, optionally narrowing to a sub-index or section.
List and inspect SMX testnet markets and aggregated order books free, including unlisted registry entries.
Get self-custody trading guidance and check order IDs for unclaimed fills before canceling.
Pay $0.01 testnet USDC via x402 for SMI history, a launch record, or an archived print; these require X402_PRIVATE_KEY.
Pay $0.01 testnet USDC via x402 for SMX agent-API market list/detail/midpoint; free equivalents exist for list/detail.
Caveat: the schema includes paid/keyed x402 tools despite the README saying all tools are free/no-key, and the schema omits README-mentioned unsigned order builders and perps tools.
Enables paid tool calls by paying $0.01 in Circle testnet USDC on Base Sepolia via the x402 protocol using the user's own wallet key. Before signing, the server validates the 402 challenge (network eip155:84532, asset address, receiver, and amount cap), and refuses anything else unsigned.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@smx-mcp show me the latest SMI launch cadence print and the testnet markets"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
smx-mcp: SMX by Space Markets (testnet) MCP server
MCP server for SMX, the Space Markets testnet venue for humans and agents, and the Space Markets Index (SMI), published by Space Markets, Inc. Space Markets, Inc. is the publisher of this package; SMX is operated by SMX Markets Ltd (BVI). Testnet only: Base Sepolia (chain id 84532). Test tokens have no monetary value. All tools are free and need no key or account. Not available to US persons or in restricted jurisdictions.
Terms of Service: https://smx.space/terms.html · Privacy policy: not yet published (see Licence and data)
Two separate products, kept separate in every tool:
SMI (
smi_*tools): information on orbital launch activity and other space-sector data. SMI results never contain market prices. Data from GCAT (J. McDowell, planet4589.org/space/gcat), CC BY 4.0, modified by Space Markets. Not affiliated with or endorsed by SpaceX. Data only, not advice.SMX event markets (
smx_*tools): testnet markets priced in test USDC. Read from the Base Sepolia contracts and the SMX agent API.
This server never signs, sends or holds keys and never resolves markets. smx_build_order, smx_build_cancel,
smx_build_claim and perps_build_order return UNSIGNED Base Sepolia transactions (to, data, value, chainId) that you
sign and send from your own wallet. smx_trading_guide returns the steps and smx_check_cancel_safety helps you follow the
claim-before-cancel rule (smx_build_cancel adds the claims first automatically).
QUICKSTART
SMX is live on testnet (Base Sepolia, chain id 84532). No key or account. An agent can take a first quote in a few minutes.
Install. npx -y smx-mcp, or npm install -g smx-mcp and then smx-mcp.
Connect. Hosted endpoint: https://smx.space/mcp. The same block is the Claude Desktop config (claude_desktop_config.json) and the Cursor config (~/.cursor/mcp.json or .cursor/mcp.json):
{
"mcpServers": {
"smx": {
"url": "https://smx.space/mcp"
}
}
}Stdio from the install above, instead of the hosted endpoint: "command": "npx" and "args": ["-y", "smx-mcp"]. If the hosted endpoint does not answer, use that stdio command.
List markets and read a quote. Call smx_list_markets, then smx_get_market with an id from that list. The quote is bestBidBps, bestAskBps and yesPriceCents. A perps quote is perps_list_markets, then perps_quote.
Related MCP server: kushbitx-mcp-agent
Tools
Tool | Cost | What it returns |
| free | Latest SMI print: headline (SMI Launch Cadence + formula) and a one-line summary per sub-index; |
| free | SMI methodology: version, change log, conflicts statement, headline formula, counting rules |
| free | SMX markets live on testnet, read from every configured Base Sepolia MarketRegistry and de-duplicated by id (same listing rules as the agent API): state, status, outcome, bid/ask, YES midpoint, minimum order |
| free | One market plus the resting order book aggregated by price level, contracts, links |
| free | How to trade from your own wallet: steps, addresses, order rules, the claim-before-cancel rule |
| free | Unclaimed-fill check for your order ids ( |
All tools are annotated readOnlyHint: true and return structuredContent plus a one-line text summary.
Perps (testnet, Base Sepolia, MockUSDC)
perps_list_markets, perps_quote, perps_build_order, perps_positions, perps_account. These proxy the SMX perps API (SMX_PERPS_API, default https://smx-perps-preview.fly.dev/perps/v0) and cover all markets on both engines, including PERP-XRAY and the countdowns. They return UNSIGNED transactions only, plus reduce_only status and machine-readable error codes. Sign them with your own wallet.
Install
Requires Node.js 20+. Until the package is published, replace npx -y smx-mcp with
node /absolute/path/to/smx-mcp/dist/index.js (after npm ci && npm run build).
Claude Desktop
claude_desktop_config.json (Settings, Developer, Edit Config):
{
"mcpServers": {
"smx": {
"command": "npx",
"args": ["-y", "smx-mcp"]
}
}
}Add "env": { "SMX_MCP_TELEMETRY": "1" } only if you want to opt in to usage counting.
Cursor
~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
{
"mcpServers": {
"smx": {
"command": "npx",
"args": ["-y", "smx-mcp"]
}
}
}Any MCP client
stdio: command
npx, args["-y", "smx-mcp"]. No env needed.Streamable HTTP: run
npx -y smx-mcp --http 8787and point the client athttp://localhost:8787/mcp(stateless, JSON responses).GET /healthfor checks.Claude Code:
claude mcp add smx -- npx -y smx-mcpMCP Inspector:
npx @modelcontextprotocol/inspector node dist/index.js
Network endpoints and credentials
This server makes outbound HTTPS calls only to:
Endpoint | Used for |
| market, trading-status and SMI data; carries the version header and, only if you opt in, the telemetry headers below |
| perps markets, quotes, positions and unsigned perps transactions (testnet) |
| order book, clears, candles, stats, account orders (testnet indexer) |
| read-only contract calls for market state and unsigned order building |
Credentials: none. All tools are free; the server reads no keys and makes no payments. Order tools return UNSIGNED transactions; the
server never signs, sends or stores trading keys. No install scripts, no shell execution, no file access beyond
~/.config/smx-mcp/install-id, which is only created if you opt in to telemetry.
Telemetry
Off by default. By default requests to smx.space carry only X-SMX-Client (the package version, like a user agent); no id is created or sent. If you set SMX_MCP_TELEMETRY=1 (opt-in), requests to smx.space also carry X-SMX-Install (a random install id stored in ~/.config/smx-mcp/install-id) and X-SMX-Tool (tool name). They are used only to count anonymous usage, are not sold or transferred, and are not used to train models. Nothing is sent to any other host. Like any web request, smx.space sees your IP address.
Details: the id file can also live in $XDG_CONFIG_HOME/smx-mcp/ or $SMX_MCP_CONFIG_DIR; delete it to get a new id. Hosted
HTTP mode (--http) uses one random id per server process, prefixed hosted-, and a per-process id prefixed
ephemeral- is used if the file cannot be written. Without SMX_MCP_TELEMETRY=1 only X-SMX-Client is sent. The headers
are added only when the request goes to https://smx.space: if SMX_ORIGIN points at another host they are not sent,
and redirects are followed hop by hop so a redirect to another host never carries them. On the SMX side these values
are logged next to a salted hash of the IP, never the raw IP.
Licence and data
The code is MIT-licensed. The MIT licence covers this code only, not the data it returns. SMI and SMX data come from smx.space under its published terms (SMI: https://smx.space/smi/terms/). GCAT data is CC BY 4.0, modified by Space Markets. Provided as-is, without warranty. Not affiliated with or endorsed by SpaceX.
Publisher: Space Markets, Inc. Terms of Service: https://smx.space/terms.html (currently the SMX testnet notice). Privacy policy: not yet published; a link will be added here before listing. Use of SMX is not available to US persons or in restricted jurisdictions.
Environment
Variable | Default | Purpose |
|
| Base Sepolia RPC (chain id is checked; any other chain is refused) |
| the two Base Sepolia MarketRegistries | Comma-separated registry addresses to list, quote and trade. Markets are de-duplicated by id (a later registry wins). Live on testnet. |
|
| SMX origin for SMI and agent API reads |
| off |
|
|
| Where the install id is stored |
|
| HTTP mode |
Develop and test
npm ci
npm run build
npm test # unit checks, telemetry headers (local echo server), copy-rules check (free live reads)
npm run smoke # stdio client: every free tool against live endpoints
npm run smoke:http # HTTP transport: tools/list + two free callsThe copy check enforces: no old codename, "mock", "odds" or "mainnet" in any description; SMI descriptions avoid settle/settlement/benchmark/live/real-time/reference rate/official/tradeable/signal; SMI outputs carry no price keys and include the publisher and disclaimer; no payment wording or regulated-venue terms; no trading or resolve tools.
Links: https://smx.space/skill.md · https://smx.space/llms.txt · https://smx.space/openapi.yaml · https://smx.space/smi-api/skill.md
Available Tools
12 toolssmi_get_historySMI: weekly history (paid)ARead-only
Space Markets Index (SMI), published by Space Markets, Inc.: weekly orbital launch counts for the year so far, with totals and GCAT attribution. Information only; contains no market prices. Paid: $0.01 in Circle testnet USDC on Base Sepolia via x402, testnet USDC, no real value, charged to your own wallet key in X402_PRIVATE_KEY (without it the tool makes no call). Errors (400/404) are not charged.
Inputs: no named parameters.
smi_get_latestSMI: latest printARead-onlyIdempotent
Space Markets Index (SMI), published by Space Markets, Inc.: the latest weekly print. Returns the headline figure (SMI Launch Cadence, with its formula) and a one-line summary of each sub-index: launch and access, compute and energy in orbit, connectivity and data, spectrum and filings, deep space and the Moon. Includes print id, data dates, rules links and the GCAT attribution. Information only; contains no market prices. Free, no key. Pass sub_index to get one sub-index in full.
Inputs: sub_index.
smi_get_launchSMI: one launch record (paid)ARead-only
Space Markets Index (SMI), published by Space Markets, Inc.: one orbital launch by GCAT launch id (e.g. 2026-221): date, rocket, mission, agency, payloads and mass status. Information only. Paid: $0.01 in Circle testnet USDC on Base Sepolia via x402, testnet USDC, no real value, charged to your own wallet key in X402_PRIVATE_KEY (without it the tool makes no call). Errors (400/404) are not charged.
Inputs: launch_id (required).
smi_get_methodologySMI: methodologyARead-onlyIdempotent
Space Markets Index (SMI) methodology, published by Space Markets, Inc.: version, change log, conflicts statement, the headline formula and the counting rules for each sub-index. Free, no key. Pass section to get one part.
Inputs: section.
smi_get_printSMI: one print (paid)ARead-only
Space Markets Index (SMI), published by Space Markets, Inc.: one archived weekly print by print id (e.g. 2026-W39.r7). Information only; contains no market prices. Paid: $0.01 in Circle testnet USDC on Base Sepolia via x402, testnet USDC, no real value, charged to your own wallet key in X402_PRIVATE_KEY (without it the tool makes no call). Errors (400/404) are not charged.
Inputs: print_id (required).
smx_check_cancel_safetySMX: check an order for unclaimed fillsARead-onlyIdempotent
Before cancelling SMX testnet orders from your own wallet, check each order for unclaimed fills. Returns safeToCancel=false and the claim calls to make if any fill is unclaimed (cancelling it would forfeit the fill on the current contracts). Read-only; never cancels or claims. Free, no key. Read-only check of on-chain state at the time of the call, provided as-is. Verify before acting.
Inputs: id (required), order_ids (required).
smx_get_marketSMX: market detail and order bookARead-onlyIdempotent
One SMX testnet market: question, state, outcome if resolved, best bid and ask, YES midpoint, minimum order, contract addresses and the resting order book aggregated by price level (read from chain). Free, no key. Test USDC, no monetary value.
Inputs: id (required).
smx_list_marketsSMX: list marketsARead-onlyIdempotent
List SMX event markets on Base Sepolia testnet, read directly from the on-chain MarketRegistry with the same listing rules as the SMX agent API. Per market: id, title, state (Open/Resolved), status, outcome, best bid and ask, YES midpoint in basis points (5000 = 50 cents) and minimum order. Free, no key. Test USDC, no monetary value.
Inputs: include_unlisted.
smx_paid_get_marketSMX: market detail from the agent API (paid)ARead-only
SMX agent API market detail (GET /agent/markets/{id}): status, outcome, midpoint, minimum order and a book summary for one SMX testnet market. Paid: $0.01 in Circle testnet USDC on Base Sepolia via x402, testnet USDC, no real value, charged to your own wallet key in X402_PRIVATE_KEY (without it the tool makes no call). Errors (400/404) are not charged.
Inputs: id (required).
smx_paid_get_midSMX: market midpoint from the agent API (paid)ARead-only
SMX agent API midpoint (GET /v1/markets/{id}/mid) for one SMX testnet market: midBps (5000 = 50 cents), midPriceCents, source and status. Note: the legacy field midCents is in basis points. Paid: $0.01 in Circle testnet USDC on Base Sepolia via x402, testnet USDC, no real value, charged to your own wallet key in X402_PRIVATE_KEY (without it the tool makes no call). Errors (400/404) are not charged.
Inputs: id (required).
smx_paid_list_marketsSMX: market list from the agent API (paid)ARead-only
SMX agent API market list (GET /agent/markets): the listed SMX testnet markets with status, outcome, midpoint (midBps and midPriceCents) and minimum order, as served by the SMX agent API. Same data as smx_list_markets, which is free. Paid: $0.01 in Circle testnet USDC on Base Sepolia via x402, testnet USDC, no real value, charged to your own wallet key in X402_PRIVATE_KEY (without it the tool makes no call). Errors (400/404) are not charged.
Inputs: all.
smx_trading_guideSMX: how to trade from your own walletARead-onlyIdempotent
How to place, cancel and claim SMX testnet orders from your own wallet on Base Sepolia. This server cannot trade; it returns the exact steps, contract addresses, order rules and the claim-before-cancel safety rule. Free, no key.
Inputs: id.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Several tools have overlapping purposes: smx_list_markets and smx_paid_list_markets return the same data (one free, one paid), smx_get_market and smx_paid_get_market both retrieve a single market's details, and smx_paid_get_mid is a subset of smx_get_market. Descriptions do clarify the free-vs-paid distinction and other overlaps, but the redundancy still creates potential for misselection.
Most names follow a consistent snake_case verb_noun pattern with a domain prefix (smx_ or smi_). Minor deviations exist: smx_trading_guide and smx_check_cancel_safety do not follow verb_noun, and paid tools insert 'paid' before the verb (e.g., smx_paid_list_markets). Overall the convention is predictable and readable.
With 12 tools, the count is within a reasonable range for the server's information-retrieval purpose. However, the presence of free/paid duplicate pairs (list_markets, get_market) means a few tools are redundant and the surface is slightly larger than necessary.
The surface covers market listing, market detail, midpoint, trading guidance, and cancel safety, plus SMI latest, methodology, history, launch, and print. Notable gaps exist: no tools to list available SMI prints or launches, forcing agents to know IDs in advance, which limits discoverability of historical data.
Maintenance
Related MCP Connectors
Read-only on-chain intelligence for AI agents on Base: balances, tokens, gas, tx status.
Read-only on-chain intelligence for AI agents on Base: balances, tokens, gas, tx status.
On-chain receipts, balances, tx status and address activity, pay-per-call via x402 USDC on Base.
Free read-only Base Mainnet transaction Preflight and Verification; no signing or custody.
Related MCP Servers
- AlicenseAqualityDmaintenanceRead-only MCP server for Polymarket, providing order books, market metadata, and price history via public GET endpoints. It requires no private keys and cannot place trades.5MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to preview Base token market data, evaluate SpendGuard spending policies, and read x402 payment challenge terms without signing or paying.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables clients to search, read, and verify sealed forecasts and public-record cards, inspect resolution calendars, engine strands, sensor alerts, and wire headlines, and check whether stories are independent events or echoes. All access is read-only and requires no key, account, or dependencies.5 npm1Apache 2.0
- AlicenseAqualityCmaintenanceEnables MCP clients to read 0G market data — tokens, trades, quotes, creator fees, compute and tasks — and to build unsigned launch and swap transactions for an external wallet to review and sign. It holds no keys, never signs or submits, and reports unreadable figures as unknown rather than zero.14203 npmMIT