One server, many clients. The same MCP server works with Cursor, Claude, ChatGPT, and any MCP-compatible runtime. You don’t install a per-client plugin.
Server endpoint
/api/mcp/sse.
Authentication
The server supports two ways to authenticate, and both resolve to the same StealthGPT account (identical billing):- OAuth (one-click) — used by claude.ai (web) and other clients with built-in custom-connector support. You sign in with your StealthGPT account and approve access; there’s no token to copy. See Connect in claude.ai (web).
-
API token (bearer header) — used by IDE/desktop clients like Cursor, VS Code, Claude Desktop, and CLIs:
Get your token from the Stealth API dashboard.
Tools
generate_content and humanize_text return a runId immediately (the work runs asynchronously). The agent then calls get_run_status with that runId until the status is completed, failed, or cancelled.
On a completed humanization,
howLikelyToBeDetected is a 0–100 human-likeness score where higher is better (more human, less likely to be flagged as AI).humanize_text defaults to outputFormat: "markdown", unlike the REST endpoints, which default to "text". Pass "text" explicitly if you want unformatted prose.Install
One-click for Cursor:The one-click button adds the server URL; add your
Authorization: Bearer YOUR_API_TOKEN header in the generated mcp.json. (Cursor connects with a bearer token. For a no-token, one-click sign-in use claude.ai (web) with OAuth — see below.)- Cursor
- VS Code
- Windsurf
- Claude Desktop
- Other clients
Add to
.cursor/mcp.json (project) or ~/.cursor/mcp.json (global), then reload MCP servers:Humanize this paragraph: …or
Generate an SEO article about home solar energy.
Example flow
- The agent calls
humanize_textwith your text → receives{ "runId": "…", "status": "queued" }. - The agent polls
get_run_statuswith thatrunId. - When
statusiscompleted, it returns the humanizedresult,howLikelyToBeDetected, and billing fields (wordsSpent,creditsSpent,remainingCredits,billingMode,meteredChargedCredits).
Billing
How MCP runs are billed depends on your account:- StealthGPT subscription — runs come out of your plan, the same as on the website.
humanize_textuses your plan’s words, andgenerate_contentuses one Stealth Agent article from your monthly allowance. Completed runs reportbillingMode: "subscription". Connect with OAuth by signing in with your StealthGPT account. - StealthAPI account — runs are billed in API credits, prepaid or pay-as-you-go, like the REST API.
Turn on pay-as-you-go from the agent
This applies to StealthAPI accounts. If a run fails withPayment required, the agent can call enable_pay_as_you_go. It returns a setupUrl for a Stripe page where you add a card. Pay-as-you-go turns on when you finish, and the agent can retry the run. The agent can’t complete this step for you, and the link expires after 24 hours.
If pay-as-you-go is already on, the tool returns status: "active". If your last invoice is unpaid or you haven’t accepted the pay-as-you-go terms, it returns a link to your usage settings instead. Accounts billed through a subscription get status: "subscription_billing".
Connect in claude.ai (web)
The MCP server is available as a custom connector inside claude.ai — connect once with one-click OAuth (no API token to paste):1
Open connector settings
In claude.ai, go to Settings → Connectors → Add custom connector.
2
Add the server
Set a name (e.g.
StealthGPT) and the URL:3
Sign in and approve
Click Connect, sign in with your StealthGPT account, and approve access on the consent screen. The connector switches to Connected.
4
Use the tools
Ask Claude to generate or humanize content, e.g. “Humanize this paragraph…” or “Generate an SEO article about home solar energy.” Claude calls the tools and polls the run for you.
OAuth and the bearer token resolve to the same StealthGPT account, so runs are billed identically regardless of how you connect.
ChatGPT
A ChatGPT connector / app uses the same MCP server and OAuth. It’s in progress and subject to ChatGPT’s connector requirements (workspace tier and tool conventions) — this page will be updated when it’s available.Notes & limits
- Runs are billed to the signed-in account, as described in Billing.
- Generation can take from seconds (humanize-only,
lite) to a few minutes (fullacademic/seopipeline). Because it’s async, the tool call returns quickly and the agent polls. - See the async workflow and Stealth Agent async runs pages for the underlying REST contract.