Skip to main content
Glama
mencoro

Mencoro MCP server

by mencoro

Mencoro tracks how brands surface in AI answer engines — ChatGPT, Perplexity, Google AI Overview and AI Mode — and in Google Search and Shopping. The MCP server exposes that data to any MCP client as 17 read-only tools and 12 prompts.

The server is hosted. Most clients should connect to it directly:

https://api.mencoro.com/mcp

This repository holds the public metadata for that server plus a small stdio bridge (@mencoro/mcp) for hosts that can only launch a local process. It does not contain the Mencoro application source.

Connect

No install, no local process. Sign in with OAuth, or paste a personal access token as a header.

Client

How

Claude (web, Desktop, mobile)

Settings → Connectors → Add custom connector → paste the URL → Sign in. Or use the one-click link.

ChatGPT

Settings → Apps & Connectors → developer mode → add the URL → sign in.

Claude Code

claude mcp add --transport http mencoro https://api.mencoro.com/mcp then /mcp to sign in

Cursor

config below

VS Code

config below

OpenAI Codex

config below

Gemini CLI

config below

OpenCode

config below

Google Antigravity

config below

Clients that can only spawn a local process

Claude Desktop's manual configuration, and older stdio-only hosts, need a bridge. That is what this package is:

npx -y @mencoro/mcp
// claude_desktop_config.json
{
  "mcpServers": {
    "mencoro": {
      "command": "npx",
      "args": ["-y", "@mencoro/mcp"],
      "env": { "MENCORO_API_KEY": "mcp_pat_your_token" }
    }
  }
}

The token goes through the environment rather than an argument, so it does not appear in ps output and does not have to survive the host's argument splitting.

Related MCP server: ai-visibility-mcp

Authentication

Two ways in. Both give the same read-only access.

OAuth 2.1 — the one-click path. Supported by Claude, ChatGPT, Claude Code and any client that implements the MCP authorization spec. Nothing to copy or paste; revoke it from the app. The server advertises PKCE (S256), Client ID Metadata Documents, Dynamic Client Registration and RFC 9728 resource metadata, so clients discover everything they need from https://api.mencoro.com/.well-known/oauth-protected-resource/mcp.

Personal access token — for CLI clients, config files, and this bridge. Create one at tool.mencoro.com/me/mcp-server; it is shown once, starts with mcp_pat_, is read-only, and can be scoped to a single organization and given an expiry. Send it as Authorization: Bearer mcp_pat_….

ChatGPT cannot send a custom Authorization header to a remote connector — use OAuth there.

Client configuration

{
  "mcpServers": {
    "mencoro": {
      "url": "https://api.mencoro.com/mcp",
      "headers": { "Authorization": "Bearer mcp_pat_your_token" }
    }
  }
}
{
  "servers": {
    "mencoro": {
      "type": "http",
      "url": "https://api.mencoro.com/mcp",
      "headers": { "Authorization": "Bearer mcp_pat_your_token" }
    }
  }
}
[mcp_servers.mencoro]
url = "https://api.mencoro.com/mcp"
http_headers = { "Authorization" = "Bearer mcp_pat_your_token" }
{
  "mcpServers": {
    "mencoro": {
      "httpUrl": "https://api.mencoro.com/mcp",
      "headers": { "Authorization": "Bearer mcp_pat_your_token" }
    }
  }
}
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mencoro": {
      "type": "remote",
      "url": "https://api.mencoro.com/mcp",
      "enabled": true,
      "headers": { "Authorization": "Bearer mcp_pat_your_token" },
      "oauth": false
    }
  }
}

oauth: false stops OpenCode negotiating OAuth against an endpoint that also advertises it, which would otherwise override the token you just configured.

{
  "mcpServers": {
    "mencoro": {
      "serverUrl": "https://api.mencoro.com/mcp",
      "headers": { "Authorization": "Bearer mcp_pat_your_token" }
    }
  }
}
{
  "mcpServers": {
    "mencoro": {
      "type": "http",
      "url": "https://api.mencoro.com/mcp",
      "headers": { "Authorization": "Bearer ${MENCORO_API_KEY}" }
    }
  }
}

Tools

All 17 are read-only. Nothing in this server can change a project, a tracked query or a setting.

Tool

What it answers

list_projects

The organizations and active projects you can see. Call this first — every other tool needs the ids it returns.

get_available_filters

Which engines, countries, keyword clusters and competitors a project actually has.

get_metric_glossary

Maps everyday wording ("visibility", "tone", "ranking") onto the right metric and tool.

get_organization_overview

Current-state board across every active project in an organization, ranked by Share of Voice.

get_project_rank_tracking_stats

The project summary: positions, trends, Share of Voice per competitor, sentiment split, mention/SERP/shopping rates.

get_rank_tracking_time_series

Those metrics over time, bucketed daily, weekly or monthly, optionally per competitor.

get_tracked_query_time_series

The same history for one tracked query.

get_query_movers

The tracked queries that gained or lost the most versus the previous period.

get_cluster_breakdown

The same metrics broken down per keyword cluster.

search_tracked_queries

Search and paginate a project's tracked queries with their latest positions.

get_sentiment_breakdown

Positive / neutral / negative split of your AI mentions, per engine and per competitor.

get_mention_mix

Mention counts by type, tone and qualifier — the inputs behind the Share of Voice weighting.

get_mention_samples

The raw AI mention texts, paginated and filterable, for qualitative review.

get_competitor_cooccurrence

Head-to-head: when you and a competitor appear in the same answer, who is named higher.

get_cited_sources

The domains and pages the answer engines cited, with counts and average citation rank.

get_tracking_coverage

What is stale: paused, never-checked and overdue tracked queries.

get_share_of_voice_formula

