humanize_text, start Stealth Agent from a brief with generate_content, and collect the result through get_run_status.
Choose a client that supports remote Streamable HTTP MCP with OAuth or bearer authentication. Client setup, tool access and account controls differ. The table below separates documented setup from a dated workflow check.
Client setup and verification
Use the setup route for your client. A documented configuration is distinct from a completed runtime check on a specific version.
Setup and verification summary reviewed November 7, 2026. Use the linked instructions for authentication and available controls.
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.
The MCP server exposes the four tools listed above. For a separate AI detection request, use the REST detection endpoint.
Choose your humanization model
humanize_text uses super by default. Pass model: "standard" or model: "lite" when you want a different model, or set model: "super" explicitly to keep your workflow’s choice clear.
REST humanization requests require
model for accounts created after September 8, 2026 at 13:00 UTC. Older accounts retain a legacy standard default when it is omitted. MCP uses super by default regardless of account age. The deprecated heavy value maps to standard.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
Using Codex? Connect StealthGPT with OAuth and humanize text inside your coding session. 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 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: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
ChatGPT supports custom MCP connections through plugins, subject to your account and workspace controls. Follow the official ChatGPT connection guide: open Plugins → Add custom MCP server, enter the public server URL, configure authentication, review the connection information and create the plugin. Complete StealthGPT sign-in where prompted, review the discovered tools, install the connection and select it with@ in a new conversation.
Use the same server URL shown above. Check that humanize_text, generate_content and get_run_status appear, then test one draft and retrieve its completed result. This is the documented setup path; a dated StealthGPT-specific ChatGPT end-to-end verification record is pending. The Codex check in the table above applies to the recorded Codex client and version.
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.