MCP Setup (Cursor, Claude Code & MCP Hosts)

Step-by-step setup for connecting Cursor, Claude Code, Claude Desktop, Grok Build, or any MCP host to Artifice **jester_* tools**.

Start with: Using MCP.


What you are configuring

The Jester MCP bridge is a small local program (jester-mcp-bridge on npm). Your MCP host starts it over stdio; it authenticates with your API key and talks to Artifice over HTTPS, exposing portfolio reads, strategy discovery, backtests, and governed writes (with confirmation).

You do not clone a repo. With Node.js 18+, the host runs npx -y jester-mcp-bridge.


Quick start (5 steps)

  1. Get an API key — Console Keys or wallet onboarding. Store it securely.
  2. Use the bridge via npx — no separate install; Node 18+ and the config below is enough (npx -y jester-mcp-bridge).
  3. Add the MCP server in Cursor / Claude / Grok / your host's config. Paste base URL + API key.
  4. Restart the MCP host so it loads the server.
  5. Verify — ask the host to list tools. You should see jester_* names (e.g. portfolio, positions, strategy discovery).

Detailed host-specific steps below.


1. Get an API key

Keep the key private. Anyone with the key can act within that key's delegated scope.


2. Configure your MCP client

  1. Add a stdio MCP server entry in your host's config (see host sections below).
  2. Set JESTER_API_KEY and JESTER_BASE_URL in the server's env block.
  3. Restart the MCP host (or start a new session).
  4. Ask the host to list available Jester tools.

Expected result: your MCP host shows jester_* tools and can answer read-only account or strategy questions.

Every host below runs the same stdio bridge. Only the config file path and top-level JSON shape differ.

HostConfig fileScope
Claude Code.mcp.json (project) or ~/.claude.json (user)Project file is team-shareable
Cursor.cursor/mcp.json (project) or ~/.cursor/mcp.json (global)UI: Settings → MCP
Claude Desktopclaude_desktop_config.json (see below)App restart required
Grok Build.grok/mcp.json (project) or ~/.grok/mcp.json (global)Uses servers, not mcpServers
Other MCP hostsHost-specific mcp.json / settingsSame stdio command + env

Canonical server block (adapt the wrapper to your host):

"jester": {
  "type": "stdio",
  "command": "npx",
  "args": ["-y", "jester-mcp-bridge"],
  "env": {
    "JESTER_API_KEY": "<your-key>",
    "JESTER_BASE_URL": "https://app.jester.trade"
  }
}

If you installed the bridge locally instead of via npx, point command at that binary. Keep the same JESTER_API_KEY and JESTER_BASE_URL env names.


Claude Code (primary example)

Claude Code is the recommended starting point: project-scoped .mcp.json can be checked into git (keep secrets in env vars, not committed literals).

Option A — CLI (fastest)

From your project root:

claude mcp add jester -s project \
  --env JESTER_API_KEY=<your-key> \
  --env JESTER_BASE_URL=https://app.jester.trade \
  -- npx -y jester-mcp-bridge

Use -s user instead of -s project if you want Jester available in every repo on this machine.

Option B — edit .mcp.json directly

Create .mcp.json in your project root:

{
  "mcpServers": {
    "jester": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "jester-mcp-bridge"],
      "env": {
        "JESTER_API_KEY": "${JESTER_API_KEY}",
        "JESTER_BASE_URL": "https://app.jester.trade"
      }
    }
  }
}

Claude Code supports ${VAR} and ${VAR:-default} expansion — prefer ${JESTER_API_KEY} over hard-coding keys in a shared file.

Verify

  1. Start a new Claude Code session in the project (config is read at session start).
  2. Run /mcp — jester should appear connected.
  3. Prompt: List available Jester MCP tools.

If project servers do not load, approve the project MCP config when prompted, or add "enableAllProjectMcpServers": true in .claude/settings.local.json.


Cursor

Config paths

  • Project: .cursor/mcp.json in the repo root (shared with the team).
  • Global: ~/.cursor/mcp.json on macOS/Linux, or %USERPROFILE%\.cursor\mcp.json on Windows.

You can also add servers in Cursor Settings → MCP.

Example .cursor/mcp.json

{
  "mcpServers": {
    "jester": {
      "command": "npx",
      "args": ["-y", "jester-mcp-bridge"],
      "env": {
        "JESTER_API_KEY": "<your-key>",
        "JESTER_BASE_URL": "https://app.jester.trade"
      }
    }
  }
}

Restart Cursor (or reload the window) after saving. Open the MCP panel and confirm jester_* tools are listed.


Claude Desktop

Add the Jester server under mcpServers in Claude Desktop's config file, then fully quit and restart the app (not just close the window).

OSConfig path
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json

Example

{
  "mcpServers": {
    "jester": {
      "command": "npx",
      "args": ["-y", "jester-mcp-bridge"],
      "env": {
        "JESTER_API_KEY": "<your-key>",
        "JESTER_BASE_URL": "https://app.jester.trade"
      }
    }
  }
}

After restart, start a new chat and check that Jester tools appear in the tools / connectors UI.


Grok Build

Grok Build uses a slightly different config shape: the top-level key is servers, not mcpServers.

Config paths

  • Global: ~/.grok/mcp.json
  • Project: .grok/mcp.json in the repo root (overrides global entries with the same name)

Option A — CLI

grok mcp add jester \
  --command "npx -y jester-mcp-bridge" \
  --env JESTER_API_KEY=<your-key> \
  --env JESTER_BASE_URL=https://app.jester.trade

Option B — edit ~/.grok/mcp.json

{
  "servers": {
    "jester": {
      "command": "npx -y jester-mcp-bridge",
      "env": {
        "JESTER_API_KEY": "<your-key>",
        "JESTER_BASE_URL": "https://app.jester.trade"
      }
    }
  }
}

Verify: run grok mcp list or grok mcp test jester, then in a session use /mcp to see connected tools.


Other MCP hosts (Cline, Windsurf, OpenCode, etc.)

Any host that supports stdio MCP can run Jester the same way:

  1. Find the host's MCP settings file or UI (often named mcp.json or under extension settings).
  2. Add a server named jester with command npx, args ["-y", "jester-mcp-bridge"], and the env block above.
  3. Restart the host and list tools.

Hosts that expect a single command string (no args array) can use "command": "npx -y jester-mcp-bridge" instead.


3. Tool-only first

Tool-only mode does not need an Artifice-side LLM key. Your MCP host model does the reasoning. Start there.

Server-side full chat is optional and uses a provider key saved on the trading account. Console chat can run without an MCP key via x402.


4. Verify Read-Only First

Before any writes, run a read-only check:

Use Jester tools to show my portfolio summary and open positions. Do not place trades.

If that works, try discovery tools, then proceed to governed writes only with confirmation enabled.


Safety Model

  • Delegated access follows the same confirmation model as the Mini App Agent.
  • Destructive actions require confirmation.
  • Tool results are redacted and scoped to the authenticated account.
  • Some setups may expose read-only tools only.

Troubleshooting

SymptomCheck
Tools do not appearNode 18+ installed; MCP host restarted; config file path matches your host; API key and base URL set; npx -y jester-mcp-bridge reachable
Claude Code: project server skippedStart a new session; approve project MCP; check /mcp output
Grok Build: server missingConfig uses servers key (not mcpServers); run grok mcp list
Authentication failsKey is copied correctly and has not been revoked
Full chat failsProvider key is saved on the trading account
Action requires confirmationRe-run only after reviewing the action carefully
npx fails / package not foundConfirm jester-mcp-bridge on npm; check network / npm registry