momentic
Free SEO, GEO, and AEO audits: analyze any page or domain, AI-crawler access, agent readiness.
使うべきか
品質と安全性
検出事項(3)
- HIGH
- MEDIUManalyze_site 内
- MEDIUMlookup_entity 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"momentic": {
"url": "https://momenticmarketing.com/mcp"
}
}
}リモートエンドポイント
https://momenticmarketing.com/mcpstreamable-httpできること
ツール一覧
ツール(11)
🟢get_brand_overview
Returns the canonical AI-readable description of Momentic from /llms.txt. Use for authoritative brand info, positioning, services, and contact.
入力スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢list_pages(section)
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.
入力スキーマ
{
"type": "object",
"properties": {
"section": {
"type": "string",
"description": "Section slug (e.g. \"team\", \"case-studies\"). Omit to list all."
}
},
"additionalProperties": false
}🟢get_page(path)
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.
入力スキーマ
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Absolute path or full URL on momenticmarketing.com"
}
},
"required": [
"path"
],
"additionalProperties": false
}🟢search(query)
Searches across Momentic page URLs from sitemap.xml (case-insensitive substring match on URL). For deeper search, fetch matching pages with get_page.
入力スキーマ
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search term"
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢analyze_page(url)
Fetches any public URL and returns structured on-page SEO signals: title, meta description, canonical, lang, heading counts, JSON-LD schema types, OpenGraph/Twitter cards, internal/external link counts, word count, and whether Cloudflare Markdown for Agents (Accept: text/markdown) returns markdown for this URL. Designed to power the page-seo-score and geo-aeo-readiness skills.
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL"
}
},
"required": [
"url"
],
"additionalProperties": false
}🟢analyze_site(domain)
Probes a domain root for site-wide AI-discovery signals: /llms.txt, /robots.txt (parsed AI-bot rules for GPTBot/ClaudeBot/PerplexityBot/GoogleOther/CCBot/Google-Extended/Applebot-Extended), /sitemap.xml (URL count + sections), /.well-known/agent-skills/index.json, /.well-known/api-catalog, /.well-known/mcp/server-card.json, and homepage Link header.
入力スキーマ
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Root domain or full URL (e.g. \"example.com\" or \"https://example.com\")"
}
},
"required": [
"domain"
],
"additionalProperties": false
}🟢check_bots(url, userAgents, timeoutMs)
Probes a URL with multiple AI bot user-agents in parallel and returns per-bot reachability (status, key WAF/CDN headers, and a verdict). Reveals WAF/CDN-layer blocks that robots.txt audits miss — e.g. a site that allows GPTBot in robots.txt but returns 403 to it at Cloudflare. Verdicts: reachable, blocked-403, challenged-by-cdn, rate-limited-429, server-error-5xx, redirected-to-block-page, timeout, fetch-error. The summary.blockingPattern field names exactly which bots got blocked when others got through.
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL to probe"
},
"userAgents": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional UA strings to test. Defaults to GPTBot, ClaudeBot, Claude-Web, PerplexityBot, GoogleOther, Google-Extended, CCBot, Applebot-Extended, ChatGPT-User, meta-externalagent."
},
"timeoutMs": {
"type": "number",
"description": "Per-fetch timeout in ms (default 5000)"
}
},
"required": [
"url"
],
"additionalProperties": false
}🟢parse_freshness_signals(html, headers, sitemapEntry, url)
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.
入力スキーマ
{
"type": "object",
"properties": {
"html": {
"type": "string",
"description": "Full HTML of the page"
},
"headers": {
"type": "object",
"description": "Response headers as a plain object with lowercased keys (e.g. {\"last-modified\": \"...\"})",
"additionalProperties": {
"type": "string"
}
},
"sitemapEntry": {
"type": "object",
"description": "Parsed sitemap entry for this URL, e.g. {\"lastmod\": \"2026-04-15\"}",
"properties": {
"lastmod": {
"type": "string"
}
},
"additionalProperties": true
},
"url": {
"type": "string",
"description": "URL the HTML was fetched from (for context)"
}
},
"required": [
"html"
],
"additionalProperties": false
}🟢extract_links(html, baseUrl)
Pure HTML parser. Given a single page's HTML and its baseUrl, returns every <a href> 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.
入力スキーマ
{
"type": "object",
"properties": {
"html": {
"type": "string",
"description": "Raw HTML of the page"
},
"baseUrl": {
"type": "string",
"description": "Absolute URL of the page (used to resolve relative links and identify internal vs external)"
}
},
"required": [
"html",
"baseUrl"
],
"additionalProperties": false
}🟢compute_link_graph(pages, options)
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.
入力スキーマ
{
"type": "object",
"properties": {
"pages": {
"type": "array",
"description": "Array of crawled pages",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"internalLinks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"href": {
"type": "string"
},
"anchor": {
"type": [
"string",
"null"
]
}
},
"required": [
"href"
]
}
},
"title": {
"type": "string"
},
"bodyText": {
"type": "string"
}
},
"required": [
"url",
"internalLinks"
]
}
},
"options": {
"type": "object",
"properties": {
"normalizeUrls": {
"type": "boolean",
"description": "Default true. Strip trailing slashes, lowercase host, drop tracking params."
},
"hubCount": {
"type": "number",
"description": "Number of top hubs to return. Default 10."
},
"authorityCount": {
"type": "number",
"description": "Number of top authorities to return. Default 10."
},
"findMentions": {
"type": "boolean",
"description": "Default false. If true (and pages include title+bodyText), include mentioned-not-linked suggestions. O(N^2) — slow on large inputs."
},
"rankingLimit": {
"type": "number",
"description": "Max ranking entries to return. Default 50."
}
},
"additionalProperties": false
}
},
"required": [
"pages"
],
"additionalProperties": false
}🟢lookup_entity(name, qid, wikipediaTitle, skipWikipedia)
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.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Brand/topic/person name to search Wikidata for. The top match is resolved; runners-up are returned in alternativeMatches."
},
"qid": {
"type": "string",
"description": "Wikidata Q-number (e.g. \"Q12345\") to fetch directly, skipping search.",
"pattern": "^[Qq][0-9]+$"
},
"wikipediaTitle": {
"type": "string",
"description": "English Wikipedia article title (e.g. \"Acme_Corporation\"). Resolves to QID via pageprops, then proceeds."
},
"skipWikipedia": {
"type": "boolean",
"description": "If true, return Wikidata-only (no Wikipedia summary/sections). Default false."
}
},
"additionalProperties": false,
"oneOf": [
{
"required": [
"name"
]
},
{
"required": [
"qid"
]
},
{
"required": [
"wikipediaTitle"
]
}
]
}コミュニティ
エビデンス