agentimus
Server Details
heera.it via Agentimus: AI readiness, traffic, request log, search & index reports, by approval.
- Status
- Unhealthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- heera/agentimus
- GitHub Stars
- 1
- Server Listing
- Agentimus MCP Server
TDQS
Scored across 15 tools
Most tools are highly distinct: check-page, identify-bot, preview-markdown, preview-schema, read-ai-traffic, read-ai-visibility, read-edge-traffic, read-google-index, read-readiness, read-request-log, read-search-opportunities, read-search-performance, read-search-visibility, scan-exposed-files, suggest-internal-links each target a specific capability or data source. The read-* family is somewhat overlapping conceptually (all read data), but each reads a distinctly different source. Minor potential confusion between read-ai-traffic, read-edge-traffic, and read-request-log since they all touch crawler traffic from different angles.
Tool names follow a consistent agentimus-verb-noun pattern throughout, with verbs clear (check, identify, preview, read, scan, suggest). All use snake_case with a common prefix. Minor deviation: three preview tools use preview while most read tools use read, and what one might expect to be 'read-exposed-files' is named 'scan-exposed-files', creating slight inconsistency in verb choice, but the overall convention is consistent.
15 tools is within the ideal 3-15 range for a well-scoped server. The server covers a coherent domain (AI-visibility, search-readiness, and content optimization for an AEO/GEO platform) and each tool maps to a plausible feature area of that platform: checking pages, reading traffic from various sources, previewing outputs, and suggesting optimizations. No tool feels redundant or unnecessary.
The tool surface covers the domain well: page readability checks, AI traffic from multiple sources (server, edge, request log), search performance from Google and Bing, visibility from both AI and search, readiness scoring, and content suggestions. Obvious gaps include write/update tools (only suggest-internal-links hints at 'write-description / update-content' as referenced tools, but they aren't present in this set) — the tools are almost entirely read-only. The completeness dimension might be judged as slightly incomplete if actions beyond suggestions are expected.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
agentimus-read-google-index5 fields changed- added
Input schema / properties / urlAdded value: +{ + "description": "Optional: ONE page to answer for, absolute or site-relative. Answers from the stored record only — no live call to Google, no quota spent — so use it to ask \"is THIS page in?\" without walking rows. Adds `lookup` to the response; the rest of the payload is unchanged.", + "type": "string" +} - added
Output schema / properties / lookupAdded value: +{ + "additionalProperties": false, + "properties": { + "row": { + "additionalProperties": false, + "properties": { + "canonicalDiffers": { + "description": "Google treats a different URL as this page's real address.", + "type": "boolean" + }, + "error": { + "description": "This row's own inspection failure, if any.", + "type": "string" + }, + "fetchState": { + "description": "How Google's last fetch of the page went, e.g. SUCCESSFUL, SOFT_404, NOT_FOUND, SERVER_ERROR; empty when unknown.", + "type": "string" + }, + "googleCanonical": { + "description": "The canonical Google chose; empty when unknown.", + "type": "string" + }, + "gscLink": { + "description": "Deep link to this URL's inspection in Search Console — where \"Request indexing\" lives (that button has no API).", + "type": "string" + }, + "healedAt": { + "description": "Unix time this page turned from problem to healthy; 0 = not recently healed. Healed pages announce in site.healed for about two days, then go quiet.", + "type": "integer" + }, + "healedFrom": { + "description": "The problem bucket this page healed FROM (same keys as stateKey); empty when not recently healed.", + "type": "string" + }, + "inSitemap": { + "description": "Whether a sitemap Google knows lists this URL — false on an unindexed page means nobody told Google it exists.", + "type": "boolean" + }, + "inspectedAt": { + "description": "Unix time THIS row was last inspected — older than checkedAt means a quota-cut sweep kept its previous answer.", + "type": "integer" + }, + "lastCrawl": { + "description": "Unix time Googlebot last visited; 0 = never.", + "type": "integer" + }, + "noindex": { + "description": "A noindex tag or header asks Google to skip this URL.", + "type": "boolean" + }, + "openedAt": { + "description": "Unix time the OWNER last opened this URL in Search Console, or 0. A record of their click and nothing more: Google keeps no memory of \"indexing requested\" and no API exposes a pending state, so never read this as \"indexing was requested\" or \"Google is working on it\".", + "type": "integer" + }, + "postId": { + "description": "0 when the URL maps to no post (the homepage, an archive).", + "type": "integer" + }, + "reason": { + "description": "Why this page was checked: \"home\", \"new\" (newest posts), \"busy\" (busiest in Google) or \"site\" (the whole-site rotation).", + "type": "string" + }, + "referrers": { + "description": "Pages Google knows link to this URL (at least — Google caps what it reports); 0 on an unindexed page names the other discovery gap: nothing points here.", + "type": "integer" + }, + "richIssues": { + "description": "Rich-result issues Google reports on this page; 0 = none.", + "type": "integer" + }, + "richTypes": { + "description": "Rich-result types Google detected, comma-separated; empty = none.", + "type": "string" + }, + "robotsBlocked": { + "description": "robots.txt closes this URL to Google.", + "type": "boolean" + }, + "state": { + "description": "Google's own coverage sentence, e.g. \"Crawled - currently not indexed\".", + "type": "string" + }, + "stateKey": { + "description": "The problem bucket this row counts under: error | canonical | unknown | discovered | crawled | blocked | other; groups and site.problemStates share these keys.", + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "verdict": { + "description": "\"pass\" = on Google, \"neutral\"/\"fail\" = not on Google, \"\" = not checked yet.", + "type": "string" + } + }, + "type": "object" + }, + "status": { + "description": "Only present when `url` was asked for. found = a stored answer is in `row`; unchecked = this site's page, no answer stored yet (site.cycleDays says when the rotation reaches it); foreign = not a URL on this site, so it is never checked here.", + "type": "string" + }, + "url": { + "description": "The URL as asked, resolved against the site when it was site-relative.", + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / rows / items / properties / openedAtAdded value: +{ + "description": "Unix time the OWNER last opened this URL in Search Console, or 0. A record of their click and nothing more: Google keeps no memory of \"indexing requested\" and no API exposes a pending state, so never read this as \"indexing was requested\" or \"Google is working on it\".", + "type": "integer" +} - added
Output schema / properties / site / properties / healed / items / properties / openedAtAdded value: +{ + "description": "Unix time the OWNER last opened this URL in Search Console, or 0. A record of their click and nothing more: Google keeps no memory of \"indexing requested\" and no API exposes a pending state, so never read this as \"indexing was requested\" or \"Google is working on it\".", + "type": "integer" +} - added
Output schema / properties / site / properties / problems / items / properties / openedAtAdded value: +{ + "description": "Unix time the OWNER last opened this URL in Search Console, or 0. A record of their click and nothing more: Google keeps no memory of \"indexing requested\" and no API exposes a pending state, so never read this as \"indexing was requested\" or \"Google is working on it\".", + "type": "integer" +}
- Added
agentimus-search-media
1 tool update
- Changed
agentimus-read-google-index2 fields changed- added
Input schema / properties / problemsPageAdded value: +{ + "description": "Optional: 1-based page of 50 within problemsState; ignored without it. Beyond the last page, site.problems is empty.", + "type": "integer" +} - added
Input schema / properties / problemsStateAdded value: +{ + "description": "Optional: a problem bucket (error | canonical | unknown | discovered | crawled | blocked | other) — site.problems becomes one page of exactly that state's rows.", + "type": "string" +}
1 tool update
- Changed
agentimus-read-google-index9 fields changed- added
Output schema / properties / rows / items / properties / healedAtAdded value: +{ + "description": "Unix time this page turned from problem to healthy; 0 = not recently healed. Healed pages announce in site.healed for about two days, then go quiet.", + "type": "integer" +} - added
Output schema / properties / rows / items / properties / healedFromAdded value: +{ + "description": "The problem bucket this page healed FROM (same keys as stateKey); empty when not recently healed.", + "type": "string" +} - changed
Output schema / properties / site / properties / cycleDays / descriptionPrevious value: -"How many days one full pass over the site takes at the daily rotation size — 1 = every page is checked every day."New value: +"How many days one full pass over the site takes at the daily rotation size — 1 = every page is checked every day. Problem pages are re-checked daily regardless, up to watched.promotedDaily." - added
Output schema / properties / site / properties / healedAdded value: +{ + "items": { + "additionalProperties": true, + "properties": { + "canonicalDiffers": { + "description": "Google treats a different URL as this page's real address.", + "type": "boolean" + }, + "error": { + "description": "This row's own inspection failure, if any.", + "type": "string" + }, + "fetchState": { + "description": "How Google's last fetch of the page went, e.g. SUCCESSFUL, SOFT_404, NOT_FOUND, SERVER_ERROR; empty when unknown.", + "type": "string" + }, + "googleCanonical": { + "description": "The canonical Google chose; empty when unknown.", + "type": "string" + }, + "gscLink": { + "description": "Deep link to this URL's inspection in Search Console — where \"Request indexing\" lives (that button has no API).", + "type": "string" + }, + "healedAt": { + "description": "Unix time this page turned from problem to healthy; 0 = not recently healed. Healed pages announce in site.healed for about two days, then go quiet.", + "type": "integer" + }, + "healedFrom": { + "description": "The problem bucket this page healed FROM (same keys as stateKey); empty when not recently healed.", + "type": "string" + }, + "inSitemap": { + "description": "Whether a sitemap Google knows lists this URL — false on an unindexed page means nobody told Google it exists.", + "type": "boolean" + }, + "inspectedAt": { + "description": "Unix time THIS row was last inspected — older than checkedAt means a quota-cut sweep kept its previous answer.", + "type": "integer" + }, + "lastCrawl": { + "description": "Unix time Googlebot last visited; 0 = never.", + "type": "integer" + }, + "noindex": { + "description": "A noindex tag or header asks Google to skip this URL.", + "type": "boolean" + }, + "postId": { + "description": "0 when the URL maps to no post (the homepage, an archive).", + "type": "integer" + }, + "reason": { + "description": "Why this page was checked: \"home\", \"new\" (newest posts), \"busy\" (busiest in Google) or \"site\" (the whole-site rotation).", + "type": "string" + }, + "referrers": { + "description": "Pages Google knows link to this URL (at least — Google caps what it reports); 0 on an unindexed page names the other discovery gap: nothing points here.", + "type": "integer" + }, + "richIssues": { + "description": "Rich-result issues Google reports on this page; 0 = none.", + "type": "integer" + }, + "richTypes": { + "description": "Rich-result types Google detected, comma-separated; empty = none.", + "type": "string" + }, + "robotsBlocked": { + "description": "robots.txt closes this URL to Google.", + "type": "boolean" + }, + "state": { + "description": "Google's own coverage sentence, e.g. \"Crawled - currently not indexed\".", + "type": "string" + }, + "stateKey": { + "description": "The problem bucket this row counts under: error | canonical | unknown | discovered | crawled | blocked | other; groups and site.problemStates share these keys.", + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "verdict": { + "description": "\"pass\" = on Google, \"neutral\"/\"fail\" = not on Google, \"\" = not checked yet.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / site / properties / healedTotalAdded value: +{ + "description": "Pages that turned from problem to healthy within the last ~two days — `healed` is capped at 20 rows, this count is not.", + "type": "integer" +} - added
Output schema / properties / site / properties / problems / items / properties / healedAtAdded value: +{ + "description": "Unix time this page turned from problem to healthy; 0 = not recently healed. Healed pages announce in site.healed for about two days, then go quiet.", + "type": "integer" +} - added
Output schema / properties / site / properties / problems / items / properties / healedFromAdded value: +{ + "description": "The problem bucket this page healed FROM (same keys as stateKey); empty when not recently healed.", + "type": "string" +} - changed
Output schema / properties / site / properties / problemsTotal / descriptionPrevious value: -"Problem pages found across the site in total — `problems` is capped at 50 rows, this count is not."New value: +"Problem pages found across the site in total — `problems` is capped at 50 rows, this count is not. Watched pages with problems are included." - added
Output schema / properties / watched / properties / promotedDailyAdded value: +{ + "description": "How many problem pages join the daily check at most (stalest answer first) — the rest keep the rotation cadence until their turn.", + "type": "integer" +}
1 tool update
- Changed
agentimus-read-search-visibility3 fields changed- added
Output schema / properties / feedsAdded value: +{ + "items": { + "additionalProperties": true, + "properties": { + "lastReadAt": { + "description": "Y-m-d Bing last read it, in Bing's own record; empty = never read.", + "type": "string" + }, + "url": { + "description": "The sitemap as Bing Webmaster Tools stores it.", + "type": "string" + }, + "urls": { + "description": "How many URLs Bing reports the sitemap carried.", + "type": "integer" + } + }, + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / feedsAtAdded value: +{ + "description": "Unix time the sitemap snapshot was fetched; 0 = not fetched yet — an empty feeds list then means \"unknown\", never \"none registered\".", + "type": "integer" +} - added
Output schema / properties / indexnowAdded value: +{ + "additionalProperties": false, + "properties": { + "enabled": { + "description": "Whether the owner turned IndexNow pings on (off by default).", + "type": "boolean" + }, + "lastAt": { + "description": "Unix time of the last ping; 0 = never pinged.", + "type": "integer" + }, + "lastError": { + "description": "The last ping failure, empty after a clean ping.", + "type": "string" + }, + "lastUrls": { + "description": "How many URLs the last ping carried.", + "type": "integer" + } + }, + "type": "object" +}
15 tool updates
- First observed
agentimus-check-page - First observed
agentimus-identify-bot - First observed
agentimus-preview-markdown - First observed
agentimus-preview-schema - First observed
agentimus-read-ai-traffic - First observed
agentimus-read-ai-visibility - First observed
agentimus-read-edge-traffic - First observed
agentimus-read-google-index - First observed
agentimus-read-readiness - First observed
agentimus-read-request-log - First observed
agentimus-read-search-opportunities - First observed
agentimus-read-search-performance - First observed
agentimus-read-search-visibility - First observed
agentimus-scan-exposed-files - First observed
agentimus-suggest-internal-links
Related MCP Connectors
Website intelligence audits for AI agents: free preview plus x402-paid Agent Readiness scoring
Scan any website's AI readiness: AI search visibility and AI agent usability. Free, no auth.
Agent-readiness scanner (0-5 score), robots.txt + llms.txt generators, managed agent enablement.
Real-time web analytics for AI agents: query traffic, funnels, revenue, and manage your sites.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables users to scan any website for AI search visibility, producing AEO, GEO, agent readiness, and mention-readiness scores along with AI identity and business profile insights. Paid tools extend this to competitive comparisons, detailed audits, and generated fixes.41MIT

SitePulsar MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceMeasures and improves how findable, readable, and usable a website is to AI answer engines and autonomous AI agents through hosted AEO audit tools.MIT
Seonix SEO MCPofficial
AlicenseAqualityCmaintenanceLets any AI agent audit any website for SEO, GEO/AEO, and speed problems, reporting issues and recommendations without modifying the site.4MIT
@metricspot/mcp-serverofficial
AlicenseNot gradedqualityFmaintenanceExposes SEO and AI-readability audit tools to AI agents, enabling one-shot anonymous audits or full authenticated audits with PDF reports and organic traffic data.47 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.