MCP server
Every AI client speaks it.
Claude Desktop, Cursor, Windsurf, ChatGPT, Gemini, n8n, LangChain — one paste, every tool. The "USB-C of AI agents."
110+ deterministic file-processing tools. One bearer-token API key. Native to every AI client via MCP, drop-in compatible with the OpenAI SDK, and capped in USD instead of calls — so a leaked key can't run up a five-figure bill.
# Run any of 110+ tools, agent included curl -X POST https://api.johnsessentials.com/api/v1/public/tools/pdf_compress/run \ -H "Authorization: Bearer $JOHNS_API_KEY" \ -F "file=@report.pdf" \ -F "quality=medium"
What a 2026 file-processing API has that the rest of the market doesn't.
Every AI client speaks it.
Claude Desktop, Cursor, Windsurf, ChatGPT, Gemini, n8n, LangChain — one paste, every tool. The "USB-C of AI agents."
Change one line, ship.
Drop-in /v1/chat/completions endpoint. Set your OpenAI SDK base_url to api.johnsessentials.com/v1 and the rest of your code is unchanged.
Bills you can predict.
Most APIs cap calls per hour. We cap dollars per month. A leaked agent key burns $5, not $5,000. Live cost streamed on every SSE frame.
John's Essentials speaks the Model Context Protocol. Pick your client, paste the snippet, and all 110+ tools become native tool calls in your AI assistant.
https://api.johnsessentials.com/mcp probing~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
%APPDATA%\Claude\claude_desktop_config.json (Windows){
"mcpServers": {
"johns-essentials": {
"url": "https://api.johnsessentials.com/mcp/messages",
"headers": {
"Authorization": "Bearer je_live_sk_REPLACE_WITH_YOUR_KEY"
}
}
}
}Save the file and restart Claude Desktop. All 110+ tools appear in the tool picker immediately.
Why MCP? One protocol, every major AI client. You pay your AI vendor for the brain — Claude Pro, ChatGPT Plus, Gemini Advanced — and pay us for the hands. None of your usage flows through us, none of our usage flows through them.
Any code using the OpenAI SDK works against our API. Set base_url and you're done.
# Drop-in replacement for the OpenAI SDK
from openai import OpenAI
client = OpenAI(
base_url="https://api.johnsessentials.com/v1",
api_key=os.environ["JOHNS_API_KEY"],
)
resp = client.chat.completions.create(
model="johns-agent",
messages=[{"role": "user", "content": "compress report.pdf below 1MB"}],
)
print(resp.choices[0].message.content)Models accepted: johns-agent (default), johns-fast, johns-smart —
plus any OpenAI / Anthropic model name (routes to our default agent for drop-in replacement).
Streaming is OpenAI-exact: data: {...}\n\n ending in data: [DONE].
Send a real request from the browser. No-auth endpoints work without a key.
Tip: requests run from your browser to the server — your API key never reaches our frontend, only the API. Use a separate key for browser experiments and rotate it after.
Auto-generated from openapi.yaml. Pick your language, copy, ship.
npm install @johns-essentials/sdk pip install johns-essentials go get github.com/johns-essentials/sdk-go gem install johns-essentials SDK packages are pending publication to npm/PyPI/etc. The canonical OpenAPI spec is live today —
generate a client for any language with openapi-typescript-codegen / openapi-python-client in the meantime.
Interactive docs, machine-readable specs, hand-curated recipes.
Three-pane reference with try-it console, language switcher, and search. Every endpoint, every schema.
Multi-step patterns — compress-under-target, OCR batches, MCP setup, signed webhooks.
Every event we POST to your URL, with payload shapes, retry rules, and a signature verifier.
OpenAPI 3.1 spec, hand-curated. Source of truth for SDK generators and external tooling.
2.1 collection auto-generated from the spec. Import in Postman to grab every endpoint pre-wired.
Plain-text summary for AI clients (Claude, ChatGPT, Cursor, Perplexity). Grounded answers, not hallucinations.
Signing, error codes, and live platform health.
Outgoing webhooks signed Stripe-style (X-JE-Signature: t=...,v1=...) with a 5-minute replay window. Manage endpoints + delivery logs in Integrations.
Every error response carries a stable error.code. Branch on it, not on the message. The full taxonomy: ~28 codes.
Live latency, uptime, and incidents at /status.
Starter includes a $50/month USD cap and Business $200/month. Free tier is $5/month — enough to get a real agent up and running before you commit.