SEOMonster
SEO analysis from your own Search Console, GA4, PageSpeed and Cloudflare accounts
Self-hosted AEO tracker that shows how AI answer engines mention and cite your site
Official · Canonry TypeScript Local · stdio Data and analyticsWeb search
74 popularity score ★ 199 ↓ 7.6k/wk
Opens the app, which asks before it adds the server.
npm install -g @canonry/canonry
cnry bootstrap
cnry serveclaude mcp add canonry -- canonry-mcp{
"mcpServers": {
"canonry": {
"command": "canonry-mcp",
"args": []
}
}
}{
"mcpServers": {
"canonry": {
"command": "canonry-mcp",
"args": []
}
}
}{
"servers": {
"canonry": {
"type": "stdio",
"command": "canonry-mcp",
"args": []
}
}
}[mcp_servers.canonry]
command = "canonry-mcp"
args = []gemini mcp add --scope user canonry canonry-mcp| Set together: scope | |
|---|---|
CANONRY_MCP_SCOPE |
Optional: all, read-only or stored-only. Narrows the tool list like the flags, and any other value stops it at start. |
CANONRY_STORED_ONLY |
Optional: 1 or true keeps it to saved evidence with no live, provider or write tools. Wins over read-only. |
CANONRY_MCP_EAGER |
Optional: 1, true or yes loads every toolkit at start instead of on demand. |
CANONRY_DISABLE_UPDATE_CHECK |
Optional: Set to 1 to skip asking the server about a newer release. |
Canonry is an open-source tool you host yourself. It tracks how AI answer engines such as ChatGPT, Claude, Gemini and Perplexity mention and cite your domains for the queries you care about. It also pulls in Google Search Console, GA4, Bing, Business Profile and server traffic data, so the agent can see search and AI visibility side by side.
The MCP part is `canonry-mcp`, a stdio adapter that ships in the `@canonry/canonry` npm package. It stores nothing itself. Every tool is a call to a Canonry server's REST API, either one you run locally with `cnry serve` or a remote one named in `~/.canonry/config.yaml`.
Tools load in stages. A small core set is there at start, and `canonry_load_toolkit` adds one group at a time, such as monitoring, setup, gsc, ga, gbp, traffic, ads or discovery. Pass `--eager` or set `CANONRY_MCP_EAGER` if your client handles a long list well. The docs give the full catalog as 286 API tools plus two meta-tools, though other sections of the same page quote smaller counts.
New in recent releases is an seo toolkit backed by DataForSEO. It reads saved keyword metrics, ranked keywords and market positions, and `canonry_seo_sync` refreshes that data from the provider when you ask.
Three scopes narrow what an agent can do. `--read-only` drops every write tool. `--stored-only` keeps only saved evidence, with no live calls or provider spend, and wins if both are set. If the API key itself is read-only, the adapter notices at start and switches to read-only on its own (cli.ts). A wrong `CANONRY_MCP_SCOPE` value or an unknown flag makes it exit with an error instead of guessing.
A Canonry server can also expose the same catalog over HTTP at `/api/v1/mcp`, with a `/readonly` variant, so a remote client needs no local Node install.
| Runtime | Node.js 22.23+ |
|---|---|
| Runs on | macOS, Windows, Linux |
| AI answer provider API key | Paid planOne of OpenAI, Anthropic, Gemini, Perplexity, Muse, OpenRouter, Exa or Parallel. You pay per visibility run. A local OpenAI-compatible model also works |
| Google Search Console, GA4, Business Profile, Bing | FreeOptional, only for the search, analytics and local tools |
| DataForSEO | Paid planOptional, for keyword and ranking data in the seo toolkit |
| OpenAI ads | Optional, only for the ads toolkit |
| Also |
|
Node.js in one of the supported ranges: 22.23.4 or later in the 22 line, 24.22.1 or later in the 24 line, or 26.12.1 or later in the 26 line. If you had the old `@ainyc/canonry` package, uninstall it first, because new releases come out only under `@canonry`. After `npm install -g @canonry/canonry`, run `cnry bootstrap` once and keep `cnry serve` running for the adapter to talk to. If install fails at `node-gyp`, add the native build tools that better-sqlite3 needs. `canonry mcp install --client claude-desktop` or `--client cursor` writes the client config for you and keeps a `.canonry.bak` copy of the old one.
`canonry-mcp` does nothing on its own: every tool calls the Canonry REST API, so tool calls fail while the server is down. The docs give conflicting tool totals (261 API tools in one section, 221 and 220 in others), and the read-only count is given as both 148 and 172. Single-tenant: the docs say to run one instance per operator or team. Research runs by limited credentials and viewer sessions share a per-project daily cap, 20 by default. Batch research takes at most 20 runs and 50 queries per request. Sentiment features are marked experimental. Credential setup, token creation and base URLs are left out of MCP on purpose and stay in the operator setup flow.
Suits a marketer, SEO or developer who wants to track how AI answer engines cite their own domains, keep the data on their own machine, and let an agent read the evidence and act on it. Acting here means submitting sitemaps, publishing to WordPress or editing paused OpenAI ad campaigns. It is a whole platform with a server, a database and provider keys. If you only want a light read-only lookup, it is heavy. Start it with `--read-only` or `--stored-only` when an agent should only read saved data without spending provider quota.
43 only read, 9 change things, 6 can delete or overwrite.
canonry_helpcanonry_load_toolkitcanonry_projects_listcanonry_project_getcanonry_project_overviewcanonry_searchcanonry_doctorcanonry_statuscanonry_settings_getcanonry_key_selfcanonry_apply_config_previewcanonry_apply_config deletescanonry_runs_listcanonry_run_getcanonry_snapshots_diffcanonry_timeline_getcanonry_insights_listcanonry_project_historycanonry_history_globalcanonry_analytics_metricscanonry_analytics_sourcescanonry_citations_visibilitycanonry_visibility_statscanonry_visibility_comparecanonry_visibility_reportcanonry_competitor_landscapecanonry_content_gapscanonry_content_targetscanonry_content_brief changescanonry_sentimentcanonry_results_clear deletescanonry_queries_listcanonry_queries_replace deletescanonry_project_upsert deletescanonry_project_update changescanonry_competitors_suggestcanonry_provider_settings_update changescanonry_backlinks_domainscanonry_seo_overviewcanonry_seo_ranked_keywordscanonry_seo_market_rankingscanonry_seo_refresh_intentcanonry_seo_sync changescanonry_gsc_performancecanonry_gsc_coveragecanonry_gsc_sitemaps_submit changescanonry_bing_coverage changescanonry_ga_overviewcanonry_ga_ai_referral_dailycanonry_gbp_summarycanonry_gbp_reviewscanonry_gbp_disconnect deletescanonry_traffic_analyticscanonry_journeys_summarycanonry_traffic_connect_wordpress changescanonry_traffic_sync changescanonry_traffic_backfill deletescanonry_snapshot changescanonry://agent-operations/v1