Set up your MCP client

No key? You still get 20 free calls a day — just connect.

The naxytra MCP server is https://xytara-mcp-executor.onrender.com/mcp (Streamable HTTP). 20 free tool calls per UTC day, no key or wallet needed; the server reports what is left in each result's _meta["naxytra.com/allowance"]. With a spend key (3 credits per call) add one Authorization header; without one, past the allowance, x402-native clients pay $0.01 USDC per call. Pick your client below.

Free: discovery + 20 tool calls per UTC day, no key needed Then: from $0.01 USDC per call (Base mainnet; $0.02 for a verified answer with a signed attestation) via x402, or from 3 credits per call with a spend key Pricing Buy credits ($1.00 = 400) Set up your client
Your key · optional

Paste your spend key and every snippet below fills itself in

The key stays in this page (nothing is sent anywhere); the snippets replace YOUR_KEY as you type. Leave it empty and keep YOUR_KEY, or drop the Authorization line entirely, to use the free allowance. Need a key? Buy 400 credits for $1.00.

Connectors or claude_desktop_config.json

Claude Desktop

Claude Desktop's Settings → Connectors → Add custom connector dialog takes a URL but cannot send custom headers, so use the ?key= form of the URL there (the key travels in the URL; prefer the header form where you can). Or use the config file with mcp-remote, which forwards the header (the AUTH_HEADER env indirection avoids the space-in-argument problem on Windows).

custom connector URL (no headers possible)
https://xytara-mcp-executor.onrender.com/mcp?key=YOUR_KEY
claude_desktop_config.json (sends the header)
{
  "mcpServers": {
    "naxytra": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://xytara-mcp-executor.onrender.com/mcp",
        "--header", "Authorization:${AUTH_HEADER}"
      ],
      "env": { "AUTH_HEADER": "Bearer YOUR_KEY" }
    }
  }
}
  • Free allowance: add the connector with the plain URL https://xytara-mcp-executor.onrender.com/mcp and no key.
claude mcp add

Claude Code

One command. Restart the session afterwards; the tools appear under naxytra.

with a spend key
claude mcp add --transport http naxytra https://xytara-mcp-executor.onrender.com/mcp --header "Authorization: Bearer YOUR_KEY"
free allowance (no key)
claude mcp add --transport http naxytra https://xytara-mcp-executor.onrender.com/mcp
.cursor/mcp.json (project) or ~/.cursor/mcp.json (global)

Cursor

Cursor sends the headers block on every request to a remote MCP server.

.cursor/mcp.json
{
  "mcpServers": {
    "naxytra": {
      "url": "https://xytara-mcp-executor.onrender.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_KEY" }
    }
  }
}
.vscode/mcp.json

VS Code (Copilot agent mode)

VS Code's MCP support takes type: http servers with a headers block. Start it from the MCP view or the MCP: List Servers command.

.vscode/mcp.json
{
  "servers": {
    "naxytra": {
      "type": "http",
      "url": "https://xytara-mcp-executor.onrender.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_KEY" }
    }
  }
}
~/.codeium/windsurf/mcp_config.json

Windsurf

Windsurf uses serverUrl for remote servers and forwards headers.

mcp_config.json
{
  "mcpServers": {
    "naxytra": {
      "serverUrl": "https://xytara-mcp-executor.onrender.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_KEY" }
    }
  }
}
langchain-mcp-adapters

LangChain / LangGraph (Python)

The adapters turn the MCP tools into LangChain tools; pass them to any agent.

agent.py
# pip install langchain-mcp-adapters langgraph
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent

client = MultiServerMCPClient({
    "naxytra": {
        "transport": "streamable_http",
        "url": "https://xytara-mcp-executor.onrender.com/mcp",
        "headers": {"Authorization": "Bearer YOUR_KEY"},
    }
})
tools = await client.get_tools()
agent = create_react_agent(model, tools)   # any LangChain chat model
MCPServerStreamableHttp

OpenAI Agents SDK (Python)

The SDK lists the tools at startup and calls them with the headers you give it.

agent.py
# pip install openai-agents
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp

async with MCPServerStreamableHttp(
    name="naxytra",
    params={
        "url": "https://xytara-mcp-executor.onrender.com/mcp",
        "headers": {"Authorization": "Bearer YOUR_KEY"},
    },
) as server:
    agent = Agent(name="assistant", instructions="Use the naxytra tools.", mcp_servers=[server])
    result = await Runner.run(agent, "What is the keccak256 of 'hello'?")
    print(result.final_output)
@x402/mcp · @x402/fetch · Coinbase AgentKit

x402-native clients (no key)

Agents with a wallet need no key at all: they use the free allowance first, then pay $0.01 USDC per call with x402 (gasless EIP-3009 authorization, settled only after the call succeeds). The payment-required challenge names the price and the receiving address; see the public integration guide and quickstart.

pay per call (TypeScript sketch)
// No key: pay $0.01 USDC per call with x402 (gasless, settled only after the call succeeds).
// MCP-native x402 transport on https://xytara-mcp-executor.onrender.com/mcp: an unpaid tools/call returns a
// payment-required tool result; retry with the signed payment in params._meta["x402/payment"]
// (what @x402/mcp and Coinbase AgentKit's x402 action do).
// Fetch-wrapper clients (@x402/fetch wrapFetchWithPayment) use the HTTP-402 variant instead:
const res = await payFetch("https://xytara-mcp-executor.onrender.com/mcp/http402", {
  method: "POST",
  headers: { "content-type": "application/json", accept: "application/json, text/event-stream" },
  body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "tools/call",
    params: { name: "keccak256", arguments: { data: "hello" } } })
});
// payFetch = wrapFetchWithPayment(fetch, <your x402 client for a wallet holding USDC on Base>)
curl · tools/list is always free

Test it

tools/list is free with or without a key. The second call runs a tool and shows the allowance or credits accounting in _meta["naxytra.com/allowance"]. On PowerShell 5.1 call curl.exe explicitly.

tools/list
curl -s -X POST https://xytara-mcp-executor.onrender.com/mcp \
  -H "content-type: application/json" \
  -H "accept: application/json, text/event-stream" \
  -H "Authorization: Bearer YOUR_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
tools/call keccak256
curl -s -X POST https://xytara-mcp-executor.onrender.com/mcp \
  -H "content-type: application/json" \
  -H "accept: application/json, text/event-stream" \
  -H "Authorization: Bearer YOUR_KEY" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"keccak256","arguments":{"data":"hello"}}}'
# result._meta["naxytra.com/allowance"] reports your remaining free calls (no key)
# or the credits spent and remaining (with a key)
credits left on the key
curl -s https://xytara.onrender.com/v1/credits/balance -H "Authorization: Bearer YOUR_KEY"
Authorization · X-Naxytra-Key · ?key=

Three ways to present the key

All three are accepted by the MCP server. Use the Authorization header whenever your client can set headers; the URL form exists for clients that cannot, and puts the key in URL logs.

key presentation
# Preferred
Authorization: Bearer YOUR_KEY
# Alternative header
X-Naxytra-Key: YOUR_KEY
# Clients that cannot set headers: put the key on the URL instead
https://xytara-mcp-executor.onrender.com/mcp?key=YOUR_KEY
  • Keys look like xytara_spend_<hex>, are shown once at purchase and are spendable by anyone who holds them.
  • Lost or leaked a key? Ask support to revoke it; buy a fresh one on /buy.