Use ThinkingNative inside Cursor, Claude Desktop, and other MCP hosts — same presets and API key as the REST API. This is a client surface, not a second engine.
| Tool | Maps to | Notes |
|---|---|---|
naturalize | POST /v1/naturalize | text, optional preset, fidelity, hints, preserve_terms; voice (opt-in): use_voice_profile, optional voice_tone (me | casual | formal), optional voice_pack, voice_sample, match_strength |
list_presets | GET /v1/presets | Dial catalog |
version | GET /v1/version | Build metadata |
URL: https://api.thinkingnative.com/mcp
Auth: same Bearer API key as REST (tn_… from Account). Keep that secret in the MCP client on your machine — not in a public git repo, a mobile binary, or page JavaScript. Placement rules: API tokens.
Cursor / remote MCP (streamable-HTTP) — exact JSON shape varies by client version. Use the host’s “HTTP / SSE MCP” UI if this snippet is rejected.
Auth header must be present on every request (401 otherwise). Word spend uses the same balance as REST.
If you run the ThinkingNative MCP package locally (stdio), point the host at python -m thinkingnative.mcp_server and set:
| Variable | Required | Default |
|---|---|---|
THINKINGNATIVE_API_KEY | yes | — |
THINKINGNATIVE_BASE_URL | no | https://api.thinkingnative.com |
THINKINGNATIVE_TIMEOUT_S | no | 300 |
THINKINGNATIVE_CLIENT_ID | no | mcp |
Prefer the hosted URL above unless you already have the package installed. Long Undetectable calls should hit the Railway API origin to avoid Cloudflare ~100s timeouts.