MCP connector

Your voice, in any AI.

Add Idiolect AI to Claude, ChatGPT, or your coding agent once. From then on, when it writes for you, it follows your Writing Profile. Voice Match is a separate check that you can ask for when you need it.

Connect

Add it to your AI.

Idiolect AI is one URL. Paste it into your AI’s connector settings and sign in — nothing to install, no key to manage.

Connector URL
https://idiolect.app/api/mcp

Where that goes, app by app:

Chat apps

claude.aievery plan, including Free

Idiolect AI is in Claude's connector directory. Go to Settings → Connectors, find Idiolect and sign in. Or add the URL under Settings → Connectors → Add custom connector. This works on web, desktop and mobile.

The directory lists it as Idiolect. The directory link opens in claude.ai, so sign in there first. The connector URL works without that. Claude's Free plan allows one custom connector.

View our listing in claude.ai's directory →

ChatGPTpaid plans

Go to Settings → Connectors → Advanced. Turn on Developer mode. Add a connector with the URL. Then sign in.

ChatGPT allows custom connectors only in Developer mode. The ChatGPT free plan cannot add one now.

PerplexityPro, Max and Enterprise

Open the Perplexity connector settings. Add a custom connector with the URL. Then sign in.

Perplexity allows custom connectors only on paid plans.

Perplexity setup guide →

Coding agents

Claude Codeno API key needed

Run one command. Then sign in from Claude Code.

1. Add it
claude mcp add --transport http idiolect https://idiolect.app/api/mcp
2. Sign in
/mcp

In the panel that opens, select idiolect → Authenticate. To use it in every project, add --scope user.

Or let Claude Code set itself up
Paste this in — it runs the setup for you
Add the Idiolect AI MCP server for me: run `claude mcp add --transport http idiolect https://idiolect.app/api/mcp`, then tell me to run /mcp and choose Authenticate.
Codexpersonal API key

Get a key in Settings → Developer. Then run one command.

Command (runs with npx)
codex mcp add idiolect \
  --env IDIOLECT_API_KEY=your-key-here \
  --env IDIOLECT_BASE=https://idiolect.app \
  -- npx -y idiolect-mcp

This command adds an [mcp_servers.idiolect] entry with your key to ~/.codex/config.toml. You do not need to export the key in your shell.

Or let Codex set itself up
Paste this in — it runs the setup for you
Set up the Idiolect AI MCP server in Codex: run `codex mcp add idiolect --env IDIOLECT_API_KEY=<my key> --env IDIOLECT_BASE=https://idiolect.app -- npx -y idiolect-mcp`, then confirm it's registered.

Editors

Cursorevery plan, including Hobby

Select Add to Cursor. Then sign in. Or add the URL below in Settings → Tools & MCP.

Add to Cursor

Cursor setup guide →

VS Codewith GitHub Copilot

Select Add to VS Code. Then sign in. Over SSH, use the command below.

Add to VS Code
Or from a terminal
code --add-mcp '{"name":"idiolect","type":"http","url":"https://idiolect.app/api/mcp"}'

VS Code setup guide →

Whole workspace

These are set up once for a tenant. Everyone on it keeps their own voice — the connector resolves each person separately when they sign in.

Microsoft Copilot Studioadmin setup

On your agent, go to Add a tool → New tool → Model Context Protocol. Add the URL. Select Dynamic discovery as the OAuth 2.0 type. Copilot Studio then completes the setup.

Microsoft Copilot Studio setup guide →

Using something else? Any client that supports remote MCP servers can use the same URL — Zed, Windsurf, Cline, Amazon Q, and Docker's MCP Toolkit all take it as-is.

Once it’s connected

Nothing new to learn — just ask for writing the way you already would. Your AI reaches for Idiolect AI on its own.

  • “Reply to this email in my voice.”
  • “Score this LinkedIn post against how I actually write.”
  • “Rewrite this paragraph so it sounds like me, and tell me whether it got closer.”
  • “Draft a newsletter intro from these notes, in my voice.”
Tools

What it can do.

write and rewrite apply the authenticated user's Writing Profile automatically.

Cached profile calls remain compatible.

ToolInput
write`profile`, `request`, `format`, `instructions`, `language`, `requestAuthor`, `evidence`, `contextHints`, `situation`, `setup`
rewrite`profile`, `text`, `format`, `instructions`, `language`, `sourceAuthor`, `evidence`, `contextHints`, `situation`, `setup`
refine_writing`writingJobVersionId`, `outputReference`, `change`, `format`, `language`, `situation`, `outcome`, `finalText`, `comment`, `decisionSource`, `editAuthor`, `templateId`
view_writing_profile`profile`, `samples`, `cursor`
manage_profile`action`, `profile`, `evidence`, `name`, `writingJobVersionId`, `rule`, `scope`, `ruleId`, `sampleId`, `templateId`, `clear`
writeWrite

