free · account-free · bring any AI key
npx -y kerfbox-mcp to Claude Desktop, Cursor, or any MCP client — or call the open HTTP API directly. Details below.If the run is refused, that is the product working: the moat did not name a competitor with a structural reason they can't follow. The refusal message tells you what was missing — tighten the audience or pick a more specific URL and run again.
Every provider below plugs straight in. One difference worth knowing: Anthropic keys are the only ones that run live web research (signals come back with clickable citations). Every other provider cuts the kerf from model knowledge — still structured, still subject to the refusal rule, but without fresh citations.
| Provider | Default model | Key looks like | Get a key |
|---|---|---|---|
| Anthropic (Claude)live web research | — | sk-ant-... | console → |
| OpenAI | gpt-5.1 | sk-... | console → |
| Google Gemini | gemini-2.5-flash | AIza... | console → |
| Kimi (Moonshot AI) | kimi-latest | sk-... | console → |
| Qwen (Alibaba) | qwen-max | sk-... | console → |
| DeepSeek | deepseek-chat | sk-... | console → |
| Groq | llama-3.3-70b-versatile | gsk_... | console → |
| OpenRouter | openrouter/auto | sk-or-v1-... | console → |
| Ollama (local) | llama3.2 | optional · no key needed | install → |
| Custom endpoint | — | optional · key (if your endpoint needs one) | — |
Model is optional everywhere — leave it blank for the default above, or type any model id your key can access (e.g. gpt-5.1-mini, claude-opus-4-8).
Ollama and custom endpoints work with one caveat: the hosted app at kerfbox.vercel.app cannot reach your machine's localhost — the inference call runs from our server, not your browser. Local models need a locally running kerf.box:
git clone https://github.com/12burb/kerfbox cd kerfbox && pnpm install && pnpm dev # open http://localhost:3000/app # provider: Ollama · base URL: http://localhost:11434/v1 · model: llama3.2
The custom provider works the same way for LM Studio, vLLM, LiteLLM, or any other OpenAI-compatible server — point the base URL at your endpoint (the /chat/completions suffix is added automatically). A custom endpoint reachable on the public internet works from the hosted app too.
The MCP server exposes cut_kerf and generate_copy. Configure it with env vars — provider and model are optional (defaults: anthropic, preset model):
{
"mcpServers": {
"kerfbox": {
"command": "npx",
"args": ["-y", "kerfbox-mcp"],
"env": {
"KERFBOX_BYOK_PROVIDER": "openai",
"KERFBOX_BYOK_API_KEY": "sk-...",
"KERFBOX_BYOK_MODEL": "gpt-5.1"
}
}
}
}Or hit the HTTP API directly — no account, no kerf.box API key, just your provider headers:
curl -N https://kerfbox.vercel.app/api/strategy \
-H "X-Provider: gemini" \
-H "X-Api-Key: AIza..." \
-H "Content-Type: application/json" \
-d '{"url":"https://linear.app","audience":"indie SaaS founders"}'
# Anthropic shorthand (also what kerfbox-mcp <= 0.2 sends):
# -H "X-Anthropic-Key: sk-ant-..."
# Optional headers: X-Model (any model id),
# X-Base-Url (custom/ollama endpoints only)Full schema: /api/openapi.json (OpenAPI 3.1).
Still stuck? File it on the issue tracker.
It rides each request as a header, is used once to call your provider, and is never stored, logged, or proxied — the server holds no copy. In the browser it is saved to your device's localStorage only, so you don't re-paste it every visit; clearing the field deletes it. Full details on the privacy page. The entire codebase is open source if you'd rather verify than trust.