Use proofed.ai directly from Claude, Cursor, or any other MCP-aware client. The server exposes proofreading and fact-checking as native tools the model can call on your behalf — no glue code, no manual API requests. Authentication is OAuth 2.1; dialect and style guides are honoured the same way as the REST API.
What is MCP?
The Model Context Protocol is an open spec for letting AI clients (claude.ai, Claude Desktop, Cursor, and others) talk to external services through a uniform tool interface. Instead of asking the user to copy text into a chat and back out, the model invokes named tools — "proofread this document", "fetch the corrections" — and gets structured responses it can present inline.
proofed.ai's MCP server runs alongside the REST API. They share the same Documents, the same dialects, the same Stylus style guides. Use the MCP server when you want Claude to drive proofreading conversationally. Use the REST API when you need scripted integration.
Endpoint
All MCP clients connect to the same URL:
https://proofed.ai/mcp/proofed
The endpoint speaks JSON-RPC 2.0 over HTTP POST. GET requests return 405 — that is expected; only MCP clients use it.
Authentication is OAuth 2.1 with PKCE and dynamic client registration. Most clients walk the OAuth flow automatically when you connect — you only need to log in to proofed.ai and approve access.
Connect from claude.ai
Recommended for most users — no local install, works on every device.
Open claude.ai, click your profile, then Settings → Connectors.
Add custom connector.
Name it proofed.ai.
URL:
Click Add. claude.ai will redirect you to the proofed.ai sign-in page.
Sign in (or register), then approve the connector on the consent screen.
You will be returned to claude.ai with the connector listed as Connected.
From any new conversation, the proofreading tools become available to the model. You don't need to enable them per chat — Claude will discover and use them as needed when you ask, e.g., "proofread the attached document".
Connect from Claude Desktop
Claude Desktop reads connectors from a JSON config file.
Open Claude Desktop, go to Settings → Developer → Edit Config. This opens claude_desktop_config.json.
The first time you invoke a proofed.ai tool, Claude Desktop will open a browser window for you to sign in and approve.
Connect from Cursor and other clients
Cursor, Zed, and most other MCP-aware editors accept the same shape of config. Look for MCP servers or Tools in settings; point a new server at:
{
"url": "https://proofed.ai/mcp/proofed"
}
Any client that supports OAuth 2.1 with dynamic client registration (RFC 7591) will discover the auth flow automatically. The server publishes discovery metadata at
/.well-known/oauth-authorization-server/mcp/proofed.
Available tools
The server exposes four tools. Claude decides when to call them based on the conversation — you do not invoke them explicitly. The descriptions below are mostly for reference; you can also see them by asking Claude
"what tools do you have from proofed.ai?".
submit_proofread
Submit a document for proofreading by Proofed. Returns a UUID that other tools use to poll and fetch corrections.
Inputs
text — Plain-text content. Mutually exclusive with file_url.
file_url — Publicly downloadable URL of a PDF, DOCX, PPTX, TXT, RTF, ODT, HTML, or EPUB. Mutually exclusive with text.
language — Required. A specific dialect code (en-GB, en-US, en-CA, …). Generic codes like en are rejected because dialect overrides every other rule in the proofreading prompt.
editing_phase — pre-edit (default) or post-edit.
style_guide_uuid — Optional Stylus style guide to apply.
professional_editor — Boolean. Professional edit: also make the changes a senior editor would — tighter wording, clearer sentences, house style. Default false.
humanise — Boolean. Humanise AI content: rewrites machine-sounding prose so it reads as a person wrote it, keeping every fact, name and number. Same price. Default false.
Cost
1 token per 1,000 words, rounded up, minimum 1 token, from your account balance; the same as the REST API. The words are counted before anything is charged, and the reply says the count and the price (for example "3,420 words · 4 tokens"). A failed document is refunded.
check_proofread_status
Look up a document by UUID. Returns the current status (pending / processing / completed / failed). When completed, the same response lists every correction — original text, suggested replacement, category, rationale, page number — formatted for Claude to present inline.
Inputs
document_uuid — Required. The UUID returned by submit_proofread.
list_documents
Browse your recent documents — most recent first. Useful when you ask Claude to find a document by name or status without remembering its UUID.
Inputs
limit — How many to return (1-50, default 10).
status — Filter by pending, processing, completed, or failed.
submit_fact_check
Submit a document for fact-checking. Every verifiable claim is researched and assigned a verdict (supported, contradicted, unverifiable) with citations. Requires the fact-check entitlement on your account.
1 token per 1,000 words, rounded up, minimum 1 token: the same as a proofread of the same file. A failed fact-check is refunded.
Example conversation
Once the connector is set up in claude.ai, a typical exchange looks like:
You
Proofread this for me in British English: "We organize the meetings every Tuesday and analyze the results."
Claude
Calls submit_proofread with language=en-GB. Polls check_proofread_status. Once complete, presents:
organize → organise
analyze → analyse
Troubleshooting
"Insufficient tokens on this account."
Your proofed.ai balance is short of the price. The message says how many tokens the file needs and how many you have (for example "This needs 4 tokens and you have 2."). Nothing was charged. Top up from the Dashboard.
"We couldn't read that file to count its words."
The file could not be opened to count its words, so nothing was charged. Try again; if it keeps happening, send the file another way or contact us.
"The language field selection is invalid."
You passed en (or another generic code). Use a specific dialect like en-GB or en-US. Dialect is treated as the absolute override on every job.
Connector stuck on "Connecting…" in claude.ai
Remove the connector, then re-add it. If a previous attempt left a stale OAuth client behind, this resets the flow. If it still hangs, check https://proofed.ai/.well-known/oauth-authorization-server/mcp/proofed returns JSON (it should).
"Document X not found on this account."
Cross-account access is refused. Each user can only see their own documents — claude.ai will list and act on yours alone.
Browser shows 405 visiting the endpoint
That is correct — the endpoint only answers JSON-RPC over POST. A browser GET will always return 405. Use an MCP client.