← WebMCP Directory

Tool tree

agent-seo-studio.vercel.app

Productivity & BusinessTools verified
Website
A WebMCP-native studio where you and your AI agent audit websites for SEO and GEO (AI-search) readiness together.
Explore capabilities
    audit_websiteAction

    Audit a website for SEO and GEO (AI-search) readiness. Fetches the page server-side, measures load speed, structured data, meta tags, mobile-friendliness, headings, and content, then adds a results card to the on-screen workspace. Use this first for any site you want to analyze.

    View tool JSON
    {
      "name": "audit_website",
      "kind": "act",
      "impl": "imperative",
      "description": "Audit a website for SEO and GEO (AI-search) readiness. Fetches the page server-side, measures load speed, structured data, meta tags, mobile-friendliness, headings, and content, then adds a results card to the on-screen workspace. Use this first for any site you want to analyze.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The website to audit, e.g. \"example-bakery.com\" or \"https://example.com\"."
          },
          "businessName": {
            "type": "string",
            "description": "Optional business name, used to personalize the JSON-LD fix snippet, e.g. \"Example Bakery\"."
          }
        },
        "required": [
          "url"
        ]
      }
    }
    check_schemaAnswer

    Inspect a site's structured data (JSON-LD / schema.org markup) in detail — how many blocks, which @types, and whether any are malformed. Structured data is what lets AI assistants read a business's services, hours, and location. Audits the site first if it isn't already in the workspace.

    View tool JSON
    {
      "name": "check_schema",
      "kind": "answer",
      "impl": "imperative",
      "description": "Inspect a site's structured data (JSON-LD / schema.org markup) in detail — how many blocks, which @types, and whether any are malformed. Structured data is what lets AI assistants read a business's services, hours, and location. Audits the site first if it isn't already in the workspace.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The website to inspect for structured data."
          }
        },
        "required": [
          "url"
        ]
      }
    }
    check_webmcpAnswer

    Check whether a site is WebMCP-ready — i.e. whether it declares its own actions (document.modelContext.registerTool, or the zero-JS <form toolname=…> on-ramp) so a visitor's AI agent can ACT on it, not just read it. Reports the site's rung on the agent-reachability ladder and how confident the check is (a static server-fetch can't run JS that registers tools at runtime, so it says so honestly). Audits the site first if needed.

    View tool JSON
    {
      "name": "check_webmcp",
      "kind": "answer",
      "impl": "imperative",
      "description": "Check whether a site is WebMCP-ready — i.e. whether it declares its own actions (document.modelContext.registerTool, or the zero-JS <form toolname=…> on-ramp) so a visitor's AI agent can ACT on it, not just read it. Reports the site's rung on the agent-reachability ladder and how confident the check is (a static server-fetch can't run JS that registers tools at runtime, so it says so honestly). Audits the site first if needed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The website to check for WebMCP readiness."
          }
        },
        "required": [
          "url"
        ]
      }
    }
    score_geoAction

    Return the GEO-readiness score (0–100) and tier for a site — how ready it is to be read and cited by AI search engines like ChatGPT, Perplexity, and Gemini. Audits the site first if needed.

    View tool JSON
    {
      "name": "score_geo",
      "kind": "act",
      "impl": "imperative",
      "description": "Return the GEO-readiness score (0–100) and tier for a site — how ready it is to be read and cited by AI search engines like ChatGPT, Perplexity, and Gemini. Audits the site first if needed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The website to score."
          }
        },
        "required": [
          "url"
        ]
      }
    }
    suggest_fixesAction

    Return a prioritized, actionable fix list for a site, including ready-to-paste JSON-LD structured data where relevant. Every suggestion traces to a measured finding — nothing is invented. Audits the site first if needed.

    View tool JSON
    {
      "name": "suggest_fixes",
      "kind": "act",
      "impl": "imperative",
      "description": "Return a prioritized, actionable fix list for a site, including ready-to-paste JSON-LD structured data where relevant. Every suggestion traces to a measured finding — nothing is invented. Audits the site first if needed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The website to generate fixes for."
          },
          "businessName": {
            "type": "string",
            "description": "Optional business name to personalize the JSON-LD snippet."
          }
        },
        "required": [
          "url"
        ]
      }
    }
    compare_sitesAction

    Audit and compare two or more websites side by side (e.g. your site vs competitors) and rank them by GEO-readiness. Great for 'how do I stack up' and for finding the one thing competitors do that you don't. Adds every site to the workspace.

    View tool JSON
    {
      "name": "compare_sites",
      "kind": "act",
      "impl": "imperative",
      "description": "Audit and compare two or more websites side by side (e.g. your site vs competitors) and rank them by GEO-readiness. Great for 'how do I stack up' and for finding the one thing competitors do that you don't. Adds every site to the workspace.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Two or more websites to compare, e.g. [\"mysite.com\", \"competitor1.com\", \"competitor2.com\"]."
          }
        },
        "required": [
          "urls"
        ]
      }
    }
    scan_marketAction

    Audit an entire local market at once and rank every business by GEO-readiness. Best when YOU (the agent) supply the competitor URLs you already know — you know a business's real competitors better than any directory does; just pass them in `urls`. As a fallback for physical businesses, a plain-language query like 'day spa in Santa Monica' auto-discovers them via OpenStreetMap. This does what a browser can't — fetch and measure dozens of sites server-side in one call. Optionally pass a target site to get a gap analysis vs. the market leaders.

    View tool JSON
    {
      "name": "scan_market",
      "kind": "act",
      "impl": "imperative",
      "description": "Audit an entire local market at once and rank every business by GEO-readiness. Best when YOU (the agent) supply the competitor URLs you already know — you know a business's real competitors better than any directory does; just pass them in `urls`. As a fallback for physical businesses, a plain-language query like 'day spa in Santa Monica' auto-discovers them via OpenStreetMap. This does what a browser can't — fetch and measure dozens of sites server-side in one call. Optionally pass a target site to get a gap analysis vs. the market leaders.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "A market to scan, e.g. \"hair salon in Austin\" or \"dentist in Miami\". Auto-discovers local businesses with websites."
          },
          "urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Explicit list of competitor URLs to scan instead of (or in addition to) a query."
          },
          "target": {
            "type": "string",
            "description": "Optional: your own site, to get a gap analysis vs. the market leaders."
          }
        },
        "required": []
      }
    }
    verify_journeyAction

    Act as an 'agent mystery shopper': check whether a visitor's AI agent could actually complete a key task on a site — book, quote, buy, or contact — and report exactly where it would get stuck. Reports the best path an agent could take (a WebMCP tool, a form, a booking widget, a contact link) or says plainly that the agent is blocked. A static reachability check of the page's HTML, not a live click-through.

    View tool JSON
    {
      "name": "verify_journey",
      "kind": "act",
      "impl": "imperative",
      "description": "Act as an 'agent mystery shopper': check whether a visitor's AI agent could actually complete a key task on a site — book, quote, buy, or contact — and report exactly where it would get stuck. Reports the best path an agent could take (a WebMCP tool, a form, a booking widget, a contact link) or says plainly that the agent is blocked. A static reachability check of the page's HTML, not a live click-through.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The site to test."
          },
          "goal": {
            "type": "string",
            "enum": [
              "book",
              "quote",
              "buy",
              "contact"
            ],
            "description": "The task to attempt, e.g. 'book' an appointment or 'buy' a product."
          }
        },
        "required": [
          "url",
          "goal"
        ]
      }
    }
    generate_fixesAction

    Generate ready-to-ship fixes for a site: a complete JSON-LD structured-data block and an optimized <title> + meta description, tailored to the site's real content. This is creation, not just advice — the output is copy-paste ready. Adds the generated kit to the site's workspace card. Audits the site first if needed.

    View tool JSON
    {
      "name": "generate_fixes",
      "kind": "act",
      "impl": "imperative",
      "description": "Generate ready-to-ship fixes for a site: a complete JSON-LD structured-data block and an optimized <title> + meta description, tailored to the site's real content. This is creation, not just advice — the output is copy-paste ready. Adds the generated kit to the site's workspace card. Audits the site first if needed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The website to generate fixes for."
          }
        },
        "required": [
          "url"
        ]
      }
    }
    preview_impactAction

    Show the projected GEO-readiness score if the generated fixes were applied — the current score vs. the score after fixing structured data and meta tags. Turns an audit into a repair with a measurable payoff. Generates fixes first if needed.

    View tool JSON
    {
      "name": "preview_impact",
      "kind": "act",
      "impl": "imperative",
      "description": "Show the projected GEO-readiness score if the generated fixes were applied — the current score vs. the score after fixing structured data and meta tags. Turns an audit into a repair with a measurable payoff. Generates fixes first if needed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The website to preview impact for."
          }
        },
        "required": [
          "url"
        ]
      }
    }