MCP · Claude Desktop · Claude Code · Cursor · Windsurf

Your AI can trade on mSamex.

Connect the assistant you already use to your account. It reads spot and futures, trades futures, and speaks plain language. Withdrawal is not something it can do — the tools do not exist.

Can it take my moneyNo.No withdrawal tool in the connector. Withdrawal endpoints blocked at the network edge. Two layers, independent.
What exactly can it do30 tools25 read markets and your account. 5 place, cancel and modify futures orders.
Connected · mcp.msamex.comCLAUDE DESKTOP
What's my risk on BTC right now?
AI

One open position on BTCUSDT perps:

BTCUSDT long20× isolated
Size0.250 BTC
Entry61,240.5
Mark61,813.4
Liquidation58,312.7
Distance−5.66%
Margin765.51 USDT

Liquidation sits 5.66% below mark. No stop-loss is attached.

get_positions · get_ticker
Set a stop 3% below my entry, reduce-only.
AI

Placed: stop_market sell 0.250 BTC, trigger 59,403.3, reduce-only. Order id 48213911. It fires at the trigger and executes at market.

place_order
Key permissions

It can never withdraw. Not restricted — absent.

The assistant is not given a withdrawal ability and then told not to use it. The ability does not exist in the connector, and the exchange blocks the endpoints on top of that. A leaked token can place and cancel futures orders. It cannot move funds off the platform.

1
No withdrawal tool in the connectorThe 30-tool list has nothing that moves funds, creates or reads API keys, or touches the admin plane. There is nothing to misuse.
2
Endpoints blocked at the network edgeWithdrawal and key-management routes reject every connector-authenticated request before it reaches the exchange.
+
2FA to create a connectionLetting software place orders with your money should take one deliberate step. If a token is exposed, revoke it in your account — it can trade until you do.
Capabilities

Reads spot and futures. Trades futures.

Spot is read-only. Every trading tool targets the futures engine.

Can 30 tools

  • Read markets — order book, candles, funding rates, open interest, session calendar
  • Read your account — balances, positions, orders, trades and fees on both spot and futures
  • Place, cancel, cancel-all futures orders
  • Set leverage and margin mode per market
  • Stop-loss, take-profit, reduce-only, IOC
25 read tools · 5 trading tools

Cannot 0 tools

  • Withdraw or move funds off the platform
  • Create or read API keys
  • Reach the admin plane
  • Place spot orders — spot is read-only
These are not disabled by policy. They are not in the tool list.
What people actually build

Strategies and bots — not chat.

The assistant reads the same candles, funding and order books your bot would. It can research a strategy, test it against real history, execute it, and write the code to run it without you.

Research a strategy

Real candles, real fees, across 101 futures and 54 spot markets.

  • Backtest a 21/55 EMA cross on BTC over the last 2,000 four-hour candles and show me the win rate and max drawdown.get_klines
  • Compare RSI mean-reversion against EMA trend-following on ETH this quarter — which held up in the chop?get_klines
  • Which of the perps trended cleanest last week, measured by ADX, and which just ranged?list_markets · get_klines
  • Model what 0.055% taker fees do to a strategy that takes twelve trades a day.get_market

Run it on the market

Scan conditions across every market, then act on what it finds.

  • Scan every perp for price above the 200 EMA with positive funding, then open the three strongest at 3× isolated.get_klines · set_leverage · place_order
  • Enter BTC long when it reclaims the 21 EMA, stop under the last swing low, target 2R.place_order (stop_market)
  • Size every entry so a stop-out costs exactly 1% of the account.get_account · place_order
  • Rebalance my futures exposure to 60% BTC, 40% ETH by notional.list_positions · place_order

Write the bot

It has the API reference. Ask it for working code you own and run.

  • Write me a Python bot for this strategy against the mSamex REST API, with HMAC signing done properly.→ your own code
  • Add reconnect handling, rate-limit backoff and a client_order_id so a retry can't double my position.→ your own code
  • Turn this into a service that runs on my VPS and logs every fill.→ your own code
  • Review my bot for the mistakes that cost money — wrong field names, unhandled 422s, fee maths.→ your own code

The assistant acts while you are talking to it — it does not sit watching the market. That is what the bot it writes for you is for, running against the REST API on your own machine.

Setup

Three steps. The third is a paste.

1
Enable 2FA and create a connection

In your account settings. Two-factor is required — letting software place orders with your money should take one deliberate step.

2
Copy the configuration block

We generate it with your token. It is the only credential the assistant ever holds.

3
Paste it into your client

Claude Desktop, Claude Code, Cursor or Windsurf. Restart the client. Ask it what it can see.

Claude DesktopClaude CodeCursorWindsurfany MCP clientcustom scripts via the MCP SDK
claude_desktop_config.json · mcp.json
{
  "mcpServers": {
    "msamex": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.msamex.ee/",
               "--header", "Authorization: Bearer 0a1b2c3d4e5f6789:9f8e7d6c5b4a32109f8e7d6c5b4a3210"]
    }
  }
}
Reference

What it is connected to.

Markets
  • Futures markets101
  • Active100
  • Spot markets (read-only)54
Leverage & fees
  • Max leverage1000×
  • BTC500×
  • Taker0.055%
  • Maker0.020%
Leverage is set per market.
Order types
limitmarketstop_limitstop_markettake_profit_limittake_profit_marketiocreduce_only
stop_market fires at the trigger and executes at market. stop_limit fires at the trigger and rests as a limit order — it may not fill. reduce_only is a flag.

