nexus-exchange-mcp
OfficialClick on "Install 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., "@nexus-exchange-mcpWhat's the current BTC-USDX-PERP ticker on Nexus?"
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.
Nexus Exchange MCP Server
An MCP server that exposes the Nexus Exchange API as tools an AI agent (Claude Desktop / Claude Code) can call to read market data and place trades.
It talks to the real, public exchange gateway. Market-data and demo tools work with zero configuration; account and trading tools use HMAC API credentials read from environment variables.
What works today
Tool | Status | Endpoint |
| ✅ Live (public) |
|
| ✅ Live (public) |
|
| ✅ Live (public) |
|
| ✅ Live (public) |
|
| ✅ Live (public) |
|
| ✅ Live (public) |
|
| ✅ Live (needs key + direct gateway) |
|
| ✅ Live (needs key + direct gateway) |
|
| ✅ Live (needs key + direct gateway) |
|
| ✅ Live (needs key + direct gateway) |
|
| ✅ Live (needs key + direct gateway) |
|
| 🚧 Pending — server-side endpoint not built yet | none yet |
| 🚧 Pending — server-side capability not built yet | none yet |
The two pending tools are wired into the agent flow but return a clear
not_yet_available message rather than faking a result. They light up when the
server-side capability ships.
Related MCP server: CryptoConduit-MCP
Quick start
npm install
npm run build
npm start # runs the stdio MCP servernpm start waits on stdio for an MCP client; it is meant to be launched by
Claude rather than run by hand. To verify it works end-to-end against the live
API without a client, use the smoke check:
npm run smoke # lists tools, calls list_markets against productionExpected output ends with list_markets OK -> N markets.
Environment variables
Copy .env.example and set as needed. Only trading/account tools need
credentials — never commit real secrets.
Variable | Required | Purpose |
| No | API base URL. Defaults to |
| For account/trade tools | HMAC API key id ( |
| For account/trade tools | HMAC secret (hex). |
Authentication
Signed requests use the same canonical HMAC-SHA256 scheme the indexer verifies
(backend/services/indexer/src/auth.rs):
<timestamp>\n<METHOD>\n<path>\n<query>\n<sha256hex(body)>signed with the hex-decoded secret and sent as x-signature alongside
x-api-key and x-timestamp.
Important: the default public base URL (/api/exchange) is a proxy that signs
with the site's own frontend key, so it does not honor per-caller HMAC headers —
authenticated tools through it resolve to the site account, not yours. To trade
as a specific account, point NEXUS_EXCHANGE_API_URL at a direct indexer
gateway that verifies client HMAC (for example a local http://localhost:9090
from the exchange docker-compose). Until then, use the public get_demo_*
tools to demo the account flow with no secrets.
Claude Desktop config
Add this to your Claude Desktop config
(~/Library/Application Support/Claude/claude_desktop_config.json on macOS),
adjusting the absolute path to this package's dist/index.js:
{
"mcpServers": {
"nexus-exchange": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/nexus-exchange-mcp/dist/index.js"],
"env": {
"NEXUS_EXCHANGE_API_URL": "https://exchange.nexus.xyz/api/exchange"
}
}
}
}To enable trading, add NEXUS_EXCHANGE_API_KEY / NEXUS_EXCHANGE_API_SECRET
to the env block and set NEXUS_EXCHANGE_API_URL to a direct gateway.
Demo script
Add the config above, restart Claude Desktop, and confirm
nexus-exchangeappears in the tools list.Ask: "Show me the BTC market on Nexus" — Claude calls
list_markets/get_tickerand reports the live BTC-USDX-PERP price.Ask: "What's in the demo account and its open positions?" — Claude calls
get_demo_accountandget_demo_positionsagainst the live exchange.
Productionization path
stdio is used here because it is the simplest transport to demo. The production target is a hosted Streamable HTTP MCP server with OAuth, so each agent authenticates per-user instead of sharing one API key from env.
Development
npm run lint # tsc --noEmit
npm test # unit tests (HMAC scheme, arg mapping, schemas)
npm run smoke # live end-to-end check against the gatewayMaintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nexus-xyz/nexus-exchange-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server