StealthGPT
StealthGPT is an AI humanizer that rewrites AI text to read naturally and pass AI detectors. Remote MCP server (requires StealthGPT API key), plus free AI detector, Chrome extension, iOS app and API. Start for $1.
Documentation
Use Stealth Agent from MCP clients
Call StealthGPT as a tool from Cursor, Claude, ChatGPT and other MCP-aware agents
StealthGPT ships a remote MCP (Model Context Protocol) server, so AI agents and MCP-aware clients can generate and humanize content as a tool — without you writing any integration code. This is the agent / tool invocation workflow pattern: the model decides when to call the tools and you stay inside your editor or chat.
[!NOTE]
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
https://www.stealthgpt.ai/api/mcp/mcp
Transport: Streamable HTTP (the modern MCP transport). A legacy SSE endpoint is also available at /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:
Authorization: Bearer YOUR_API_TOKENGet your token from the Stealth API dashboard.
Tools
| Tool | Purpose | Key arguments |
|---|---|---|
generate_content | Start a full Stealth Agent run (research → draft → optional fact-check → humanize → optional images). | preset (academic | seo | social), prompt, platform (for social), enableFactCheck, enableImageGeneration |
humanize_text | Start a humanization run for existing text. | text, qualityMode (fast | quality), model (super | standard | lite; super is the strongest), outputFormat (text | markdown, defaults to markdown) |
get_run_status | Get the current status and final result of a run. | runId |
enable_pay_as_you_go | StealthAPI accounts: get a link where you add a card to turn on pay-as-you-go billing. See Turn on pay-as-you-go from the agent. | none |
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.
[!NOTE]
On a completed humanization,
howLikelyToBeDetectedis a 0–100 human-likeness score where higher is better (more human, less likely to be flagged as AI).
[!NOTE]
humanize_textdefaults tooutputFormat: "markdown", unlike the REST endpoints, which default to"text". Pass"text"explicitly if you want unformatted prose.
Install
One-click for Cursor:
[!NOTE]
The one-click button adds the server URL; add your
Authorization: Bearer YOUR_API_TOKENheader in the generatedmcp.json. (Cursor connects with a bearer token. For a no-token, one-click sign-in use claude.ai (web) with OAuth — see below.)
Or configure manually for your client:
[tab] Cursor
Add to
.cursor/mcp.json(project) or~/.cursor/mcp.json(global), then reload MCP servers:{ "mcpServers": { "stealthgpt": { "url": "https://www.stealthgpt.ai/api/mcp/mcp", "headers": { "Authorization": "Bearer YOUR_API_TOKEN" } } } }
[tab] VS Code
Add to
.vscode/mcp.json:{ "servers": { "stealthgpt": { "type": "http", "url": "https://www.stealthgpt.ai/api/mcp/mcp", "headers": { "Authorization": "Bearer YOUR_API_TOKEN" } } } }
[tab] Windsurf
Add to your Windsurf MCP config (
~/.codeium/windsurf/mcp_config.json):{ "mcpServers": { "stealthgpt": { "serverUrl": "https://www.stealthgpt.ai/api/mcp/mcp", "headers": { "Authorization": "Bearer YOUR_API_TOKEN" } } } }
[tab] Claude Desktop
Add it as a custom connector (Settings → Connectors → Add custom connector) using the URL
https://www.stealthgpt.ai/api/mcp/mcpand sign in with OAuth — same flow as claude.ai (web).Alternatively, bridge over stdio with a bearer token using
mcp-remote:{ "mcpServers": { "stealthgpt": { "command": "npx", "args": [ "mcp-remote", "https://www.stealthgpt.ai/api/mcp/mcp", "--header", "Authorization: Bearer YOUR_API_TOKEN" ] } } }
[tab] Other clients
Any client that supports a remote (Streamable HTTP) MCP server with custom headers:
- URL:
https://www.stealthgpt.ai/api/mcp/mcp- Header:
Authorization: Bearer YOUR_API_TOKEN
Once connected, the tools appear in the client and the agent calls them when relevant — for example:
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.
If you have both an active subscription and a StealthAPI account, MCP runs use your API credits by default. You can switch them to your subscription under MCP billing in your usage settings. This setting only applies to MCP runs; REST API calls always use API credits.
If your plan has no words or articles left, the run is refused with a message that links to your plan.
Turn on pay-as-you-go from the agent
This applies to StealthAPI accounts. If a run fails with Payment 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 you don't have an API plan yet, it returns status: "plan_required" with a pricingUrl where you pick one; pay-as-you-go turns on with your first plan payment. 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:
https://www.stealthgpt.ai/api/mcp/mcp
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.
[!NOTE]
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.
This documentation is built and hosted on Mintlify, a developer documentation platform.