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_TOKEN
    

    Get your token from the Stealth API dashboard.

Tools

ToolPurposeKey arguments
generate_contentStart a full Stealth Agent run (research → draft → optional fact-check → humanize → optional images).preset (academic | seo | social), prompt, platform (for social), enableFactCheck, enableImageGeneration
humanize_textStart 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_statusGet the current status and final result of a run.runId
enable_pay_as_you_goStealthAPI 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, howLikelyToBeDetected is a 0–100 human-likeness score where higher is better (more human, less likely to be flagged as AI).

[!NOTE]

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:

Add to Cursor

[!NOTE]

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.)

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/mcp and 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

  1. The agent calls humanize_text with your text → receives { "runId": "…", "status": "queued" }.
  2. The agent polls get_run_status with that runId.
  3. When status is completed, it returns the humanized result, 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_text uses your plan's words, and generate_content uses one Stealth Agent article from your monthly allowance. Completed runs report billingMode: "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 (full academic/seo pipeline). 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.