Creates new prose from the user's facts and directions.

What the model sees

Drafts an email, message, post, reply, doc, or report in the user's style. Use for new writing for or on behalf of the user, using their current Writing Profile when available. It writes from their request, facts, notes, or an outline, without inventing missing facts. The tool produces the draft. There is no need to draft it first. Works without a Writing Profile. Put the user's directions in `instructions`. It returns finished writing for direct presentation. When presenting the writing, preserve its wording.

rewriteRewrite

Changes supplied prose while preserving its meaning, facts, and deliberate details.

What the model sees

Rewrites text: 'make this sound like me', 'less AI', shorter, or clearer. Use for writing for or on behalf of the user, including drafts the host wrote for them. It rewrites in the user's style using their current Writing Profile when available. It covers an email, message, post, reply, or doc, from a grammar fix to a complete rewrite. Covers asks such as 'make this less AI-written' or 'make it less formal'. Changes include grammar, spelling, clarity, length, structure, tone, style, audience, or format. It can summarize, expand, simplify, paraphrase, or repurpose. Works without a Writing Profile. Unless the user asks to change them, it keeps supplied facts and protected wording. Put the user's change request in `instructions`. It returns finished writing for direct presentation. When presenting the writing, preserve its wording.

refine_writingRefine writing

What the model sees

Changes writing Idiolect AI returned, such as 'make it shorter and warmer'. The user does not need to name Idiolect AI again. It covers follow-ups on writing from `write`, `rewrite`, or `refine_writing`. The `refine_writing` tool revises returned writing, applies a ready-made template, or records its use. Send the latest `writingJobVersionId`, or `outputReference` when no version was returned, but not both. Send one of `change`, `templateId`, or `outcome`. If the change sets a new form, language or fact of the situation, send it in `format`, `language` or `situation`. The `finalText` field may come alone or with `outcome`. When the user reports use or the host observes completed use, send `outcome` with its `decisionSource`. When the final wording is known, send it in `finalText`. Set `editAuthor` to whoever edited it.

view_writing_profileView writing profile

What the model sees

Shows the user's current Writing Profile and rules, and lists their Writing Profiles. To view another Writing Profile, set `profile` to its id or name. To list its writing samples, set `samples` true. Writing Profiles update continuously as the user writes, so read the current one here each time instead of keeping a saved copy.

manage_profileManage writing profile

What the model sees

Change the user's Writing Profiles and default writing template. Choose an `action`: `create_profile`, `add_samples`, `remove_sample`, `add_rule`, `remove_rule`, `rename_profile`, `set_current_profile`, or `set_default_template`. When the user shares writing they authored in this conversation, save it with `add_samples`. Without a Writing Profile, use `create_profile`. When the user states a lasting writing preference, save it with `add_rule`. Keep stated rules in the user's words and preserve their scope. Do not save inferred patterns as stated rules. Reuse that permission for the rest of this conversation without asking again. The user can delete a whole Writing Profile on the Idiolect AI website.

Building on this directly? The connector speaks Streamable HTTP and authenticates with OAuth 2.1; the same endpoint also accepts a personal API key as a bearer token. There’s a REST Score API too.

Troubleshooting

If something’s off.

It asks you to sign in again

The connection expired or was never completed. Remove the connector, add it again, and finish the sign-in. In ChatGPT, check Developer Mode is still on — switching it off drops the connection.

“No voice saved on this account yet”

You’re signed in, but this account has no voice yet. Make one at idiolect.app/start — and check you signed into the connector with the same account.

Rewrite or draft says you don’t have access

Reload the connector and try once more; if the message remains, contact hello@idiolect.app.

“Rate limit reached”

Writing and scoring are capped at 30 calls every 5 minutes. It clears on its own.

Your AI never uses it

Check the connector is switched on for that conversation, then ask for the writing directly — “reply to this in my voice.” Some apps only pick up a new connector in a fresh chat.

Support

Still stuck?

Email us. Tell us which app you connected from and roughly when it happened — that’s enough for us to find it. A person answers.

support@idiolect.app →

What we do with your writing is set out in the privacy policy.

Idiolect AI MCP connector - setup, tools, and troubleshooting | Idiolect AI