MentionAgent MCP
Betreiben Sie Linkbuilding-Outreach direkt aus Ihrem eigenen Agenten. 20 Tools: Lesen Sie die Entwürfe, die MentionAgent geschrieben hat, bearbeiten oder genehmigen Sie den Batch, beantworten Sie Antworten von Publishern, erfassen Sie Platzierungen und ändern Sie eine Kampagne in einfachem Englisch. Remote Streamable HTTP, Bearer-Key-Authentifizierung. Zwei Tools senden E-Mails, und beide sind so gebaut, dass sie Ihnen zuerst angezeigt werden.
Dokumentation
MentionAgent MCP Server
Run your outreach from the agent you already use
Connect https://mentionagent.ai/mcp to the Claude app, Claude Code, Codex, Cursor or any other MCP client, and your agent does the review work you used to open the dashboard for: it shows you the drafts, rewrites one, sends the batch, reads a publisher's reply, drafts the answer and records the placement when the link goes live. Replies go out only when you send them, and outreach waits for your approval unless you have turned on auto-send.
What using it looks like
You ask in plain words. Your agent picks the tool.
- Which emails need a reply?
list_inbox - Draft replies for the good ones.
draft_reply - Send them.
send_reply - That link is live, close it out.
mark_deal - Show me the drafts waiting.
list_pending_drafts - Send the batch.
approve_batch
Connecting
Two ways in. Sign in through the browser, which is what the Claude apps and most clients do on their own, or create an API key in the dashboard under Settings, Agent access and set it as a request header. Either one opens the tools below and nothing else: no mailbox credentials, no billing, no account settings. You can disconnect an app or revoke a key from the same settings card at any time.
Prefer a one-command install? The same server ships as a packaged skill for Claude, Cursor, OpenClaw and OpenCode.
With an API key
For Claude Code, Cursor, Windsurf, your own code, or any client where you would rather paste a key than sign in. Create one in the dashboard under Settings, Agent access. It is shown once.
The quickest way. Copy this, paste it into the agent you want to connect, and it will do the setup and check the connection. Have your key ready to paste when it asks, or let the agent open the sign-in page if it can.
Connect me to the MentionAgent MCP server.
It is a remote MCP server speaking Streamable HTTP at https://mentionagent.ai/mcp
and it authenticates with OAuth (sign in through the browser) or a bearer header.
In Claude Code, run:
claude mcp add --transport http mentionagent https://mentionagent.ai/mcp \
--header "Authorization: Bearer MY_KEY"
In Codex, put the key in an environment variable and run:
codex mcp add mentionagent --url https://mentionagent.ai/mcp \
--bearer-token-env-var MENTIONAGENT_API_KEY
In any other client, add an HTTP MCP server with that URL and the header
Authorization: Bearer MY_KEY
Ask me for MY_KEY before you run anything, and keep it out of any file that
gets committed to git.
Once it is connected, call get_status with no arguments and show me the sites on
the account, then tell me what you can and cannot do on my behalf.
Or set it up by hand. Point your client at the URL below. Claude Code and other clients that support OAuth will open the sign-in page in your browser when you add the server without a header; add the header to skip that and use a key instead.
https://mentionagent.ai/mcp
In Claude Code:
claude mcp add --transport http mentionagent https://mentionagent.ai/mcp \
--header "Authorization: Bearer ma_live_your_key_here"
In a client that takes a JSON config, such as Cursor:
{
"mcpServers": {
"mentionagent": {
"type": "http",
"url": "https://mentionagent.ai/mcp",
"headers": { "Authorization": "Bearer ma_live_your_key_here" }
}
}
}
In the Claude app or on claude.ai
No key and nothing to paste into a config. The same steps work on the website, the desktop app and the mobile apps, and one connection covers all of them.
- In Claude, go to Settings, then Connectors, then Add custom connector.
- Name it MentionAgent and paste
https://mentionagent.ai/mcpas the URL. - Leave the OAuth client ID empty and the other settings as they are. Click Add, then Connect.
- A MentionAgent page opens. Sign in if you are not already, check that it names the app you came from, and click Allow.
- Back in Claude, start a chat, turn the MentionAgent tool on, and ask which sites are on your account. It answers with
get_status.
Reading works on any account, including a cancelled one: your inbox, your sent history and every reply are still there for the agent to pull. Sending and new drafts need an active plan. To disconnect, use Claude's connector settings or the dashboard under Settings, Agent access, Connected apps; either one stops the next call.
In Codex
Codex speaks Streamable HTTP and OAuth, so no key is needed. Run this, and Codex finds the sign-in on its own and opens the MentionAgent page in your browser. Click Allow and you are connected. The Codex CLI and the Codex IDE extension share this setup, so one connection covers both.
codex mcp add mentionagent --url https://mentionagent.ai/mcp
If the sign-in expires or you skipped it, run codex mcp login mentionagent to do it again.
To use an API key instead, keep it in an environment variable and point Codex at the variable, so the key never sits in a config file:
export MENTIONAGENT_API_KEY=ma_live_your_key_here
codex mcp add mentionagent --url https://mentionagent.ai/mcp \
--bearer-token-env-var MENTIONAGENT_API_KEY
Or add it to ~/.codex/config.toml by hand:
[mcp_servers.mentionagent]
url = "https://mentionagent.ai/mcp"
# leave this line out to sign in with codex mcp login instead
bearer_token_env_var = "MENTIONAGENT_API_KEY"
What your agent can do
| Tool | What it does |
|---|---|
get_status | Your sites, drafts waiting, open threads, emails sent, credits left. Start here. |
get_sending_health | Why sending is or is not moving: warmup progress, today's cap and how much is used, bounce rate, automatic pauses, next run. |
get_campaign | What this site is saying, the page it links to, caps, quiet hours, keywords. |
list_pending_drafts | Every drafted email waiting for a decision, in full. Nothing here has been sent. |
list_inbox | Threads where somebody replied, filtered by how warm they are. |
get_thread | One conversation end to end, with the files attached to each message listed. |
get_attachment | A file a publisher attached: an image as an image, a PDF or Word file as its text, a text or CSV file as is. Spreadsheets and archives are named but not readable. |
list_sent | Outreach that actually went out, newest first. |
edit_draft | Rewrite the subject and body of a pending draft. |
discard_draft | Drop one draft so it never goes out. |
skip_batch | Throw away the whole pending batch. A paying account gets the draft credits back. |
archive_thread | File a thread away once it is dealt with, so the inbox shows what still needs you. |
mark_deal | Close a thread as won once the link is live. Also records the agreed placement as done. |
list_links | Links the nightly checker has found: live (and whether followed), gone, and pages it could not read. |
answer_link | Say whether a link is on a page the checker could not read. Yes closes the deal. |
trigger_run | Spends credits. Finds new prospects and drafts outreach now, instead of waiting for the next scheduled run. Sends nothing. |
approve_batch | Sends real email. Approves the pending batch and starts delivering it. |
send_reply | Sends real email. Answers one thread. |
draft_reply | Spends credits. Has MentionAgent write the reply rather than your agent writing it: crawls their site, picks the page and the exact paragraph to ask for, and drafts the email around it. Once terms are agreed it also writes the placement record. Returns a jobId. Sends nothing. |
get_draft_reply | Collects the draft once it is ready, with the page and insertion point it chose. Also cancels a run you no longer want. |
redirect_thread | Somebody replied "I am not the right person, talk to X". Opens a new thread with that person carrying the referral, and closes the original as redirected. Sends nothing. |
plan_campaign_change | Describe a change in plain English and see exactly what would change. Writes nothing. |
apply_campaign_change | Makes the change you just confirmed. |
list_keywords | The Google searches discovery runs for a site, active or retired, with a text filter. |
add_keywords | Add searches for discovery to run. New ones go first on the next run. |
remove_keywords | Stop discovery running specific searches. Kept as history so they are not generated again. |
set_link_target | Choose the page outreach asks for links to, and its anchor phrases. A page that errors is refused. |
set_profile | Edit the profile every email is written from: niche, competitors, differentiator and audiences. Lists are replaced whole. |
set_email_settings | The offer, whether it goes in the first email, link or mention, one-sided or mutual, the price, the sender name, and your own fixed email template. |
set_run_settings | Run frequency, preferred hour, follow-ups, and auto-send. Auto-send means batches go out without review. |
list_blocklist | Domains this site never contacts. |
block_domains | Never contact these domains, subdomains included: a competitor, a partner, a client. |
unblock_domains | Take domains off the blocklist. A site already emailed still is not emailed again. |
import_sites | Queue sites you already chose, with a contact and a note if you have them. Runs take them first and skip the fit check. |
list_imported_sites | Each imported site as waiting, drafted or skipped, with the reason. |
set_sending | Stop or restart new outreach for a site. |
resume_sending | Clear an automatic pause after bounces or complaints. Volume stays reduced while the rate is high. |
set_warmup | Pause or resume the warmup on every inbox a site sends from. |
A whole placement, without opening the dashboard
The tools are shaped to close one loop end to end. A site agrees to a reciprocal link, and your own coding agent does the work:
list_inboxwithfilter: "hot"surfaces the reply agreeing.get_threadreturns the conversation and the agreed placement: which page on their site links to you and with what anchor, and which page on your site links back, with the anchor and the target. That comes from a stored record, not from reading the email, so your agent is not guessing at a URL.- Your agent makes the change in your codebase. Nothing to do with us.
send_replytells them it is live.mark_dealcloses the thread and records the placement as done.
mark_deal sends no email of its own, so step four is not optional if you want the other party to know.
What still needs the dashboard
These are not exposed through MCP, so do not go looking for a tool:
- Adding a site, connecting a sending domain, or setting up a mailbox.
- Changing your pitch line. It goes into every first email word for word, so it is typed in the dashboard where you see exactly what gets sent. Everything else about the campaign can be changed from your agent: keywords with
add_keywordsandremove_keywords, the page you link to withset_link_target, your niche, competitors, differentiator and audiences withset_profile, the offer, style, sender name and your own email template withset_email_settings, run frequency and auto-send withset_run_settings, blocked domains withblock_domains, and the rest (targeting, send days, countries, quiet hours, drafts per run, how to handle paid offers) in plain English throughplan_campaign_change. - Anything to do with billing, plans or invoices.
Limits
- Up to 10 keys per account.
- Roughly 1,500 requests per key per 15 minutes. An agent working normally will not come near it.
- Five agent-started
trigger_runcalls per site per day. - Lists return up to 50 rows per call; use
offsetto page. - Long messages are truncated with a marker naming the tool that returns the whole thing.
What the key can and cannot reach
An API key opens the thirty-eight tools above and nothing else. It is not a password and it is not a session: it cannot see your mailbox credentials, cannot touch billing, cannot transfer a domain and cannot delete your account. Those stay behind a login.
Two of the thirty-eight put mail in the world, approve_batch and send_reply, and both are shaped so an agent cannot pick who it reaches:
send_replytakes a conversation and a body. There is no field for a recipient. The address comes from the thread, so it can only ever answer the person already in it, even if something in an email it just read tries to redirect it.redirect_threaddoes not weaken that, because it never changes where an existing thread replies. About one reply in fifty names somebody else to talk to, and this acts on it by opening a separate thread with the person named, then closing the original as redirected. The new thread starts empty, as a clean first touch, andsend_replyon either thread still answers only that thread's own contact. That does mean a reply on the new thread reaches the addressredirect_threadwas given, which usually came out of an inbound email, so have your agent show you that address before it calls the tool. It refuses a referral back to one of our own addresses, to the person who referred us, to anyone already in the chain, to a chain more than three hops deep, and to any address that has opted out or bounced.approve_batchhas to name the batch it was shown. If the batch changed between your agent reading it and approving it, the call is refused rather than sending something you did not see.- Every other write takes an id that came out of a read in the same conversation. There is no tool that sends something it composed on its own.
Keys can be revoked at any time from the same Settings panel, and a revoked key stops working on its next request.
There are three tiers, and they follow cost rather than status:
- Reading your own sites, drafts, inbox, sent mail and sending health works on any account, including one whose subscription has ended. Your history stays yours.
- Finding new sites and writing new copy (
trigger_run,plan_campaign_change) needs a live account: an active plan or a trial. - Sending (
approve_batch,send_reply) needs an active paid plan.
Worth knowing
- Every tool that acts on a site wants an explicit site id. Your agent gets them from
get_statuswith no arguments. Nothing is guessed for you, because guessing means acting on the wrong site in silence. - Turning sending off is never blocked, whatever the state of your billing. You can always stop your own outreach.
- Emails come back as plain text rather than raw HTML, so long threads stay readable.
trigger_runis bounded: five agent-started runs per site per day, and it is refused outright while a batch is still waiting for approval. A run costs discovery and drafting whether or not you keep what it produces, so an agent cannot sit in a loop starting them.- Campaign changes are two steps on purpose: your agent shows you what would change before anything moves.
- This server is published on the official MCP Registry as
ai.mentionagent/mentionagentand claimed on Glama. Our MCP server directories page lists every directory we could open, what each verifies, and where we are and are not listed.
Looking for the read-only web endpoints and the OpenAPI description instead? Those are on the developer resources page.