XCREENER Docs
XQLMCP

Connecting

Install the xcreener-mcp bridge for your MCP client.

xcreener-mcp

XQL's MCP tools are served through xcreener-mcp — an open-source, local stdio bridge published as @xcreener/mcp on npm. It proxies each tool call to the same HTTP API your account already has a key for, so there's nothing to deploy: install the bridge, give it your API key, and it does the rest.

Generate a key from your account dashboard if you don't have one yet: the same key used by the HTTP API.

Claude Desktop

Download xcreener.mcpb, then double-click it to open — Claude Desktop shows an install prompt and asks for your API key in a masked field as part of that same dialog. No JSON to hand-edit, no separate Node.js install.

(You can also drag the file into the Claude Desktop window, or install it from Settings → Extensions → Advanced settings → Install Extension… — all three trigger the same install dialog.)

Claude Code

claude mcp add xcreener -e XCREENER_API_KEY=<your-api-key> -- npx -y @xcreener/mcp

Cursor, Windsurf & Other stdio Clients

For any client that reads an MCP config file directly:

{
  "mcpServers": {
    "xcreener": {
      "command": "npx",
      "args": ["-y", "@xcreener/mcp"],
      "env": {
        "XCREENER_API_KEY": "your-actual-key-here"
      }
    }
  }
}

Cursor reads this from ~/.cursor/mcp.json, Windsurf from ~/.codeium/windsurf/mcp_config.json. Check your specific client's documentation for its exact local-server configuration syntax.

Building From Source

git clone https://github.com/xcreener/xcreener-mcp.git
cd xcreener-mcp
npm install
npm run build

Then point your client at node dist/index.js, with XCREENER_API_KEY set in its environment.

The key is checked lazily, not at connect time

The bridge doesn't validate XCREENER_API_KEY when it starts, so your client always connects and lists tools successfully. An invalid or missing key only surfaces as a tool-level error (isError: true, error.type: "auth") the first time a tool is actually called.

Any recognized key, including free tier, can call all four tools. xql_run shares the same tier-based daily quota as the REST API's /xql/runxql_validate/xql_explain/xql_nl_reference are unmetered. Exceeding the quota returns a tool-level error (isError: true) rather than a 429, since MCP tool calls don't carry their own response codes.

On this page