Skip to main content
Glama

Server Details

heera.it via Agentimus: AI readiness, traffic, request log, search & index reports, by approval.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Unhealthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP
URL
Repository
heera/agentimus
GitHub Stars
1
Server Listing
Agentimus MCP Server

TDQS

A4.2/5.0

Scored across 15 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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.

  1. 2 tool updates
    • Changedagentimus-read-google-index5 fields changed
      • addedInput schema / properties / url
        Added 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"
        +}
      • addedOutput schema / properties / lookup
        Added 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"
        +}
      • addedOutput schema / properties / rows / items / properties / openedAt
        Added 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"
        +}
      • addedOutput schema / properties / site / properties / healed / items / properties / openedAt
        Added 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"
        +}
      • addedOutput schema / properties / site / properties / problems / items / properties / openedAt
        Added 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"
        +}
    • Addedagentimus-search-media
  2. 1 tool update
    • Changedagentimus-read-google-index2 fields changed
      • addedInput schema / properties / problemsPage
        Added value: +{
        +  "description": "Optional: 1-based page of 50 within problemsState; ignored without it. Beyond the last page, site.problems is empty.",
        +  "type": "integer"
        +}
      • addedInput schema / properties / problemsState
        Added 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"
        +}
  3. 1 tool update
    • Changedagentimus-read-google-index9 fields changed
      • addedOutput schema / properties / rows / items / properties / healedAt
        Added 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"
        +}
      • addedOutput schema / properties / rows / items / properties / healedFrom
        Added value: +{
        +  "description": "The problem bucket this page healed FROM (same keys as stateKey); empty when not recently healed.",
        +  "type": "string"
        +}
      • changedOutput schema / properties / site / properties / cycleDays / description
        Previous 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."
      • addedOutput schema / properties / site / properties / healed
        Added 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"
        +}
      • addedOutput schema / properties / site / properties / healedTotal
        Added 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"
        +}
      • addedOutput schema / properties / site / properties / problems / items / properties / healedAt
        Added 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"
        +}
      • addedOutput schema / properties / site / properties / problems / items / properties / healedFrom
        Added value: +{
        +  "description": "The problem bucket this page healed FROM (same keys as stateKey); empty when not recently healed.",
        +  "type": "string"
        +}
      • changedOutput schema / properties / site / properties / problemsTotal / description
        Previous 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."
      • addedOutput schema / properties / watched / properties / promotedDaily
        Added 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"
        +}
  4. 1 tool update
    • Changedagentimus-read-search-visibility3 fields changed
      • addedOutput schema / properties / feeds
        Added 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"
        +}
      • addedOutput schema / properties / feedsAt
        Added 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"
        +}
      • addedOutput schema / properties / indexnow
        Added 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"
        +}
  5. 15 tool updates
    • First observedagentimus-check-page
    • First observedagentimus-identify-bot
    • First observedagentimus-preview-markdown
    • First observedagentimus-preview-schema
    • First observedagentimus-read-ai-traffic
    • First observedagentimus-read-ai-visibility
    • First observedagentimus-read-edge-traffic
    • First observedagentimus-read-google-index
    • First observedagentimus-read-readiness
    • First observedagentimus-read-request-log
    • First observedagentimus-read-search-opportunities
    • First observedagentimus-read-search-performance
    • First observedagentimus-read-search-visibility
    • First observedagentimus-scan-exposed-files
    • First observedagentimus-suggest-internal-links

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    4
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Lets any AI agent audit any website for SEO, GEO/AEO, and speed problems, reporting issues and recommendations without modifying the site.
    4
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Exposes 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 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.