JTX Markets MCP Server

JTX Markets MCP Server

Enables read-only querying of JTX Markets account and market data, including balance, positions, orders, trades, funding history, and market summaries, through natural language in MCP-compatible clients.

Category
Visit Server

README

@jtxmarkets/mcp-server

Model Context Protocol server for JTX Markets — query your account and market data from Claude Desktop (and other MCP-compatible clients) in plain English.

Phase 1 (this release): read-only. Positions / orders / trades / balance / funding / market data. Trade-placement tools land in Phase 2.

Quick start

1. Create a Read-scoped API key

  1. Sign in to staging-app.jtxmarkets.com (or the production dashboard once it's live)
  2. Go to /account/api → Additional API Keys → + Create API Key
  3. Scope: Read — the MCP server can't submit orders. This is Phase 1.
  4. (Optional) Add your machine's public IP to the IP allowlist
  5. Copy the api_key and secret — the secret is shown only once

2. Find your Client ID

Your engine client_id is on /account/overview under the "API Info" section, or you can copy it from your dashboard URL.

3. Add to Claude Desktop config

Open claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add an mcpServers.jtx-markets entry:

{
  "mcpServers": {
    "jtx-markets": {
      "command": "npx",
      "args": ["-y", "@jtxmarkets/mcp-server"],
      "env": {
        "JTX_MARKETS_API_KEY":    "your-api-key-here",
        "JTX_MARKETS_API_SECRET": "your-api-secret-here",
        "JTX_MARKETS_CLIENT_ID":  "11111111-1111-1111-1111-111111111111",
        "JTX_MARKETS_ENV":        "production"
      }
    }
  }
}

4. Restart Claude Desktop

Open a new chat, click the tools icon, and you should see jtx-markets listed with a green dot.

Tools (Phase 1 — read-only)

Tool Purpose
get_balance Balance / Available / Withdrawable / Locked / uPNL / rPNL with plain-English explanations of what each number means
get_positions Open positions with entry, mark, uPNL, liquidation price
get_orders Open (resting) orders — symbol, side, type, price, size, id
get_trades Recent fills. Optional symbol filter + limit (default 25)
get_funding_history Funding payments received or paid
list_markets Every listed symbol with mark + 24h volume
get_market_summary Mark / funding rate / next funding / open interest / 24h volume for one symbol

Example prompts

  • "How much can I withdraw right now?" — calls get_balance, distinguishes Available from Withdrawable
  • "Show me my open ETH-PERP positions" — calls get_positions
  • "Which of my open orders are furthest below the mark?" — combines get_orders + get_market_summary
  • "Total funding received this month on BTC-PERP?" — calls get_funding_history and sums

Environment variables

Name Required Default Notes
JTX_MARKETS_API_KEY ✅ — Public API key from /account/api
JTX_MARKETS_API_SECRET ✅ — HMAC-SHA384 secret; shown once at key creation
JTX_MARKETS_CLIENT_ID ✅ — Engine client_id UUID
JTX_MARKETS_ENV production production (default). staging will resolve once the staging engine host is provisioned.
JTX_MARKETS_BASE_URL derived from JTX_MARKETS_ENV Override for self-host / testing

Default is production because staging DNS has not yet been provisioned. Once a staging-engine.jtxmarkets.com host exists you can flip to staging first to test against non-live money.

Safety notes

  • This is Phase 1. It cannot place, modify, or cancel orders. It cannot withdraw. It literally does not have those endpoints wired up.
  • API keys are scoped. The recommended Read scope is enforced by the engine on every request (perp-engine auth middleware). If a key is compromised, a Read key still can't drain funds — worst case is disclosure of account state.
  • Withdrawals never touch MCP. They require email verification code + TOTP + admin approval on the dashboard. That flow does not translate to natural language and never will.
  • Do not share a chat containing active JTX Markets tool calls — it exposes account state to whoever sees the transcript.

Development

npm install
npm test              # 34 tests, all TDD-first
npm run build         # emits dist/

License

MIT © JTX Markets — markets@jtxmarkets.com

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured