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/mcpThen 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
| Tool | Description |
|---|---|
| chat | Send 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_models | Live 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_balance | Current prepaid credit balance in USD. Balance is the only usage limit on ApexApi. |
| scrape_page | Fetch 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_site | Crawl 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_structured | Ready-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_job | Poll a crawl_site or extract_structured job by id. |
| generate_image | Generate an image from a text prompt. Returns a URL. Use list_models with type=image for available models and prices. |
| generate_speech | Text-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.