MencionAI MCP
Connect Cursor, Claude, Codex, Antigravity, or n8n. Short URL: docs.mencionai.com/mcp.
MencionAI MCP
Use the MencionAI MCP server to read AI search visibility, enqueue scans, and brief GEO / social / blog drafts from Cursor, Claude, Codex, Antigravity, n8n, or any MCP client.
The MCP server is a thin adapter over Public API v2. It uses your API key and the same scopes as the HTTP API. Tools never talk to the database directly.
Easy URLs for agents (they redirect to this site):
Canonical pages stay on www.mencionai.com/{locale}/docs/....
Clients
| Client | Doc | get_doc id |
|--------|-----|----------------|
| Cursor | Cursor | mcp-cursor |
| Claude Desktop / Claude Code | Claude | mcp-claude |
| Codex | Codex | mcp-codex |
| Antigravity | Antigravity | mcp-antigravity |
| n8n | n8n | mcp-n8n |
| VS Code / Copilot | note below | (hub only) |
Settings → API Keys also has copy-paste snippets.
Before you begin
- Create an API key under Settings → API Keys (
mak_live_…ormak_test_…). - Install Node.js 20+ (for local stdio). n8n does not need this. It talks to hosted MCP over HTTP.
- Grant scopes that match what you need:
organization:read+workspaces:read— list workspaces and read visibilityjobs:read+workspaces:write— enqueue / wait for scansvisibility:answers:read— answer excerpts (included on Settings keys)
Never pass the API key as a tool argument. Put it in the MCP process environment (stdio) or as Authorization: Bearer (hosted).
Local stdio
pnpm add -g @mencionai/mcp
# or: npx -y @mencionai/mcp
Hosted MCP (preferred for production agents)
URL: https://mcp.mencionai.com/mcp
Authenticate with Authorization: Bearer YOUR_API_KEY. Stdio from customer machines does not write product telemetry.
OAuth connector (no API key)
Clients that speak OAuth 2.1 can connect without pasting a key. Point the client at https://mcp.mencionai.com/mcp and let it discover the rest.
Manage grants under Settings → Connected apps.
Preferred tool flow
For how-to / setup questions, call list_docs then get_doc (api, sdk, whitelabel, ars, mcp, mcp-cursor, mcp-claude, mcp-codex, mcp-antigravity, mcp-n8n, llms) before inventing answers. Docs tools do not need an API key.
For visibility data:
list_workspacesget_visibility_overviewexplain_visibility_gaps/compare_competitors- Prompts:
list_prompts→analyze_prompt - “What should we do?”:
analyze_action_planthenanalyze_sources. Writes:update_action_planwith a required description. - Weekly briefing:
analyze_weekly_report· ARS:analyze_ars - GEO / social / blog drafts:
research_geo_practices(you must web-search) thenprepare_geo_content_brief - Site diagnostic:
analyze_site(workspace domain only, bounded) - If crawl insights are empty,
get_crawl_insightsthen ask the user for CSV or a Vercel Log Drain before inventing traffic; ingest withingest_crawl_insights_csv wait_for_visibility_scanwhen a refresh is needed (uses plan quota)
Do not call thin tools (get_visibility_summary, get_visibility_mentions, get_visibility_competitors, get_visibility_coverage, get_visibility_citations, get_weekly_report, get_action_plan, get_ai_sources) unless composed output is insufficient. get_visibility_responses requires visibility:answers:read.
Tools
| Tool | Purpose |
|------|---------|
| list_docs / get_doc | Public guides (API, SDK, whitelabel, ARS, MCP, client setup, llms.txt) |
| get_visibility_overview | Start here — composed snapshot |
| compare_competitors | Rank rivals vs brand |
| explain_visibility_gaps | Prompts where competitors appear but the brand does not |
| wait_for_visibility_scan | Enqueue + poll scan (consumes quota) |
| get_visibility_series | Daily scores including ARS |
| get_traffic_summary / get_traffic_series | AI referral visits from the site snippet |
| get_organization / list_workspaces / get_workspace | Org (includes covered_providers) and workspace reads |
| get_visibility_responses | Answer excerpts (visibility:answers:read) |
| list_prompts / get_prompt / analyze_prompt | Tracked questions |
| analyze_weekly_report / get_weekly_report | Weekly visibility briefing |
| analyze_action_plan / get_action_plan / update_action_plan | This month’s GEO checklist (writes need a description) |
| analyze_ars / get_ars | ARS headline and components |
| analyze_sources / get_ai_sources | Cited domains and citation gaps |
| get_brand_perception | Brand vs competitor attributes |
| analyze_site | Bounded live audit of the workspace domain |
| get_crawl_insights / ingest_crawl_insights_csv | Crawler aggregates; ask the user for CSV or Vercel Log Drain when empty |
| get_project_settings | Brand name, domain, competitors, business type, location |
| research_geo_practices | Host-LLM research task (must web-search) |
| prepare_geo_content_brief | Writing brief for blog / LinkedIn / Instagram / X / Facebook |
| get_visibility_coverage / citations / summary / mentions / competitors | Power-user thin reads |
| enqueue_visibility_scan / get_job | Manual scan + poll |
| start_onboarding_v2_scan / wait_for_onboarding_v2_report / get_onboarding_v2_report | Onboarding v2 scan |
GEO content briefs
research_geo_practices returns search queries scoped to the models on the organization’s plan (Starter = Gemini and ChatGPT). The host LLM must search the live web and review the workspace domain plus discovered social profiles. Then prepare_geo_content_brief assembles visibility gaps and open GEO steps for a channel. Default market is Brazil (pt-br / br).
VS Code / Copilot
.vscode/mcp.json uses servers (not mcpServers) and "type": "stdio". Do not paste the Cursor JSON unchanged.
Troubleshooting
| Symptom | What to check |
|---------|----------------|
| 401 / unauthorized | API key missing, revoked, or wrong environment (mak_live_ vs mak_test_) |
| Scope / forbidden errors | Key lacks workspaces:read (or scan write scopes) |
| get_visibility_responses returns MISSING_SCOPE | Create a new Settings key or add visibility:answers:read |
| Scan slow or rejected | Plan quota; prefer wait_for_visibility_scan with a timeout ≤ 120s |
| Agent asks for your API key | Misconfigured MCP — key belongs in env / Bearer header, never in tool args |
Next steps
Cursor
File: .cursor/mcp.json (or Cursor MCP settings).
Stdio
{
"mcpServers": {
"mencionai": {
"command": "npx",
"args": ["-y", "@mencionai/mcp"],
"env": {
"MENCIONAI_API_KEY": "YOUR_API_KEY"
}
}
}
}
Hosted
{
"mcpServers": {
"mencionai": {
"url": "https://mcp.mencionai.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Vanity URL: docs.mencionai.com/mcp. Back to the MCP hub.
Claude
Claude Desktop
File: claude_desktop_config.json.
{
"mcpServers": {
"mencionai": {
"command": "npx",
"args": ["-y", "@mencionai/mcp"],
"env": {
"MENCIONAI_API_KEY": "YOUR_API_KEY"
}
}
}
}
Claude Code
Project .mcp.json, or:
claude mcp add mencionai -- npx -y @mencionai/mcp
Set MENCIONAI_API_KEY in the MCP server environment. Hosted:
{
"mcpServers": {
"mencionai": {
"url": "https://mcp.mencionai.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Vanity URL: docs.mencionai.com/mcp. Back to the MCP hub.
Codex
File: ~/.codex/config.toml (or project .codex/config.toml on a trusted repo).
The table name is mcp_servers, not mcpServers.
Stdio
[mcp_servers.mencionai]
command = "npx"
args = ["-y", "@mencionai/mcp"]
[mcp_servers.mencionai.env]
MENCIONAI_API_KEY = "YOUR_API_KEY"
Hosted
[mcp_servers.mencionai]
url = "https://mcp.mencionai.com/mcp"
bearer_token_env_var = "MENCIONAI_API_KEY"
Verify with codex mcp list or /mcp in the TUI.
Vanity URL: docs.mencionai.com/mcp. Back to the MCP hub.
Antigravity
Global file: ~/.gemini/config/mcp_config.json. Workspace file: .agents/mcp_config.json.
Stdio
{
"mcpServers": {
"mencionai": {
"command": "npx",
"args": ["-y", "@mencionai/mcp"],
"env": {
"MENCIONAI_API_KEY": "${MENCIONAI_API_KEY}"
}
}
}
}
Hosted
Antigravity remote servers use serverUrl, not url.
{
"mcpServers": {
"mencionai": {
"serverUrl": "https://mcp.mencionai.com/mcp",
"headers": {
"Authorization": "Bearer ${MENCIONAI_API_KEY}"
}
}
}
}
Gemini CLI leftover
Older Gemini CLI still reads mcpServers inside ~/.gemini/settings.json. Prefer the Antigravity mcp_config.json path above.
Vanity URL: docs.mencionai.com/mcp. Back to the MCP hub.
n8n
n8n is an HTTP MCP client. It does not spawn npx @mencionai/mcp. Do not use n8n’s MCP Server Trigger for MencionAI. That node exposes n8n as a server.
Use MCP Client Tool on an AI Agent, or the standalone MCP Client node.
Node fields (v1.2+)
| Field | Value |
|-------|--------|
| Server Transport | HTTP Streamable (httpStreamable) |
| MCP Endpoint URL / Endpoint | https://mcp.mencionai.com/mcp |
| Authentication | Bearer Auth |
| Token | Settings API key (mak_live_… or mak_test_…) |
Older node versions default to SSE. Hosted MencionAI MCP is Streamable HTTP. Pick HTTP Streamable.
Self-hosted n8n only needs outbound HTTPS to mcp.mencionai.com. Optional: MCP OAuth2 against the same URL (discovery via WWW-Authenticate).
Vanity URL: docs.mencionai.com/mcp. Back to the MCP hub.
