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/mcpCursor, 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 buildThen 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/run — xql_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.