addrbookFor publishers
← The evidence ledger

Evidence row 1016816

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 520cf34f-1653-456d-91a8-9721b88f2a5d
Recorded
Previous row
#562103
Body SHA-256
4d8d1bc634e351fc86fd5d96c5f83218633e1fb33c1ee71ee522250724b0b143
Leaf
0x6b5ad9473ab1ad2cf5991186fbf31dfa24255008cb9e2ff0193888a5a5beed0d

What was observed

{
  "count": 63,
  "tools": [
    {
      "description": "Ad Copy Generator: Generate ad headlines and descriptions. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "platform": {
            "description": "Optional ad platform, e.g. Google, Meta.",
            "type": "string"
          },
          "product": {
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "product"
        ],
        "type": "object"
      },
      "name": "ad-copy-generator"
    },
    {
      "description": "Score content (0-100) for how easily AI answer engines (ChatGPT, Perplexity, AI Overviews) can quote it, with specific fixes.",
      "inputSchema": {
        "properties": {
          "text": {
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "aeo-checker"
    },
    {
      "description": "Check a robots.txt to see which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, ...) it currently allows or blocks.",
      "inputSchema": {
        "properties": {
          "robotsTxt": {
            "description": "The contents of a robots.txt file.",
            "type": "string"
          }
        },
        "required": [
          "robotsTxt"
        ],
        "type": "object"
      },
      "name": "ai-crawler-checker"
    },
    {
      "description": "Generate prompts to test whether ChatGPT/Perplexity/Gemini/Claude recommend a brand, and where it's invisible.",
      "inputSchema": {
        "properties": {
          "audience": {
            "type": "string"
          },
          "brand": {
            "type": "string"
          },
          "category": {
            "description": "What the brand does / its category.",
            "type": "string"
          },
          "competitors": {
            "description": "Competitor names (array, or a comma-separated string).",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "brand",
          "category"
        ],
        "type": "object"
      },
      "name": "ai-prompt-generator"
    },
    {
      "description": "Free, no-signup SEO snapshot for any domain: the queries it already ranks on page 1-2 for (its quick-win opportunities), with search volume and estimated traffic. Great first look before signing up.",
      "inputSchema": {
        "properties": {
          "domain": {
            "description": "A domain, e.g. example.com",
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "analyze_domain"
    },
    {
      "description": "AI Article Rewriter: Rephrase text to be clearer, unique, and engaging. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "text": {
            "type": "string"
          },
          "tone": {
            "description": "Optional target tone.",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "article-rewriter"
    },
    {
      "description": "AI Article Summarizer: Condense an article into a TL;DR, key points, and summary. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "text": {
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "article-summarizer"
    },
    {
      "description": "Blog Keyword Generator: Generate SEO keyword ideas for a topic, with search intent and difficulty. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "topic"
        ],
        "type": "object"
      },
      "name": "blog-keyword-generator"
    },
    {
      "description": "Blog Outline Generator: Produce a structured, SEO-friendly blog post outline. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "topic"
        ],
        "type": "object"
      },
      "name": "blog-outline-generator"
    },
    {
      "description": "Business Name Generator: Generate brandable business name ideas. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "keywords": {
            "description": "Optional words to work in.",
            "type": "string"
          },
          "style": {
            "description": "Optional naming style.",
            "type": "string"
          },
          "topic": {
            "description": "What the business is about.",
            "type": "string"
          }
        },
        "required": [
          "topic"
        ],
        "type": "object"
      },
      "name": "business-name-generator"
    },
    {
      "description": "Generate a rel=canonical link tag for a URL.",
      "inputSchema": {
        "properties": {
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "canonical-tag-generator"
    },
    {
      "description": "Count characters (with and without spaces), words, sentences, and paragraphs in text.",
      "inputSchema": {
        "properties": {
          "text": {
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "character-counter"
    },
    {
      "description": "Content Brief Generator: Create a detailed SEO content brief for a target keyword. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "audience": {
            "description": "Optional target audience.",
            "type": "string"
          },
          "keyword": {
            "type": "string"
          }
        },
        "required": [
          "keyword"
        ],
        "type": "object"
      },
      "name": "content-brief-generator"
    },
    {
      "description": "Content Coverage Checker: List the terms and entities an article targeting a keyword is expected to cover. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "keyword": {
            "type": "string"
          },
          "language": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "content-coverage-checker"
    },
    {
      "description": "Content Idea Generator: Generate content ideas with formats and angles for a niche. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "topic"
        ],
        "type": "object"
      },
      "name": "content-idea-generator"
    },
    {
      "description": "Calculate Conversion rate.",
      "inputSchema": {
        "properties": {
          "conversions": {
            "description": "Conversions",
            "type": "number"
          },
          "visitors": {
            "description": "Visitors",
            "type": "number"
          }
        },
        "required": [
          "conversions",
          "visitors"
        ],
        "type": "object"
      },
      "name": "conversion-rate-calculator"
    },
    {
      "description": "Calculate Cost per click (CPC).",
      "inputSchema": {
        "properties": {
          "clicks": {
            "description": "Clicks",
            "type": "number"
          },
          "cost": {
            "description": "Total cost",
            "type": "number"
          }
        },
        "required": [
          "cost",
          "clicks"
        ],
        "type": "object"
      },
      "name": "cpc-calculator"
    },
    {
      "description": "Calculate Cost per 1,000 impressions (CPM).",
      "inputSchema": {
        "properties": {
          "cost": {
            "description": "Total cost",
            "type": "number"
          },
          "impressions": {
            "description": "Impressions",
            "type": "number"
          }
        },
        "required": [
          "cost",
          "impressions"
        ],
        "type": "object"
      },
      "name": "cpm-calculator"
    },
    {
      "description": "Get a Stripe Checkout URL to add the first paid site to the account. Return the URL to the user to approve payment. Needed before create_site if the account has no available slot. (requires an agent API key)",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "create_checkout"
    },
    {
      "description": "Add a new site to the account. Language/market is auto-detected from the homepage. Requires an available paid site slot (use create_checkout first if none). Returns the new siteId. (requires an agent API key)",
      "inputSchema": {
        "properties": {
          "brandVoice": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "domain": {
            "description": "Bare domain, e.g. example.com",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "niche": {
            "type": "string"
          },
          "publishIntegration": {
            "enum": [
              "none",
              "webhook",
              "wordpress",
              "ghost",
              "shopify",
              "webflow",
              "rest",
              "nextjs"
            ],
            "type": "string"
          },
          "publishWebhookUrl": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "domain"
        ],
        "type": "object"
      },
      "name": "create_site"
    },
    {
      "description": "CTA Generator: Write effective call-to-action phrases. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "goal": {
            "description": "Optional CTA goal, e.g. sign up, buy.",
            "type": "string"
          },
          "product": {
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "product"
        ],
        "type": "object"
      },
      "name": "cta-generator"
    },
    {
      "description": "Calculate Click-through rate.",
      "inputSchema": {
        "properties": {
          "clicks": {
            "description": "Clicks",
            "type": "number"
          },
          "impressions": {
            "description": "Impressions",
            "type": "number"
          }
        },
        "required": [
          "clicks",
          "impressions"
        ],
        "type": "object"
      },
      "name": "ctr-calculator"
    },
    {
      "description": "FAQ Generator: Generate a set of frequently asked questions and answers for a topic. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "topic"
        ],
        "type": "object"
      },
      "name": "faq-generator"
    },
    {
      "description": "Generate a new SEO article draft for a site targeting a search query. Returns an articleId immediately; generation runs in the background - poll get_article/list_articles, or pass callbackUrl to be notified. Idempotent per query (a repeat returns the existing article). Requires an active subscription. (requires an agent API key)",
      "inputSchema": {
        "properties": {
          "callbackUrl": {
            "description": "Optional https URL to POST { articleId, status, ... } to when generation finishes.",
            "type": "string"
          },
          "query": {
            "description": "The search query the article should target.",
            "type": "string"
          },
          "siteId": {
            "type": "string"
          }
        },
        "required": [
          "siteId",
          "query"
        ],
        "type": "object"
      },
      "name": "generate_article"
    },
    {
      "description": "Fetch one article by id: full markdown body, meta, FAQs, SEO score, status, and published URL. Use to review a draft before publishing. (requires an agent API key)",
      "inputSchema": {
        "properties": {
          "articleId": {
            "type": "string"
          }
        },
        "required": [
          "articleId"
        ],
        "type": "object"
      },
      "name": "get_article"
    },
    {
      "description": "Get one site's details and status by its id. (requires an agent API key)",
      "inputSchema": {
        "properties": {
          "siteId": {
            "type": "string"
          }
        },
        "required": [
          "siteId"
        ],
        "type": "object"
      },
      "name": "get_site"
    },
    {
      "description": "Read a site's performance: daily Search Console clicks/impressions trend plus cached SEO metrics (domain rating, organic traffic estimate, top keywords). No cost. Use to check whether Spook is working. (requires an agent API key)",
      "inputSchema": {
        "properties": {
          "days": {
            "default": 28,
            "type": "integer"
          },
          "siteId": {
            "type": "string"
          }
        },
        "required": [
          "siteId"
        ],
        "type": "object"
      },
      "name": "get_site_metrics"
    },
    {
      "description": "AI Grammar Checker: Fix grammar, spelling, and punctuation, and list the corrections. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "text": {
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "grammar-checker"
    },
    {
      "description": "Hashtag Generator: Generate relevant hashtags for a topic and platform. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "platform": {
            "description": "Optional network, e.g. Instagram, TikTok.",
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "topic"
        ],
        "type": "object"
      },
      "name": "hashtag-generator"
    },
    {
      "description": "Score a headline (0-100) on length, word balance, power/emotional words, numbers, and brackets.",
      "inputSchema": {
        "properties": {
          "headline": {
            "type": "string"
          }
        },
        "required": [
          "headline"
        ],
        "type": "object"
      },
      "name": "headline-analyzer"
    },
    {
      "description": "Headline Generator: Generate catchy, click-worthy headlines. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "topic"
        ],
        "type": "object"
      },
      "name": "headline-generator"
    },
    {
      "description": "Generate hreflang link tags for international/multilingual pages, plus an optional x-default.",
      "inputSchema": {
        "properties": {
          "rows": {
            "items": {
              "properties": {
                "lang": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "xDefault": {
            "type": "string"
          }
        },
        "required": [
          "rows"
        ],
        "type": "object"
      },
      "name": "hreflang-generator"
    },
    {
      "description": "Analyze text for the most frequent words and phrases with their density, to spot keyword stuffing or thin coverage.",
      "inputSchema": {
        "properties": {
          "limit": {
            "default": 15,
            "type": "integer"
          },
          "n": {
            "default": 1,
            "description": "Phrase length (n-gram).",
            "enum": [
              1,
              2,
              3
            ],
            "type": "integer"
          },
          "removeStopwords": {
            "default": true,
            "type": "boolean"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "keyword-density-checker"
    },
    {
      "description": "Recent articles for a site with their status (draft/review/published) and generation status. (requires an agent API key)",
      "inputSchema": {
        "properties": {
          "limit": {
            "default": 20,
            "type": "integer"
          },
          "siteId": {
            "type": "string"
          }
        },
        "required": [
          "siteId"
        ],
        "type": "object"
      },
      "name": "list_articles"
    },
    {
      "description": "Read a site's content calendar: the query booked on each publish day, whether it has a writing brief, and its article's status. Defaults to the next two months. Autopilot writes each booked query a day ahead and publishes it on its day. (requires an agent API key)",
      "inputSchema": {
        "properties": {
          "from": {
            "description": "YYYY-MM-DD, default yesterday",
            "type": "string"
          },
          "siteId": {
            "type": "string"
          },
          "to": {
            "description": "YYYY-MM-DD, default two months on",
            "type": "string"
          }
        },
        "required": [
          "siteId"
        ],
        "type": "object"
      },
      "name": "list_calendar"
    },
    {
      "description": "The winnable search queries Spook has found for a site (scored, ranked). No cost. Pass questionsOnly to get only question-shaped queries. (requires an agent API key)",
      "inputSchema": {
        "properties": {
          "limit": {
            "default": 20,
            "type": "integer"
          },
          "questionsOnly": {
            "type": "boolean"
          },
          "siteId": {
            "type": "string"
          }
        },
        "required": [
          "siteId"
        ],
        "type": "object"
      },
      "name": "list_opportunities"
    },
    {
      "description": "List the Spook sites on the account this API key belongs to, with each site's id, domain, autopilot state, and publishing setup. (requires an agent API key)",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "list_sites"
    },
    {
      "description": "Generate an llms.txt file from a site name, one-line summary, optional details, and sections of links.",
      "inputSchema": {
        "properties": {
          "details": {
            "type": "string"
          },
          "sections": {
            "items": {
              "properties": {
                "links": {
                  "items": {
                    "properties": {
                      "notes": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "title": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "siteName": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          }
        },
        "required": [
          "siteName"
        ],
        "type": "object"
      },
      "name": "llms-txt-generator"
    },
    {
      "description": "Meta Description Generator: Write SEO meta descriptions that maximize click-through rate. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "keyword": {
            "type": "string"
          },
          "tone": {
            "description": "Optional tone, e.g. professional, playful.",
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "keyword"
        ],
        "type": "object"
      },
      "name": "meta-description-generator"
    },
    {
      "description": "Build a meta robots tag (and X-Robots-Tag header) from index/follow and snippet directives.",
      "inputSchema": {
        "properties": {
          "follow": {
            "default": true,
            "type": "boolean"
          },
          "index": {
            "default": true,
            "type": "boolean"
          },
          "maxImagePreview": {
            "enum": [
              "",
              "none",
              "standard",
              "large"
            ],
            "type": "string"
          },
          "maxSnippet": {
            "type": "string"
          },
          "maxVideoPreview": {
            "type": "string"
          },
          "noarchive": {
            "type": "boolean"
          },
          "noimageindex": {
            "type": "boolean"
          },
          "nosnippet": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "meta-robots-generator"
    },
    {
      "description": "Generate a complete set of HTML meta tags: title, description, canonical, Open Graph, and Twitter Cards.",
      "inputSchema": {
        "properties": {
          "description": {
            "type": "string"
          },
          "image": {
            "description": "Social share image URL.",
            "type": "string"
          },
          "ogType": {
            "default": "website",
            "enum": [
              "website",
              "article",
              "product",
              "profile"
            ],
            "type": "string"
          },
          "siteName": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "twitter": {
            "description": "Twitter handle.",
            "type": "string"
          },
          "url": {
            "description": "Canonical URL.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "meta-tag-generator"
    },
    {
      "description": "Paragraph Generator: Expand a topic or sentence into a well-written paragraph. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "tone": {
            "description": "Optional tone.",
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "topic"
        ],
        "type": "object"
      },
      "name": "paragraph-generator"
    },
    {
      "description": "Product Description Generator: Write persuasive product descriptions. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "features": {
            "description": "Optional key features.",
            "type": "string"
          },
          "product": {
            "type": "string"
          }
        },
        "required": [
          "product"
        ],
        "type": "object"
      },
      "name": "product-description-generator"
    },
    {
      "description": "Publish a generated article to the site's connected CMS. Enforces Spook's SEO-score floor - a draft below it is refused (returns published:false with a reason). (requires an agent API key)",
      "inputSchema": {
        "properties": {
          "articleId": {
            "type": "string"
          }
        },
        "required": [
          "articleId"
        ],
        "type": "object"
      },
      "name": "publish_article"
    },
    {
      "description": "Score text readability with Flesch Reading Ease and Flesch-Kincaid Grade, plus a reading level.",
      "inputSchema": {
        "properties": {
          "text": {
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "readability-checker"
    },
    {
      "description": "Calculate ROAS, ROAS (percentage).",
      "inputSchema": {
        "properties": {
          "adSpend": {
            "description": "Ad spend",
            "type": "number"
          },
          "revenue": {
            "description": "Revenue from ads",
            "type": "number"
          }
        },
        "required": [
          "revenue",
          "adSpend"
        ],
        "type": "object"
      },
      "name": "roas-calculator"
    },
    {
      "description": "Build a valid robots.txt: allow or block crawlers, disallow paths, block specific bots, and link a sitemap.",
      "inputSchema": {
        "properties": {
          "blockedBots": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "crawlDelay": {
            "type": "number"
          },
          "disallow": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "mode": {
            "default": "allow",
            "enum": [
              "allow",
              "disallow"
            ],
            "type": "string"
          },
          "sitemap": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "robots-txt-generator"
    },
    {
      "description": "Test whether a robots.txt allows or blocks a given URL path for a given user-agent.",
      "inputSchema": {
        "properties": {
          "robotsTxt": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "userAgent": {
            "default": "*",
            "type": "string"
          }
        },
        "required": [
          "robotsTxt",
          "url"
        ],
        "type": "object"
      },
      "name": "robots-txt-tester"
    },
    {
      "description": "Book a query on a calendar day so autopilot writes and publishes it then, optionally with a writing brief for that article. By default the unpublished post already on that day goes back to the idea pool (returned as displaced); set replaceExisting false to add alongside it. (requires an agent API key)",
      "inputSchema": {
        "properties": {
          "articleInstructions": {
            "description": "Brief for this article: angle, facts to use, things to avoid",
            "type": "string"
          },
          "date": {
            "description": "YYYY-MM-DD",
            "type": "string"
          },
          "query": {
            "description": "The search query the article targets",
            "type": "string"
          },
          "replaceExisting": {
            "default": true,
            "type": "boolean"
          },
          "siteId": {
            "type": "string"
          }
        },
        "required": [
          "siteId",
          "query",
          "date"
        ],
        "type": "object"
      },
      "name": "schedule_query"
    },
    {
      "description": "Build valid JSON-LD structured data (FAQ, Article, Organization, or Product) for rich results.",
      "inputSchema": {
        "properties": {
          "article": {
            "type": "object"
          },
          "faqs": {
            "items": {
              "properties": {
                "a": {
                  "type": "string"
                },
                "q": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "organization": {
            "type": "object"
          },
          "product": {
            "type": "object"
          },
          "type": {
            "enum": [
              "FAQ",
              "Article",
              "Organization",
              "Product"
            ],
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "type": "object"
      },
      "name": "schema-generator"
    },
    {
      "description": "SEO Title Generator: Write catchy, SEO-friendly title tags for a topic. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "keyword": {
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "keyword"
        ],
        "type": "object"
      },
      "name": "seo-title-generator"
    },
    {
      "description": "Preview how a page's title and meta description render in Google search, with pixel-width truncation for desktop and mobile.",
      "inputSchema": {
        "properties": {
          "description": {
            "description": "The meta description.",
            "type": "string"
          },
          "device": {
            "default": "desktop",
            "enum": [
              "desktop",
              "mobile"
            ],
            "type": "string"
          },
          "title": {
            "description": "The page title tag.",
            "type": "string"
          },
          "url": {
            "description": "The page URL.",
            "type": "string"
          }
        },
        "required": [
          "title"
        ],
        "type": "object"
      },
      "name": "serp-preview"
    },
    {
      "description": "Turn a site's autopilot on or off. When on, Spook plans, writes, and publishes articles automatically. (requires an agent API key)",
      "inputSchema": {
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "siteId": {
            "type": "string"
          }
        },
        "required": [
          "siteId",
          "enabled"
        ],
        "type": "object"
      },
      "name": "set_autopilot"
    },
    {
      "description": "Build an XML sitemap from a list of URLs, with an optional lastmod date.",
      "inputSchema": {
        "properties": {
          "lastmod": {
            "type": "string"
          },
          "urls": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "urls"
        ],
        "type": "object"
      },
      "name": "sitemap-generator"
    },
    {
      "description": "Turn a title into a clean, SEO-friendly URL slug: lowercase, hyphenated, accent-safe, optional stopword removal.",
      "inputSchema": {
        "properties": {
          "removeStopwords": {
            "default": true,
            "type": "boolean"
          },
          "separator": {
            "default": "-",
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "slug-generator"
    },
    {
      "description": "Social Media Post Generator: Write platform-specific social media posts. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "platform": {
            "description": "Optional network, e.g. LinkedIn, X.",
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "topic"
        ],
        "type": "object"
      },
      "name": "social-post-generator"
    },
    {
      "description": "Email Subject Line Generator: Write high-converting email subject lines. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "topic"
        ],
        "type": "object"
      },
      "name": "subject-line-generator"
    },
    {
      "description": "Edit an article's text: title, slug (drafts only), teaser, featured snippet, markdown body, FAQs, meta title/description or featured image alt. Only the fields you send change; HTML, SEO score and AI-phrase flags are recomputed as in the editor. Pass get_article's contentFingerprint as baseFingerprint to refuse the write if the article changed meanwhile. Hosted Next.js blogs serve the edit automatically; for other CMSs call publish_article again when republishNeeded is true. (requires an agent API key)",
      "inputSchema": {
        "properties": {
          "articleId": {
            "type": "string"
          },
          "baseFingerprint": {
            "description": "contentFingerprint from get_article; the edit is refused if the article changed since",
            "type": "string"
          },
          "contentMarkdown": {
            "description": "The full markdown body (replaces it)",
            "type": "string"
          },
          "faqs": {
            "description": "The full FAQ list (replaces it)",
            "items": {
              "properties": {
                "answer": {
                  "type": "string"
                },
                "question": {
                  "type": "string"
                }
              },
              "required": [
                "question",
                "answer"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "featuredImageAlt": {
            "type": "string"
          },
          "featuredSnippet": {
            "type": "string"
          },
          "metaDescription": {
            "type": "string"
          },
          "metaTitle": {
            "type": "string"
          },
          "slug": {
            "description": "Only for unpublished articles",
            "type": "string"
          },
          "teaser": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "articleId"
        ],
        "type": "object"
      },
      "name": "update_article"
    },
    {
      "description": "Configure where a site publishes. Set publishIntegration to 'nextjs' for a credential-free Spook-hosted blog (returns a blog API key), or 'webhook' with publishWebhookUrl. publishMode 'draft' or 'live'. (requires an agent API key)",
      "inputSchema": {
        "properties": {
          "publishIntegration": {
            "enum": [
              "none",
              "webhook",
              "wordpress",
              "ghost",
              "shopify",
              "webflow",
              "rest",
              "nextjs"
            ],
            "type": "string"
          },
          "publishMode": {
            "enum": [
              "draft",
              "live"
            ],
            "type": "string"
          },
          "publishWebhookSecret": {
            "type": "string"
          },
          "publishWebhookUrl": {
            "type": "string"
          },
          "siteId": {
            "type": "string"
          }
        },
        "required": [
          "siteId"
        ],
        "type": "object"
      },
      "name": "update_publishing"
    },
    {
      "description": "Set a site's writing settings: globalArticleInstructions (injected into every article Spook writes or improves for the site; an empty string restores the default self-promotion instructions), brandVoice and description. Only the fields you send change. (requires an agent API key)",
      "inputSchema": {
        "properties": {
          "brandVoice": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "globalArticleInstructions": {
            "type": "string"
          },
          "siteId": {
            "type": "string"
          }
        },
        "required": [
          "siteId"
        ],
        "type": "object"
      },
      "name": "update_site_writing"
    },
    {
      "description": "Append UTM tracking parameters (source, medium, campaign, term, content) to a destination URL.",
      "inputSchema": {
        "properties": {
          "campaign": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "medium": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "term": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url",
          "source",
          "medium",
          "campaign"
        ],
        "type": "object"
      },
      "name": "utm-builder"
    },
    {
      "description": "Count words, characters, sentences, and paragraphs in text, plus reading and speaking time.",
      "inputSchema": {
        "properties": {
          "text": {
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "word-counter"
    },
    {
      "description": "YouTube Title & Description Generator: Write a YouTube title, description, and tags for a video topic. (free, AI-generated, rate-limited).",
      "inputSchema": {
        "properties": {
          "topic": {
            "type": "string"
          }
        },
        "required": [
          "topic"
        ],
        "type": "object"
      },
      "name": "youtube-title-generator"
    }
  ]
}

What the leaf hashes

{"body":"4d8d1bc634e351fc86fd5d96c5f83218633e1fb33c1ee71ee522250724b0b143","id":1016816,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793274123619084,"prev":562103,"subject":"520cf34f-1653-456d-91a8-9721b88f2a5d","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (242798 rows).

  1. 0x6b5b29776580c42a2d4f62f9db06b61db4b480062efd893f74fa44047777b811
  2. 0x249d1f75d0f5a58eae2fefddbfc83f264085a050f1f5caef23b0f4e6578e251a
  3. 0x32075b800728ea0126ef76a4f2a397e7ae7a6ec8e5d94471847e1a10ce5ecbff
  4. 0x53f716e4988b5aaa805db595f06a4dd176a76c2e6e00c05bb1079f1e98d1fbce
  5. 0xb59e077330895fb917e3b05a1d9c722bf19b75c986f9775b44aa0ce0f48c25bb
  6. 0x2c8a6cb4eaca20171c27858ed29660895193827d635b46a66f8d253d6f6a7a46
  7. 0xbf196fbf8a1ef0d814afeb04c311c52d189a46eece489bf92f1e3cfc019d4966
  8. 0xdcc0cdcf5e0f6857a99fbba28f32c6f8ce78d14db73413cc0d81193a98eb68dd
  9. 0x95e06acbe64c954335eedb0f7a7506128cb729ab782805a99998e863433db15a
  10. 0xcd98828af8fa17ea437ac184a4c179255f294199b0d003df52f165555d0634a1
  11. 0xba53603ad601877200697ac6584211ddfb0d6a9ca84b94892037ea09f28ba05d
  12. 0xd1b026958b87e7817d492c5f8133035d465e6221f158dbb4a44448c14b220dbc
  13. 0x0a70f94ba839c32042590eb96f6114034cb5b3ed8dd1b48fb4158efe13cb8084
  14. 0xec2e740df411d32a080c5e65c8b0ca511ad665b213532cee58525a97aebd2893
  15. 0x60b5befbd81f025904c8a3936b7ba86e3245ad5b37c615d01d42aa3227e3ed2e
  16. 0xe2d603cd6f987214550319ad4fa39952b6098bc5c1b20893b6b80e8d82a79934
  17. 0x91f12a2db1e2c1be07cbe4de3981a37a33051a36d3c3eee5a260804add6d1d75
  18. 0xd56e61af23709ed9f460471e3c08400c0142ee83e1fd9057e46350d12edf9c07
Day root
0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c
Chained
0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6
Published
On Arc Testnet, block 69753317: 0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1

How to check it · This row as JSON