The weights and multipliers the Share of Voice score is built from.

Dates are ISO YYYY-MM-DD and must fall inside the retention window. Positions are 1-based and lower is better; every other metric improves as it rises.

Prompts

Twelve ready-made questions, surfaced by clients that support MCP prompts:

brand_ai_overview · whats_changed · organization_overview · top_queries · biggest_movers · query_history · competitor_standing · head_to_head · negative_mentions · cited_sources · coverage_health · sov_explainer

The bridge

Run it

export MENCORO_API_KEY=mcp_pat_your_token
npx -y @mencoro/mcp            # serve on stdio
npx -y @mencoro/mcp doctor     # check the endpoint, the token, and list the tools

Docker

docker run --rm -i -e MENCORO_API_KEY=mcp_pat_your_token ghcr.io/mencoro/mencoro-mcp

-i is required and -t must be omitted: the MCP transport is this process's stdin and stdout.

Options

MENCORO_API_KEY

Personal access token. Without it the bridge starts anyway and serves a single mencoro_setup tool explaining how to get one.

MENCORO_MCP_URL

Upstream endpoint. Defaults to https://api.mencoro.com/mcp.

--url <url>

Same, as an argument.

--header "Name: value"

Extra HTTP header, repeatable. An Authorization header here overrides MENCORO_API_KEY.

doctor

Connect once, print the server version, negotiated protocol, tool and prompt catalogue, then exit.

--help, --version

What it actually does

It splices your client's stdio transport onto a Streamable HTTP transport and forwards every JSON-RPC frame verbatim, in both directions. The only frame it looks inside is the handshake — enough to echo the negotiated protocol version back upstream and to rebuild the session if the server evicts it, which a deploy or a scale-down will do. It knows no other method, so it cannot drift from the server: tools, prompts, resources, completions, progress notifications and anything added later all pass straight through.

Limits

Access

Read-only. 17 tools, no mutations.

Retention

Up to 16 months of history; dates outside the window are rejected.

Transport

Streamable HTTP.

Rate limiting

Repeatedly presenting an invalid credential is rate limited per IP.

Result size

Large result sets are paginated; ask for a narrower window or a coarser granularity if a client truncates.

Repository contents

src/, test/

The stdio bridge published as @mencoro/mcp.

server.json

The MCP registry manifest.

glama.json

Glama directory ownership metadata.

Dockerfile

The image published to ghcr.io/mencoro/mencoro-mcp.

assets/, logo.png

Brand assets used by directory listings.

Development

npm ci
npm run typecheck
npm test            # builds first, then runs the suite
npm run check:manifests

Tests run the TypeScript sources directly through Node's type stripping, so development needs Node 22.18 or newer. The published package targets Node 20.19+, which CI verifies separately against the built artifact.

Releases are cut by tagging. npm version <patch|minor|major>, mirror the new version into server.json (.version, the npm package entry, and the image tag), run npm run check:manifests, then push the tag — CI publishes to npm, GHCR and the MCP registry, in that order.

Support

Licence

MIT. See LICENSE.

The Mencoro name, logo and brand assets in assets/ are trademarks of Mencoro and are not covered by that licence.

Available Tools

1 tool
mencoro_setupMencoro setup instructionsA
Read-onlyIdempotent
Inspect

Explain how to finish connecting this bridge to Mencoro. The bridge has no API token, so no project, ranking, mention or share-of-voice data can be read until one is configured.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds valuable context beyond the annotations by explaining the current missing-token state and why data reads fail until setup finishes. This aligns with and reinforces the annotation hints without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. The primary purpose is front-loaded in the first sentence, and the second sentence provides essential context. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple explanatory tool with no parameters and no output schema, the description covers the necessary context: what the tool does, the current state, and the consequence of inaction. The output is implicitly instructions, which is clear from the verb 'Explain'. It could detail the output format, but this is not critical given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so there is nothing for the description to clarify. Per the baseline for zero-parameter tools, the description adequately handles parameter semantics by not adding unnecessary detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Explain') and names the exact resource ('finish connecting this bridge to Mencoro'). It also states the practical consequence of missing configuration, leaving no ambiguity about what the tool does. With no sibling tools, there is no differentiation burden.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies the context of use: the bridge has no API token, so data cannot be read until setup is complete. This tells an agent when to invoke the tool (when configuration is needed or when Mencoro data is unavailable). It does not explicitly mention alternatives, but none exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedmencoro_setup

TDQS

A4.1/5.0

Scored across 1 tool

Disambiguation5/5

There is only one tool, so there is no possibility of confusion between overlapping purposes. The tool's purpose of setup is unique and clearly described.

Naming Consistency5/5

The single tool name follows a clear snake_case pattern with a descriptive verb_noun structure. With only one tool, there are no inconsistent conventions to confuse an agent.

Tool Count2/5

The server's apparent scope is to provide Mencoro project, ranking, mention, and share-of-voice data, yet it only exposes a setup tool. One tool is far too few to cover the intended domain, leaving agents without any functional data access.

Completeness1/5

The tool set includes only setup documentation and no actual data retrieval or management tools. The description explicitly states that no project, ranking, mention, or share-of-voice data can be read, meaning the server is severely incomplete relative to its stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    9 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to check whether AI assistants recommend a brand and audit a site's AI-agent readiness, providing visibility scores and specific gaps.
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Enables AI agents to check brand mentions across AI search surfaces like ChatGPT, Claude, Gemini, Perplexity, and Google AI Overviews using natural language queries.
    4
    3 npm
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to monitor and analyze a brand's visibility across ChatGPT, Claude, Perplexity, and Google AI Overviews, providing insights, recommendations, and competitive analysis without switching tabs.
    25
    17 npm
    1
    MIT