MCP server

MCP server for ApexApi. Call 130+ AI models (OpenAI, Anthropic, Google, DeepSeek, Qwen…) and read the live web (scrape / crawl / structured extract) from any MCP client, with one ak- API key and one prepaid balance.

Connect from Claude (OAuth)

The remote endpoint supports OAuth, so Claude Code and claude.ai custom connectors connect without a pasted key. You log in to ApexApi and approve once; approving creates an ak- key named MCP: <client> on your account that the connector uses. Usage bills to your prepaid balance, and you can revoke the connection any time from apexapi.dev/keys.

Claude Code

claude mcp add --transport http --scope user apexapi https://api.apexapi.dev/mcp

Then run /mcp in Claude Code, choose apexapi, and click Authenticate. A browser opens to the ApexApi consent screen; approve, and the tools become available.

--scope user registers the server for your whole machine, so you authorize once and every project sees it. Without it Claude Code defaults to local scope, which is per directory, and you would repeat this in each new project.

claude.ai

Settings → Connectors → Add custom connector → URL https://api.apexapi.dev/mcp → Connect → approve on the ApexApi screen.

Remote endpoint (bearer key)

For MCP clients that take a bearer key directly instead of doing OAuth. Get a key at apexapi.dev/keys, then point the client at https://api.apexapi.dev/mcp with header Authorization: Bearer ak-....

Responses use MCP Streamable HTTP framing (SSE). Clients like Claude Code handle this natively; it is not a plain-JSON REST endpoint.

Claude Code: claude mcp add --transport http --scope user apexapi https://api.apexapi.dev/mcp --header "Authorization: Bearer ak-..."

Local (stdio)

Runs the apexapi-mcp package locally over npx. Get a key at apexapi.dev/keys, then add to your MCP client config:

{
  "mcpServers": {
    "apexapi": {
      "command": "npx",
      "args": ["-y", "apexapi-mcp"],
      "env": { "APEXAPI_API_KEY": "ak-..." }
    }
  }
}

Claude Code: claude mcp add --scope user apexapi -e APEXAPI_API_KEY=ak-... -- npx -y apexapi-mcp

Available tools

ToolDescription
chatSend a prompt to any of the 130+ models on ApexApi (OpenAI, Anthropic, Google, DeepSeek, Qwen, Mistral…). Use list_models to discover model slugs. Billed per token from the credit balance.
list_modelsLive catalog of all ApexApi models with type, context window, and USD pricing (per 1M tokens for chat). Filter by type to keep the list short.
get_balanceCurrent prepaid credit balance in USD. Balance is the only usage limit on ApexApi.
scrape_pageFetch any URL as clean, LLM-ready markdown (or html/text). Anti-bot handling is automatic (auto-escalates to stealth). Billed at whichever rail actually ran ($0.002 standard, $0.008 stealth), including on a dispatched failure. Only a rejected URL is free.
crawl_siteCrawl same-domain pages from a seed URL into markdown. Waits up to 60s; if still running, returns a job id for check_job. Billed $0.005 per page, capped by limit. Full page set is at result_url.
extract_structuredReady-made structured JSON from Amazon, Walmart, Crunchbase, G2, Google Maps, or Zillow product/company/listing URLs. Billed $0.01 per record; failures free. Scrapers: amazon-product, walmart-product, crunchbase-company, g2-product, google-maps-business, zillow-property.
check_jobPoll a crawl_site or extract_structured job by id.
generate_imageGenerate an image from a text prompt. Returns a URL. Use list_models with type=image for available models and prices.
generate_speechText-to-speech via ElevenLabs. Returns an MP3 URL. Billed per 1,000 characters.

Notes

  • Costs come from the same credit balance as the REST API and playground.
  • Guardrails and per-key limits apply, same as any other call on your ak- key.
  • The remote endpoint accepts both an OAuth-issued token and a plain ak- bearer key. Connecting over OAuth just mints a normal key for you and stores it in your account.