> For the complete documentation index, see [llms.txt](https://docs.voicemoat.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.voicemoat.com/assistants/connect-voicemoat-to-an-assistant.md).

# Connect VoiceMOAT to an assistant

**What this is**

You can connect VoiceMoat to an AI assistant that supports MCP, such as Claude, ChatGPT, Grok, or Claude Code, so the assistant can read your voice profile, your posts and your analytics, draft in your voice, and post for you.

It is the same audenAI that powers Studio, reached from wherever you already work instead of from the dashboard.

Once connected you can ask things like:

* "Does this read like me?"
* "What did I post last week and how did it do?"
* "Give me three angles on this, in my voice"
* "Post that to LinkedIn"

Available on **Pro** and **Enterprise**.

|                         | Free | Pro Trial | Creator | Lifetime Creator | Pro | Enterprise |
| ----------------------- | ---- | --------- | ------- | ---------------- | --- | ---------- |
| Connect to an assistant | No   | No        | No      | No               | Yes | Yes        |

Note that a **Pro Trial does not include it**. It is on the paid Pro plan and on Enterprise.

Connecting works on any plan. The tools refuse with an explanation if your plan does not include it, so you can set it up before upgrading and it starts working the moment you do, without reconnecting.

{% hint style="info" %}
No VoiceMoat account? The **free Claude skills** work in Claude, ChatGPT, and Codex without one, and get sharper once you connect. See Free Claude skills.
{% endhint %}

***

**Connect it**

You need the VoiceMoat account you already sign in with. Every assistant uses the same address:

```
https://app.voicemoat.com/api/mcp
```

**Claude**

1. In Claude, open **Settings**, then **Connectors**.
2. Choose **Add custom connector**.
3. Name it VoiceMoat and paste the address.
4. Select **Connect** and sign in to VoiceMoat the way you normally do.

**ChatGPT**

Until VoiceMoat is listed in ChatGPT's plugin directory, add it with developer mode. Whether you can turn developer mode on depends on your ChatGPT account and workspace.

1. Open **Settings**, then **Security and login**, and turn on **Developer mode**.
2. Open **Plugins** and select the plus button.
3. Name it VoiceMoat, paste the address under **Connection**, and create it.
4. Sign in to VoiceMoat when asked.

**Grok**

1. Open grok.com/connectors.
2. Choose **New Connector**, then **Custom**.
3. Paste the address.
4. Sign in to VoiceMoat when asked.

**Claude Code**

Run this, then type `/mcp` to sign in:

```
claude mcp add -t http voicemoat https://app.voicemoat.com/api/mcp
```

Nothing is shared until you sign in, and the connection only ever reaches your own account.

***

**What it can do**

Fifteen tools. You do not call them by name, you ask for what you want and the assistant picks.

**Reading**

| Tool                 | What it gives you                                                                                           |
| -------------------- | ----------------------------------------------------------------------------------------------------------- |
| `get_me`             | Which VoiceMoat account is connected, and your plan                                                         |
| `list_profiles`      | The Twitter and LinkedIn profiles on your account, and which platform the tools use when you don't name one |
| `get_voice_profile`  | Your voice persona, tone, traits, sample posts, and the claims you kept or pinned in your claim bank        |
| `get_voice_insights` | Your Voice Lab analysis: hooks, rhythm, vocabulary, topics                                                  |
| `get_analytics`      | Impressions, engagement and your top post for a window, on Twitter or LinkedIn                              |
| `list_posts`         | Your best performing posts on either platform, ranked by engagement                                         |
| `get_post`           | One post in full, with its numbers                                                                          |

**Inspiration**

| Tool                 | What it gives you                                                                                        |
| -------------------- | -------------------------------------------------------------------------------------------------------- |
| `list_creators`      | The creators you study, with their topics and signature openings                                         |
| `search_inspiration` | Public LinkedIn posts from the creators the VoiceMoat community tracks, searched by topic. LinkedIn only |

These are the only two tools that return content by people other than you. Your assistant is told to treat that text as material to learn from, never as instructions.

Reading costs no credits.

{% hint style="info" %}
**Where your numbers come from.** Twitter engagement is synced from the Twitter API. LinkedIn engagement is collected by the VoiceMoat browser extension while you browse LinkedIn, because LinkedIn's own API does not give it to us. Both show up in `get_analytics` and `list_posts`.

The practical difference is freshness: your LinkedIn numbers are only as recent as your last sync. The tools always tell your assistant when you last synced, so an unsynced week is never reported as a quiet one. Posts you publish through VoiceMoat show up straight away, and their numbers arrive with your next sync.
{% endhint %}

**Content**

These spend credits from the same pool as the dashboard, at the same prices.

| Tool                | What it does                                                                                                | Credits |
| ------------------- | ----------------------------------------------------------------------------------------------------------- | ------- |
| `score_voice_match` | Checks any text two ways: Style (N of M of your habits) and Stance (On voice, Check one line, or Off voice) | 0 or 1  |
| `get_post_ideas`    | Distinct angles on a topic                                                                                  | 2       |
| `suggest_hooks`     | Three opening lines from different angles                                                                   | 2       |
| `improve_post`      | Runs a draft through the real Improve engine                                                                | 3 or 5  |

`score_voice_match` gives two separate results, never one blended score. Style is free. Stance costs 1 credit, and only runs when your claim bank has items and the text says something to check against them; otherwise nothing is charged. See Style and Stance.

`improve_post` costs 3 for alternatives to choose between, 5 for one deep pass with an explanation of what changed.

`get_post_ideas` and `suggest_hooks` only use personal stories and numbers that are in your claim bank. A line that invents a moment you did not have is dropped.

Nothing here posts anything. Everything comes back to you.

**Posting**

| Tool            | What it does                        |
| --------------- | ----------------------------------- |
| `publish_post`  | Posts to LinkedIn or Twitter, now   |
| `schedule_post` | Adds a post to your queue for later |

Both are covered in the next section, because they behave differently on purpose.

***

**Posting always asks twice**

Neither posting tool acts the first time it is called.

1. The assistant calls it. Nothing is posted. It gets back the exact text, the account the post would go to, and a confirmation code.
2. It shows you that. You decide.
3. Only if you agree does it call again with the code, and the post goes out.

The confirmation code is tied to the exact text, the exact account and you. If anything changes between the two steps, it is refused and you get a fresh preview. It also works only once, so the same approval cannot post twice.

**What that does not do.** It cannot force an assistant to show you the preview, only to fetch one. Most assistants ask your permission before running a tool that posts, and that prompt is the thing that actually puts a human in the loop. If yours offers that setting, leave it on.

**Threads**

On Twitter, a line containing only three dashes splits a post into a thread. Each part is posted as a reply to the one before it.

```
First tweet.

---

Second tweet.
```

The preview shows the whole thing, so what you approve is what decides whether it is one tweet or five. LinkedIn has no threads and ignores this.

**Scheduling does not use the exact minute you ask for**

Every queued post is shifted by up to seven minutes at random, so your posts do not all land on round times. The reply tells you both the time you asked for and the time it will actually publish. The second one is the real one.

***

**When something refuses**

Every refusal says what happened and what to do. The common ones:

**"This account is on Creator, which does not include connecting VoiceMoat to an assistant."** Your plan does not include it (the message names your plan). Upgrading to Pro or Enterprise turns it on immediately, with no need to reconnect.

**"No VoiceMoat account is connected."** The assistant is not signed in to a VoiceMoat account it can use. This is what you see after pressing **Disconnect** in Settings → Assistants. Reconnect VoiceMoat from your assistant and sign in again.

**"Your LinkedIn connection expired. Reconnect LinkedIn in Settings → Connected accounts and try again."** LinkedIn connections last sixty days and cannot renew themselves. This is LinkedIn's rule, not ours. Reconnect and try again. Nothing was posted.

**"That confirmation was already used, so this would have been a duplicate post."** The approval was spent. Ask again and you get a fresh preview.

**"The post text changed since it was previewed."** The text is not the text you approved. Preview the new version and confirm that instead.

**"This VoiceMoat account has more than one LinkedIn account connected and none is set as active."** It will not guess which account to post to. Set an active account in the dashboard, or tell your assistant which one.

**"This account is making VoiceMoat requests too quickly."** Sixty requests a minute. The message tells you when to try again.

***

**Which account it uses**

**For posting:** if you have one account on a platform, it uses that. If you have more than one, it uses whichever is active in the dashboard. If none is set, it stops and asks rather than guessing. The preview always names the account, so check it before you confirm.

**For reading and drafting:** if you don't name Twitter or LinkedIn, the tools use your active platform in the dashboard. `list_profiles` tells your assistant which one that is, so you can ask "which profile am I on?" and get a straight answer.

***

**Disconnecting**

There are two ways, depending on what you want to stop:

* **One assistant:** remove the VoiceMoat connector in that assistant. That is where the connection was made, and removing it ends it: the assistant discards its token and stops calling us.
* **Every assistant at once:** open Settings → Assistants and choose **Disconnect**. Claude, ChatGPT, Grok, and any other assistant connected to your account stop working straight away. To use one again, reconnect it from the assistant and sign in.

Disconnecting does not touch your Twitter or LinkedIn accounts in VoiceMoat, and does not change anything you have already posted or scheduled.

***

**What it never does**

* Post on a first request. Every post takes a second call carrying a code
* Reach any account but your own
* Reply to anyone else's posts, or read DMs or comments. The only posts by other people it can read are the public LinkedIn posts in Inspiration
* Delete anything
* Change your voice settings or your plan
