Integration

Model Context Protocol (MCP) Server

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.

  1. Open claude.ai, click your profile, then Settings → Connectors.
  2. Add custom connector.
  3. Name it proofed.ai.
  4. URL:
  5. Click Add. claude.ai will redirect you to the proofed.ai sign-in page.
  6. Sign in (or register), then approve the connector on the consent screen.
  7. 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.

  1. Open Claude Desktop, go to Settings → Developer → Edit Config. This opens claude_desktop_config.json.
  2. Add a mcpServers.proofed-ai entry:
{
  "mcpServers": {
    "proofed-ai": {
      "url": "https://proofed.ai/mcp/proofed"
    }
  }
}
  1. Save and restart Claude Desktop.
  2. 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.
  • hyperpowered — Boolean. Higher-quality, higher-cost model. Default false.
  • 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.

Inputs

  • file_url — Required. Publicly downloadable URL.
  • language — Required. Dialect code.
  • style_guide_url — Optional Stylus style guide URL.
  • hyperpowered — Higher-quality model. Default false.

Cost

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.
Need scripted integration without a model in the loop? See the REST API documentation.