Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,536Letters: 14Defects: 1,322counted 3 min ago
teppi

Server definition

Hash
sha256:b177fd85619db9d68e86660c95e8f81f5a9424e3d908f0f13303e2434a053c4d
What it is
What a remote MCP server returned when asked what it offers: 11 tools

The blob, as servednamed by its sha256

{ "instructions": "Read-only MCP for Momentic + general SEO/GEO audit tooling. Momentic-specific: get_brand_overview, list_pages, get_page, search. General-purpose: analyze_page (any URL), analyze_site (any domain). Companion skills at /.well-known/agent-skills/.", "tools": [ { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "url": { "description": "Absolute http(s) URL", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "analyze_page", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "domain": { "description": "Root domain or full URL (e.g. \"example.com\" or \"https://example.com\")", "type": "string" } }, "required": [ "domain" ], "type": "object" }, "name": "analyze_site", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "timeoutMs": { "description": "Per-fetch timeout in ms (default 5000)", "type": "number" }, "url": { "description": "Absolute http(s) URL to probe", "type": "string" }, "userAgents": { "description": "Optional UA strings to test. Defaults to GPTBot, ClaudeBot, Claude-Web, PerplexityBot, GoogleOther, Google-Extended, CCBot, Applebot-Extended, ChatGPT-User, meta-externalagent.", "items": { "type": "string" }, "type": "array" } }, "required": [ "url" ], "type": "object" }, "name": "check_bots", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "options": { "additionalProperties": false, "properties": { "authorityCount": { "description": "Number of top authorities to return. Default 10.", "type": "number" }, "findMentions": { "description": "Default false. If true (and pages include title+bodyText), include mentioned-not-linked suggestions. O(N^2) — slow on large inputs.", "type": "boolean" }, "hubCount": { "description": "Number of top hubs to return. Default 10.", "type": "number" }, "normalizeUrls": { "description": "Default true. Strip trailing slashes, lowercase host, drop tracking params.", "type": "boolean" }, "rankingLimit": { "description": "Max ranking entries to return. Default 50.", "type": "number" } }, "type": "object" }, "pages": { "description": "Array of crawled pages", "items": { "properties": { "bodyText": { "type": "string" }, "internalLinks": { "items": { "properties": { "anchor": { "type": [ "string", "null" ] }, "href": { "type": "string" } }, "required": [ "href" ], "type": "object" }, "type": "array" }, "title": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url", "internalLinks" ], "type": "object" }, "type": "array" } }, "required": [ "pages" ], "type": "object" }, "name": "compute_link_graph", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "baseUrl": { "description": "Absolute URL of the page (used to resolve relative links and identify internal vs external)", "type": "string" }, "html": { "description": "Raw HTML of the page", "type": "string" } }, "required": [ "html", "baseUrl" ], "type": "object" }, "name": "extract_links", "outputSchema": null }, { "description": "Returns the canonical AI-readable description of Momentic from /llms.txt. Use for authoritative brand info, positioning, services, and contact.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_brand_overview", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "path": { "description": "Absolute path or full URL on momenticmarketing.com", "type": "string" } }, "required": [ "path" ], "type": "object" }, "name": "get_page", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "section": { "description": "Section slug (e.g. \"team\", \"case-studies\"). Omit to list all.", "type": "string" } }, "type": "object" }, "name": "list_pages", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "oneOf": [ { "required": [ "name" ] }, { "required": [ "qid" ] }, { "required": [ "wikipediaTitle" ] } ], "properties": { "name": { "description": "Brand/topic/person name to search Wikidata for. The top match is resolved; runners-up are returned in alternativeMatches.", "type": "string" }, "qid": { "description": "Wikidata Q-number (e.g. \"Q12345\") to fetch directly, skipping search.", "pattern": "^[Qq][0-9]+$", "type": "string" }, "skipWikipedia": { "description": "If true, return Wikidata-only (no Wikipedia summary/sections). Default false.", "type": "boolean" }, "wikipediaTitle": { "description": "English Wikipedia article title (e.g. \"Acme_Corporation\"). Resolves to QID via pageprops, then proceeds.", "type": "string" } }, "type": "object" }, "name": "lookup_entity", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "headers": { "additionalProperties": { "type": "string" }, "description": "Response headers as a plain object with lowercased keys (e.g. {\"last-modified\": \"...\"})", "type": "object" }, "html": { "description": "Full HTML of the page", "type": "string" }, "sitemapEntry": { "additionalProperties": true, "description": "Parsed sitemap entry for this URL, e.g. {\"lastmod\": \"2026-04-15\"}", "properties": { "lastmod": { "type": "string" } }, "type": "object" }, "url": { "description": "URL the HTML was fetched from (for context)", "type": "string" } }, "required": [ "html" ], "type": "object" }, "name": "parse_freshness_signals", "outputSchema": null }, { "description": "Searches across Momentic page URLs from sitemap.xml (case-insensitive substring match on URL). For deeper search, fetch matching pages with get_page.", "inputSchema": { "additionalProperties": false, "properties": { "query": { "description": "Search term", "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "search", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:b177fd85619db9d68e86660c95e8f81f5a9424e3d908f0f13303e2434a053c4d | sha256sum