momentic
Server Details
Free SEO, GEO, and AEO audits: analyze any page or domain, AI-crawler access, agent readiness.
- Status
- Healthy
- Uptime
- 100.0% over 80 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 12 tools
Most tools have clearly distinct targets: analyze_page (single-page SEO), analyze_site (domain-root AI-discovery files), check_bots (live crawler reachability), extract_links/compute_link_graph (parsing vs graph math), and the Momentic-content tools (get_page, list_pages, search, ask_momentic) are separable. The main risk is mild overlap between analyze_site and check_bots (both concern AI crawlers) and between analyze_page and parse_freshness_signals (both parse page HTML), but descriptions draw the line clearly.
Predominantly consistent verb_noun snake_case (analyze_page, analyze_site, check_bots, extract_links, compute_link_graph, parse_freshness_signals, get_page, list_pages, lookup_entity, get_brand_overview). Minor deviations are ask_momentic (brand-named action) and the bare search, but the convention is readable and predictable overall.
Twelve tools is well-scoped for an SEO/AEO analysis server spanning three coherent clusters (Momentic content access, live probing, and pure parsers). Each tool has a distinct, non-redundant role and nothing feels padded.
The surface covers a full workflow: discover/list content, fetch and search it, ask brand Q&A, probe a URL for SEO and AI-discovery signals, check bot reachability, resolve entities, and run link-graph and freshness analysis. Minor gaps exist (no explicit content-writing or batch/multi-URL orchestration tool), but agents can compose the pure parsers with crawling to work around these.
Available Tools
12 toolsanalyze_pageAInspect
Fetches any public URL and returns structured on-page SEO signals: title, meta description, canonical (+ canonicalCount), lang, heading counts, schema types (JSON-LD including @graph and nested entities, plus microdata and schema.org RDFa; schemaTypesBySyntax splits them), OpenGraph/Twitter cards (any attribute order), internal/external link counts, word count (body text without scripts, templates, comments; see wordCountMethod), and whether markdown is served for Accept: text/markdown. Text values are entity-decoded. pageLoaded:false means the checker was refused or got an error or challenge page; then title, schemaTypes and wordCount are null (unknown, not empty). markdownNegotiation is null with markdownNegotiationChecked:false when the markdown probe was refused.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Absolute http(s) URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does it well: it discloses that text is entity-decoded, that pageLoaded:false means refused/error/challenge, and precisely which fields become null (title, schemaTypes, wordCount) and why. It does not mention authentication needs, rate limits, or redirect behavior, so it is not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, but the body is a single sprawling sentence packed with nested parentheticals that is hard to parse in one pass. Almost every clause carries information, yet the structure sacrifices readability for density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description supplies the return-shape inventory and the null/failure semantics an agent needs, which is substantial for a one-parameter read tool. It stops short of covering rate limits or redirect/timeout behavior, so it is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single url parameter, so the baseline is 3. The description adds real meaning by qualifying the URL as public and by noting the Accept: text/markdown negotiation behavior, which tells the agent something the schema does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (fetches) and resource (any public URL) and enumerates the exact on-page SEO signals returned, which strongly separates it from site-level siblings like analyze_site or raw-fetch tools like get_page. It never explicitly names or contrasts with a sibling, so it falls just short of the 5 bar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the purpose (analyze on-page SEO for a given URL), and 'any public URL' hints that it works externally unlike site-scoped tools. However, there is no explicit when-to-use, when-not-to-use, or statement of which sibling to pick for a site-wide versus single-page question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_siteAInspect
Probes a domain root for site-wide AI-discovery signals: /llms.txt; /robots.txt parsed per RFC 9309 for GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User, GoogleOther, Google-Extended, CCBot, Applebot-Extended, Meta-ExternalAgent, meta-externalfetcher, Amzn-SearchBot, MistralAI-User, DuckAssistBot (aiBotStatus is the verdict for the homepage path / only; aiBotDisallows lists rules that still block an allowed bot elsewhere); the sitemap (/sitemap.xml or robots.txt Sitemap lines, sitemap indexes followed, gzip read): urlCount is unique page URLs, urlCountComplete says whether every sitemap file was read; /.well-known/agent-skills/index.json, /.well-known/api-catalog, /.well-known/mcp/server-card.json; and the homepage Link header. Every file reports found: true, false (checked and absent, including HTML catch-all pages), or null with checked:false (blocked, erroring or timed out: unknown).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Root domain or full URL (e.g. "example.com" or "https://example.com") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it defines the tri-state found value (true / false including HTML catch-all pages / null with checked:false for blocked, erroring, or timed-out requests treated as unknown). It also discloses internal behavior such as RFC 9309 parsing, sitemap index following, gzip reads, and what aiBotStatus vs aiBotDisallows mean.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening clause is well front-loaded, and semicolons separate concerns, but the body is a single dense semicolon chain including a long bot list that burdens parsing. Much of it is useful spec detail rather than filler, yet it is not economically expressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex multi-endpoint probe with no output schema and no annotations, the description is largely complete: it names every checked resource and defines the result semantics needed to interpret them. The missing piece is selection guidance relative to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, whose schema description coverage is 100% and already documents that a root domain or full URL is accepted. The description reinforces 'domain root' probing but adds no syntax or format meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Probes') and resource ('a domain root') and enumerates exactly the artifacts inspected (llms.txt, robots.txt, sitemap, well-known files, Link header), so the scope is unmistakable. It does not explicitly distinguish itself from siblings like analyze_page or check_bots, which is the main clarity gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to call this versus siblings (analyze_page, check_bots) and no prerequisites or exclusions. The parentheticals explain how to read outputs rather than when to invoke the tool, so selection guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ask_momenticAInspect
Asks Ask Momentic a question and returns its answer, written by AI from momenticmarketing.com pages, with the Momentic pages it is based on as sources. Use it for questions about Momentic (services, Atlas, the team, case studies, pricing) and about SEO and AI search topics Momentic publishes research on, such as AI chatbot market share, AI Overviews, llms.txt, AI crawlers or query fan out. A question someone asked before returns at once; a new one takes about 30 seconds. If the result says the answer is still being written, call the tool again with the same question after about 30 seconds.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | The question, in plain words (2 to 200 characters). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses key behavior: cached questions return immediately, new questions take about 30 seconds, and an in-progress answer should be retried after roughly 30 seconds. It also explains that answers are AI-written from momenticmarketing.com pages with sources, though it does not explicitly state read-only safety or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and scope, and the latency/retry guidance earns its place. It is slightly wordy in restating the source pages, but overall efficient for a tool with no annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers purpose, topic scope, return content, source attribution, latency, and retry behavior. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single question parameter is already documented. The description adds no syntax or format details beyond what the schema provides; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a specific verb and resource — asking a question and returning an AI-written answer with sources — and clearly scopes it to Momentic and SEO/AI search topics. That scope distinguishes it from sibling tools like search, get_page, and analyze_site.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear when-to-use context by listing topic areas (services, Atlas, team, case studies, pricing, AI chatbot market share, AI Overviews, llms.txt, AI crawlers, query fan out). It does not explicitly name when not to use it or compare against sibling tools, but the intended context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_botsAInspect
Probes a URL with AI crawler user agents, using the operators' current documented strings (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User, GoogleOther, Google-Agent, CCBot, Applebot, meta-externalagent, meta-externalfetcher, Amzn-SearchBot, MistralAI-User, DuckAssistBot) in parallel, plus a regular Chrome browser request as a baseline, and returns per-bot reachability (status, key WAF/CDN headers, verdict). Reveals WAF/CDN-layer blocks that robots.txt audits miss. Verdicts: reachable, blocked-403, blocked-4xx, challenged-by-cdn (including 200 challenge pages), rate-limited-429, redirected-to-block-page, inconclusive-not-bot-specific (the browser baseline was refused too, so the block is not aimed at the bot), not-found, server-error-5xx, timeout, fetch-error. summary.blocked counts only bot-specific blocks; timeouts and errors are counted separately. Requests come from Cloudflare's network, not the bot operators' IPs (see probe.note). Google-Extended and Applebot-Extended are robots.txt tokens, not user agents, and are not probed.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Absolute http(s) URL to probe | |
| timeoutMs | No | Per-fetch timeout in ms (default 5000) | |
| userAgents | No | Optional UA strings to test. Defaults to the bots listed above (robots.txt tokens such as Google-Extended and Applebot-Extended are not probed). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so thoroughly: it enumerates all verdict values (blocked-403, challenged-by-cdn, inconclusive-not-bot-specific, etc.), explains that summary.blocked counts only bot-specific blocks while timeouts/errors are counted separately, and discloses the important caveat that requests originate from Cloudflare's network rather than the bot operators' IPs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is front-loaded in the first clause, and the long verdict enumeration is justified because no output schema exists and the agent needs it to interpret results. The final robots.txt-token sentence is slightly redundant with the schema but reinforces an important exclusion, so it still earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description supplies everything an agent needs: what is fetched, what the response contains (per-bot status, WAF/CDN headers, verdict), how the summary is counted, and the network-origin caveat. Nothing material is missing for correct invocation or interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it names the default UA set that userAgents falls back to and reiterates that robots.txt-only tokens are excluded. It adds little on url or timeoutMs beyond the schema, keeping it short of a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (probes) and resource (a URL with AI crawler user agents) plus the exact scope: per-bot reachability with a Chrome baseline. It is clearly distinguishable from siblings like analyze_page, get_page, and analyze_site, which are content/audit tools rather than WAF-layer bot reachability probes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when this tool is appropriate ('Reveals WAF/CDN-layer blocks that robots.txt audits miss') and clarifies what is out of scope (robots.txt tokens like Google-Extended are not probed). It does not, however, explicitly contrast itself with any named sibling or state when NOT to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_link_graphAInspect
Pure graph computation over a crawled page set. Input: an array of {url, internalLinks: [{href, anchor}, ...], title?, bodyText?}. Returns orphan pages (in-degree 0, excluding the homepage), hubs (top-N by in-degree), authorities (top-N by out-edges to hubs), PageRank-lite ranking, anchor-diversity issues (all-anchors-same, no-descriptive-anchors), connected components, and isolated clusters. With options.findMentions=true and title+bodyText supplied, also returns mention-not-linked suggestions. URL normalization (trailing slash, lowercased host, dropped utm_*/fbclid/gclid/etc.) is on by default.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | Yes | Array of crawled pages | |
| options | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses behavior: pure computation, URL normalization defaults, and O(N^2) complexity for findMentions. However, no annotations are provided, and the description does not mention error handling, rate limits, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is informative but verbose (over 100 words). It is front-loaded with the main purpose but could be more structured (e.g., bullet points) to improve readability. Still, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description adequately lists the return types. However, it lacks information about error scenarios, input size limits, and authorization requirements. For a complex tool with nested objects, more completeness would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant value beyond the schema by specifying the exact input structure (e.g., 'url, internalLinks: [{href, anchor}], title?, bodyText?') and explaining the effects of options like hubCount, findMentions with performance note, and normalizeUrls. Schema description coverage is 50%, but the description compensates well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs pure graph computation over a crawled page set, listing specific outputs like orphan pages, hubs, authorities, PageRank-lite, etc. It distinguishes from sibling tools by its focus on multi-page link graph analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like analyze_page or search. The description implies it's for link graph analysis but does not provide when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_linksAInspect
Pure HTML parser. Given a single page's HTML and its baseUrl, returns every resolved to absolute, separated into internal vs external by host, with cleaned anchor text, rel attribute, and nofollow flag. Skips fragments, mailto:, tel:, javascript:, and empty hrefs. Designed to feed compute_link_graph: the agent crawls pages on the user's machine (their IP, no Cloudflare subrequest cap) and calls extract_links per page, then ships the structured page data into compute_link_graph.
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | Raw HTML of the page | |
| baseUrl | Yes | Absolute URL of the page (used to resolve relative links and identify internal vs external) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description fully carries the burden. It declares the tool is a 'Pure HTML parser' (no side effects), details exactly which href types are skipped, and describes the output structure. All behavioral traits are disclosed, making the tool's behavior predictable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise and front-loaded with the key phrase 'Pure HTML parser.' Every sentence provides specific information, though it could be slightly shorter without losing clarity. Structure is logical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description explains the output thoroughly (fields returned, internal vs external, skipped links) and links to its intended downstream use (compute_link_graph). No output schema exists, but the description compensates fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters well-described in the schema. The description adds minimal extra meaning for parameters beyond what the schema provides (e.g., baseUrl used for resolution). Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('extract') and clearly defines the resource (links from HTML). It explicitly states the output format (absolute, internal vs external, cleaned anchor text, rel, nofollow) and what is skipped (fragments, mailto:, etc.). This distinguishes it from siblings like compute_link_graph, which consumes its output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that it is designed to feed compute_link_graph and that it should be called per page crawled from the user's machine. This gives clear context for when to use it, though it does not explicitly list scenarios where it should not be used (e.g., if no raw HTML is available).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_brand_overviewAInspect
Returns the canonical AI-readable description of Momentic from /llms.txt. Use for authoritative brand info, positioning, services, and contact.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It does not disclose behavioral traits beyond the purpose, such as read-only nature, caching, or rate limits. For a simple data retrieval with no parameters, this is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the primary function, and contains no superfluous words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does not detail the return format. However, it suffices for a simple tool returning a canonical description. It could mention the format (e.g., plain text), but the use cases are well-covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and schema description coverage is 100%. The description adds no parameter info, but none is needed, so the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the canonical AI-readable description of Momentic from /llms.txt, specifying the resource and its use for brand info, positioning, services, and contact. It distinguishes from sibling tools like analyze_page or search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use the tool ('for authoritative brand info...'), but does not explicitly mention when not to use it or provide alternatives. However, the context signals and sibling tools make it sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pageAInspect
Fetches a Momentic page as Markdown (uses Cloudflare's Markdown for Agents). Pass an absolute path like "/team/jane-doe" or a full momenticmarketing.com URL.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path or full URL on momenticmarketing.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits; it mentions 'uses Cloudflare's Markdown for Agents' but omits details on auth, error handling, rate limits, or whether the operation is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core function and usage, no unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one required parameter and no output schema, the description covers the basic purpose and parameter usage, but lacks details on return format beyond Markdown, error cases, or behavioral guarantees.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter described. The description reinforces the schema's explanation and adds concrete examples ('/team/jane-doe'), but does not provide significant additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches a Momentic page as Markdown, specifies the verb ('Fetches'), resource ('Momentic page'), and output format, and distinguishes from siblings like analyze_page by focusing on raw content retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear instructions on parameter format ('absolute path like "/team/jane-doe" or a full URL'), but does not explicitly state when to use this tool versus alternatives like analyze_page or search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pagesAInspect
Lists pages on momenticmarketing.com from sitemap.xml. Optional section filter: team, case-studies, capabilities, services, blog, seo-news, content-academy, google-updates, blog-categories, careers, about, contact, pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| section | No | Section slug (e.g. "team", "case-studies"). Omit to list all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description discloses the data source (sitemap.xml) and filtering. However, it omits details like return format, pagination, rate limits, or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose and source, second explains optional parameter. No redundant words, front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional param and no output schema, the description covers the core functionality and usage. Minor gap: no mention of output structure (e.g., list of URLs).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter with 100% schema coverage. Description adds example values and clarifies default behavior (omit to list all), complementing the schema's generic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it lists pages from a specific sitemap URL, with optional section filter. Distinguishes from siblings like get_page (single page) and search (cross-site search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains optional section filter and default behavior (list all). Does not explicitly state when not to use or list alternatives, but the context is clear enough for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_entityAInspect
Resolves a brand/topic/person to a structured entity record built from Wikidata + Wikipedia (free APIs, no auth). Pass exactly one of: name (search by string), qid (Wikidata Q-number to skip search), or wikipediaTitle (resolves to QID via the article's wikibase_item). Returns: qid, label, description, instanceOf (P31 with resolved labels), sameAs (Wikipedia + claim-derived URLs for Twitter/Instagram/Facebook/GitHub/LinkedIn/YouTube/Crunchbase/official site), sitelinks (top 10 language wikis) and sitelinkCount, Wikipedia summary + thumbnail, Wikipedia section outline (canonical sub-topic structure for content briefs), and alternativeMatches when a name search returned multiple candidates. Powers entity-graph alignment checks (Stage 4 trustworthiness, Stage 10B verification) and feeds the content-brief skill's outline.
| Name | Required | Description | Default |
|---|---|---|---|
| qid | No | Wikidata Q-number (e.g. "Q12345") to fetch directly, skipping search. | |
| name | No | Brand/topic/person name to search Wikidata for. The top match is resolved; runners-up are returned in alternativeMatches. | |
| skipWikipedia | No | If true, return Wikidata-only (no Wikipedia summary/sections). Default false. | |
| wikipediaTitle | No | English Wikipedia article title (e.g. "Acme_Corporation"). Resolves to QID via pageprops, then proceeds. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool uses free APIs with no authentication, and explains behavior like returning alternativeMatches when a name search yields multiple candidates. It does not mention rate limits or caching, but for a read-only lookup, these are less critical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly long but every sentence adds value. It is front-loaded with the main purpose and method of use. Minor trimming could be possible, but overall it is efficient for the amount of information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description thoroughly explains the return values including qid, label, description, instanceOf, sameAs, sitelinks, Wikipedia summary, sections, and alternativeMatches. It also covers all four parameters and provides use cases. The tool is fully specified for an AI agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the description adds value beyond the schema by explaining how the 'name' parameter resolves to the top match and returns alternatives, and describes the effect of skipWikipedia. This provides deeper meaning for parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it resolves a brand/topic/person to a structured entity record built from Wikidata and Wikipedia. It lists the three ways to call it (name, qid, wikipediaTitle) and details the return fields. This distinguishes it from sibling tools like analyze_page or get_brand_overview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states to pass exactly one of name, qid, or wikipediaTitle. It also provides context for when to use the tool (entity-graph alignment checks, content briefs). However, it does not explicitly mention when not to use this tool or suggest alternatives, which would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_freshness_signalsAInspect
Pure parser (no fetching). Given HTML plus optional response headers and a sitemap entry for the same URL, extracts every freshness marker on the page — HTTP Last-Modified, sitemap lastmod, JSON-LD dateModified/datePublished (including @graph), OpenGraph article:modified_time/published_time, meta updated/dc.date.modified/dcterms.modified/itemprop dateModified, and the first labelled visible date (Last updated / Updated / Published). Returns per-source ISO dates, the freshest source, cross-source agreement spread, and heuristic flags (stale year in title, suspicious future date, only-published-not-modified, none-at-all). Powers the geo-aeo-readiness skill's freshness check — Last-Modified headers and dateModified JSON-LD are weighted heavily for AI grounding eligibility.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL the HTML was fetched from (for context) | |
| html | Yes | Full HTML of the page | |
| headers | No | Response headers as a plain object with lowercased keys (e.g. {"last-modified": "..."}) | |
| sitemapEntry | No | Parsed sitemap entry for this URL, e.g. {"lastmod": "2026-04-15"} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It fully discloses that the tool is a parser that does not fetch, lists all markers it extracts, and describes what it returns (per-source ISO dates, freshest source, cross-source spread, heuristic flags). This leaves no ambiguity about its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph but packs significant information efficiently. It front-loads 'Pure parser (no fetching)' as the key caveat. Every sentence adds value; however, it could be broken into smaller sections for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (four parameters including nested objects, no output schema), the description is remarkably complete. It explains the purpose of each parameter, enumerates all extracted markers, and describes the return value components (per-source dates, freshest source, spread, heuristic flags). It also ties the tool to a specific usage context (geo-aeo-readiness skill).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all four parameters. The tool description adds context beyond the schema: url is 'for context', headers are expected with 'lowercased keys', and sitemapEntry is a 'parsed sitemap entry'. It does not fully detail the structure of the output object but compensates by listing return fields in free text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'pure parser (no fetching)' and enumerates exactly which freshness markers it extracts (HTTP Last-Modified, sitemap lastmod, JSON-LD dates, etc.). It identifies the tool's resource (freshness markers in HTML) and distinguishes it from sibling tools like 'get_page' (which fetches) by emphasizing it does not fetch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies the tool is for extracting freshness signals and notes its use in the 'geo-aeo-readiness skill's freshness check'. It implies when to use (when you need to parse freshness markers from already-fetched HTML) but does not explicitly state when not to use it or provide direct comparisons to alternatives among the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchAInspect
Full-text search across every page on momenticmarketing.com (blog posts, research, the Google update tracker with each update's status and dates, case studies, Content Academy guides, Atlas, team pages, careers, the SEO news feed item by item, and Momentic's agent tools and skills), including pages published since Webflow's sitemap was last rebuilt. Returns up to 10 pages ranked by relevance (newest first when the query asks for the latest, newest or most recent; tracker pages by the date Google announced the update), each with its URL, title, content type, published date, author and the passage that best matches the query. Read a full page with get_page.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Optional: only pages of this content type. | |
| query | Yes | Search term or question | |
| format | No | Optional: json returns structured results (url, title, type, date, author, image, passage; tracker pages also tracker: status, announced, started, completed, kind). | |
| recent | No | Optional: newest first among relevant pages (also implied by words like latest, newest, most recent in the query). Tracker pages sort by the date Google announced the update. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the result cap (up to 10), relevance ranking, the newest-first ordering rule and its trigger words, the tracker-specific sort by Google announcement date, the per-result fields, and the important index-coverage caveat that pages published after Webflow's sitemap rebuild are included. It omits failure/empty-result behavior and whether queries are free-text or fielded, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose, then ordering behavior and the get_page handoff. The long parenthetical inventory of content types is dense but earns its place by defining the index scope; the sentence could still be trimmed without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must describe returns — and it does, listing URL, title, content type, published date, author and best-matching passage. Combined with ordering rules, result limits, and the get_page escape hatch, an agent has everything needed to call and consume this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so a 3 is the floor; the description goes beyond it by explaining that `recent` is implied by words like latest/newest/most recent, that tracker pages sort by Google's announcement date, and that `format=json` returns structured fields including tracker status/announced/started/completed/kind. The `type` enum values are already fully documented in the schema, so the marginal gain is modest rather than maximal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Full-text search across every page on momenticmarketing.com') and enumerates the indexed content types, so the agent knows exactly what corpus is covered. It also differentiates itself from the sibling get_page by routing the agent there for full-page reads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context (search when you need ranked, passage-level matches across the site) and names the follow-up alternative ('Read a full page with get_page'). It does not, however, address when to prefer list_pages or lookup_entity over search, so exclusions are incomplete.
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 tool update
- Added
ask_momentic
2 tool updates
- Changed
check_bots1 field changed- changed
Input schema / properties / userAgents / descriptionPrevious value: -"Optional UA strings to test. Defaults to GPTBot, ClaudeBot, Claude-Web, PerplexityBot, GoogleOther, Google-Extended, CCBot, Applebot-Extended, ChatGPT-User, meta-externalagent."New value: +"Optional UA strings to test. Defaults to the bots listed above (robots.txt tokens such as Google-Extended and Applebot-Extended are not probed)."
- Changed
search4 fields changed- added
Input schema / properties / formatAdded value: +{ + "description": "Optional: json returns structured results (url, title, type, date, author, image, passage; tracker pages also tracker: status, announced, started, completed, kind).", + "enum": [ + "text", + "json" + ], + "type": "string" +} - changed
Input schema / properties / query / descriptionPrevious value: -"Search term"New value: +"Search term or question" - added
Input schema / properties / recentAdded value: +{ + "description": "Optional: newest first among relevant pages (also implied by words like latest, newest, most recent in the query). Tracker pages sort by the date Google announced the update.", + "type": "boolean" +} - added
Input schema / properties / typeAdded value: +{ + "description": "Optional: only pages of this content type.", + "enum": [ + "research", + "blog", + "google-update", + "case-study", + "guide", + "atlas", + "event", + "team", + "service", + "news", + "agent", + "page" + ], + "type": "string" +}
11 tool updates
- First observed
analyze_page - First observed
analyze_site - First observed
check_bots - First observed
compute_link_graph - First observed
extract_links - First observed
get_brand_overview - First observed
get_page - First observed
list_pages - First observed
lookup_entity - First observed
parse_freshness_signals - First observed
search
Related MCP Connectors
Free SEO/GEO audits of public websites and AI answer-engine citation checks. No login or API key.
Free technical SEO, AEO, LLMO and GEO checks for AI agents: check a page, fix it, verify the fix.
Live AEO, GEO, JSON-LD Schema, robots.txt AI crawler, and Agent Readiness diagnostic auditor.
Free AI visibility and GEO audit: see what AI reads on your site and whether its answers cite you.
Related MCP Servers
AlicenseAqualityCmaintenanceLets any AI agent audit any website for SEO, GEO/AEO, and speed problems, reporting issues and recommendations without modifying the site.4MIT- 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
- AlicenseAqualityCmaintenanceFree SEO + GEO (AI-search-citation) analysis for AI assistants: full SEO audits, AI-crawler-access checks (GPTBot/ClaudeBot/PerplexityBot), Core Web Vitals, structured data, security headers, mobile, and images. No signup, no API key, nothing sent to any server - runs entirely on the user's machine.13378 npm1MIT
- AlicenseAqualityCmaintenanceEnables auditing, comparing, and optimizing websites for AI readiness, performance, SEO, AEO, GEO, and AI crawler accessibility.4MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.