Hosts: mcp.msamex.com · mcp.msamex.ee

Set it up, step by step

Written for someone new to mSamex who has never edited a config file. Two ways in — pick the one your app offers. Most people are done in five minutes.

EASIEST — no installs

A · Streamable HTTP

Your app has a “Streamable HTTP”, “Remote MCP” or “URL” option. You paste one address and one header. Nothing to download.

Codex · Cursor · Windsurf · most newer apps

needs Node.js

B · STDIO (command)

Your app only asks for a command to launch. A small helper bridges it to us, and that helper needs Node.js installed first.

Claude Desktop · older apps

First, get your key — both paths need it

  1. Create a mSamex account (skip if you have one)

    mSamex is a crypto exchange — spot and futures. AI access sits on top of a normal trading account. Sign up and verify your email. Everything below works on an empty account except placing orders.

  2. Turn on two-factor authentication

    Required, and enforced by the server. Without an authenticator app, creating a key fails with 400 resource.api_key.2fa_disabled. There is no way around it: a key can place orders with your money.

  3. Create the key and copy both values

    Account → API keys → Create. You will be asked for the six-digit code from your authenticator. You get an access key and a secret.

    The secret is shown once. Copy the whole string. Together they form your password, written with a colon between them: access-key:secret

Build your header

Paste the two values from Account → API keys. This runs in your browser — nothing is sent anywhere, and nothing is stored.

Paste this as the Authorization header value
Bearer …

Fill both boxes above.

<access-key> and <secret> are placeholders — replace them including the angle brackets, or just use the builder above, which writes the whole line for you.

Pick your app — exact settings for each

Settings → MCP servers → Connect to a custom MCP. Choose the Streamable HTTP tab.

NamemSamex
TransportStreamable HTTP
URLhttps://mcp.msamex.ee/
Bearer token env varleave empty
Headers → keyAuthorization
Headers → valueBearer <access-key>:<secret>
Headers from environment variablesleave empty
Fill in one row, not both. “Headers from environment variables” wants the name of an environment variable, not the value. Put the credential in Headers and leave the other blank — filling both sends an empty header.

Settings → MCP → Add new global MCP server, which opens ~/.cursor/mcp.json.

{
  "mcpServers": {
    "msamex": {
      "url": "https://mcp.msamex.ee/",
      "headers": { "Authorization": "Bearer <access-key>:<secret>" }
    }
  }
}

No Node.js needed — Cursor speaks Streamable HTTP directly. Restart Cursor after saving.

Settings → Cascade → Model Context Protocol → edit ~/.codeium/windsurf/mcp_config.json.

{
  "mcpServers": {
    "msamex": {
      "serverUrl": "https://mcp.msamex.ee/",
      "headers": { "Authorization": "Bearer <access-key>:<secret>" }
    }
  }
}

Then press Refresh in the MCP panel.

Settings → Developer → Edit Config. Claude Desktop launches a command rather than calling a URL, so it needs Node.js (LTS) installed first.

{
  "mcpServers": {
    "msamex": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.msamex.ee/",
               "--header", "Authorization: Bearer <access-key>:<secret>"]
    }
  }
}
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json

Quit completely (⌘Q, or the system tray on Windows) and reopen — closing the window is not enough.

One command in your terminal. Nothing to edit by hand.

claude mcp add --transport http msamex https://mcp.msamex.ee/   --header "Authorization: Bearer <access-key>:<secret>"

Check it with claude mcp list.

Any MCP client that speaks Streamable HTTP needs exactly two things.

URLhttps://mcp.msamex.ee/
HeaderAuthorization: Bearer <access-key>:<secret>

The .com host works identically: https://mcp.msamex.com/. If the client only supports STDIO, use the Claude Desktop command form instead.

If it still says it cannot see your key — reopen the app. Most clients read the connector config once, when they start. After saving, the running session is still using the old settings, so it keeps reporting no credential no matter how many times you retry. Quit the app completely and open a new chat. In Codex you can also remove the connector and add it again. This is the single most common reason a correct setup appears not to work.
Then check it arrived. Ask “What is my futures balance?”, not “what markets do you see”. Market data works without a key, so a broken header still lists every tool and answers market questions. Only an account question proves the credential arrived.

Finally — restart and check

  1. Quit the app completely, then reopen it

    Closing the window is not enough. On macOS press ⌘Q; on Windows quit it from the system tray.

  2. Ask it something

    Start a new chat: “What mSamex markets can you see?” If it answers with real market names, you are connected.

If something is not working

What you seeWhat it meansFix
No mSamex tools at allPath B without Node.js, or a typo in the configInstall Node.js; check for a stray comma or brace
invalid_signatureThe secret is wrong or incompleteRe-copy it. If you no longer have it, create a new key
nonce_expiredYour computer's clock is offTurn on automatic time in system settings
2fa_disabledThe account has no authenticatorEnable two-factor, then create the key
401 or “unauthorized”The header is malformedIt must read Bearer key:secret — one space after Bearer, a colon between the two values
Tools listed but nothing happensThe app was not fully restartedQuit completely (⌘Q / system tray) and reopen

mSamex AI Trading Access is a tool for AI-assisted trading. It does not provide financial, investment, legal or tax advice. You are responsible for every order placed on your account, including orders placed on your behalf by an assistant. Futures trading with leverage can result in losses exceeding your initial margin.

Copied