{
  "data": {
    "tool": {
      "category": "workflow-automation",
      "endpoint": "https://www.agentseo.dev/mcp",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/agentseo-mcp.json",
      "kind": "mcp",
      "listed": "indexed",
      "liveUrl": "https://www.anchorterminal.com/api/v1/live/agentseo-mcp.json",
      "markdownUrl": "https://www.anchorterminal.com/tools/agentseo-mcp.md",
      "mcpTools": {
        "check": {
          "checker": "anchor-check/1.0",
          "totalTokens": 13064,
          "counts": {
            "error": 0,
            "note": 1,
            "warn": 90
          },
          "findings": [
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_ai_overview_extract",
              "message": "4 parameters without a description: language, location, sync, target_domain",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_ai_visibility_prompt_set",
              "message": "none of its 15 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_analyze_serp",
              "message": "4 parameters without a description: device, language, location, sync",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_backlinks_anchors",
              "message": "none of its 15 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_backlinks_competitors",
              "message": "none of its 9 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_backlinks_domain_pages",
              "message": "none of its 17 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_backlinks_list",
              "message": "none of its 15 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_backlinks_new_lost_timeseries",
              "message": "none of its 6 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_backlinks_opportunity_finder",
              "message": "none of its 11 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_backlinks_page_intersection",
              "message": "none of its 18 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_backlinks_referring_domains",
              "message": "none of its 16 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_backlinks_summary",
              "message": "none of its 9 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_content_action_plan",
              "message": "none of its 8 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_content_brief",
              "message": "8 parameters without a description: brand_voice, brief_depth, device, include_serp_outline, language, location and 2 more",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_content_cannibalization",
              "message": "none of its 5 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_content_competitor_gap_matrix",
              "message": "none of its 6 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_content_draft_qa",
              "message": "5 parameters without a description: device, language, location, qa_depth, sync",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_content_gap",
              "message": "4 parameters without a description: language, location, scrape_depth, sync",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_content_internal_links",
              "message": "3 parameters without a description: keyword, max_suggestions, sync",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_content_keyword_map",
              "message": "none of its 5 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_content_programmatic_template",
              "message": "none of its 17 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_content_refresh_brief",
              "message": "4 parameters without a description: language, location, scrape_depth, sync",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_content_schema_plan",
              "message": "4 parameters without a description: include_jsonld, keyword, page_type, sync",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_content_serp_outline",
              "message": "6 parameters without a description: device, include_title_options, language, location, outline_depth, sync",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_content_technical_qa",
              "message": "none of its 9 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_content_title_meta",
              "message": "5 parameters without a description: current_meta_description, current_title, keyword, page_type, sync",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_domain_competitors",
              "message": "none of its 9 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_domain_intersection",
              "message": "none of its 10 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_domain_ranked_keywords",
              "message": "none of its 10 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_domain_relevant_pages",
              "message": "none of its 9 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_domain_traffic_estimate",
              "message": "none of its 9 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_extract",
              "message": "1 parameter without a description: include_images",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_keyword_ideas_suggest",
              "message": "9 parameters without a description: exact_match, ignore_synonyms, include_seed_keyword, language, limit, location and 3 more",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_keyword_metrics_overview",
              "message": "none of its 7 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_local_audit",
              "message": "2 parameters without a description: language, sync",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_local_visibility_track",
              "message": "4 parameters without a description: keywords, language, locations, sync",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_opportunities_brief",
              "message": "7 parameters without a description: current_rank, include_competitor_outlines, language, location, opportunity_type, page_url and 1 more",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_opportunities_find",
              "message": "7 parameters without a description: include_competitor_discovery, include_serp_competitors, keyword_limit, language, location, opportunity_limit and 1 more",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_page_cro_qa",
              "message": "none of its 10 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_page_intersection",
              "message": "none of its 17 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_rank_track",
              "message": "2 parameters without a description: location, sync",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_search",
              "message": "4 parameters without a description: exclude_domains, include_domains, limit, sync",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_serp_volatility",
              "message": "none of its 8 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "agentseo_site_sitemap_audit",
              "message": "none of its 8 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_ai_overview_extract",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_ai_visibility_prompt_set",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_analyze_serp",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Its name starts with \"analyze\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_backlinks_anchors",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_backlinks_competitors",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_backlinks_domain_pages",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_backlinks_list",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Its name starts with \"list\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_backlinks_new_lost_timeseries",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_backlinks_opportunity_finder",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_backlinks_page_intersection",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_backlinks_referring_domains",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_backlinks_summary",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_content_action_plan",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_content_brief",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_content_cannibalization",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_content_competitor_gap_matrix",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_content_draft_qa",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_content_gap",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_content_internal_links",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_content_keyword_map",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_content_programmatic_template",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_content_refresh_brief",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_content_schema_plan",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_content_serp_outline",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_content_technical_qa",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_content_title_meta",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_domain_competitors",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_domain_intersection",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_domain_ranked_keywords",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_domain_relevant_pages",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_domain_traffic_estimate",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_extract",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_job_status",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Its name starts with \"status\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_keyword_ideas_suggest",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_keyword_metrics_overview",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_local_audit",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_local_visibility_track",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_opportunities_brief",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_opportunities_find",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Its name starts with \"find\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_page_cro_qa",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_page_intersection",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_rank_track",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_search",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Its name starts with \"search\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_serp_volatility",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "agentseo_site_sitemap_audit",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC23",
              "severity": "warn",
              "message": "45 tools",
              "fix": "Offer a smaller default toolset and let clients opt into the rest."
            },
            {
              "rule": "TC24",
              "severity": "note",
              "message": "45 of 45 tools have no outputSchema",
              "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
            }
          ]
        },
        "checkedAt": "2026-10-04T22:24:26Z",
        "count": 45,
        "schemaTokens": 13064,
        "status": "ok",
        "tools": [
          {
            "name": "agentseo_search",
            "title": "AgentSEO Search",
            "description": "Perform a Google search with optional domain filters.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "exclude_domains": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "include_domains": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "limit": {
                  "default": 10,
                  "maximum": 50,
                  "minimum": 1,
                  "type": "integer"
                },
                "query": {
                  "description": "The search query",
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                }
              },
              "required": [
                "query"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_extract",
            "title": "AgentSEO Extract",
            "description": "Extract content from a URL and convert to Markdown.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "include_images": {
                  "default": false,
                  "type": "boolean"
                },
                "url": {
                  "description": "The URL to scrape",
                  "format": "uri",
                  "type": "string"
                }
              },
              "required": [
                "url"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_analyze_serp",
            "title": "AgentSEO Analyze SERP",
            "description": "Deep analysis of Search Engine Results Page (SERP) features and competitors.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "keyword": {
                  "description": "Target keyword",
                  "type": "string"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                }
              },
              "required": [
                "keyword"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_local_audit",
            "title": "AgentSEO Local Audit",
            "description": "Audit one Google Maps business listing. Provide its business name and city/state/country; do not pass a website URL or domain.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "business_name": {
                  "description": "Business name as shown on Google Maps, not a domain or URL",
                  "type": "string"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "location": {
                  "description": "City, state, and country of the business",
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                }
              },
              "required": [
                "business_name",
                "location"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_content_gap",
            "title": "AgentSEO Content Gap",
            "description": "Run content gap analysis for a URL and keyword.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "keyword": {
                  "description": "Target keyword",
                  "type": "string"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "scrape_depth": {
                  "default": "h3",
                  "enum": [
                    "h1",
                    "h2",
                    "h3"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "url": {
                  "description": "Your URL",
                  "format": "uri",
                  "type": "string"
                }
              },
              "required": [
                "url",
                "keyword"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_opportunities_find",
            "title": "AgentSEO Opportunity Finder",
            "description": "Find prioritized SEO opportunities for a domain or URL.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "include_competitor_discovery": {
                  "default": false,
                  "type": "boolean"
                },
                "include_serp_competitors": {
                  "default": false,
                  "type": "boolean"
                },
                "keyword_limit": {
                  "default": 25,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "opportunity_limit": {
                  "default": 10,
                  "maximum": 25,
                  "minimum": 1,
                  "type": "integer"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "description": "Domain or URL to analyze",
                  "type": "string"
                }
              },
              "required": [
                "target"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_opportunities_brief",
            "title": "AgentSEO Opportunity Brief",
            "description": "Turn one keyword or page opportunity into an implementation-ready brief.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "current_rank": {
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "include_competitor_outlines": {
                  "default": true,
                  "type": "boolean"
                },
                "keyword": {
                  "description": "Selected opportunity keyword",
                  "type": "string"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "opportunity_type": {
                  "enum": [
                    "quick_win",
                    "content_refresh",
                    "ai_overview_opportunity",
                    "featured_snippet_opportunity",
                    "commercial_intent_opportunity",
                    "lost_keyword_recovery",
                    "competitor_gap"
                  ],
                  "type": "string"
                },
                "page_url": {
                  "format": "uri",
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "description": "Target domain or URL",
                  "type": "string"
                }
              },
              "required": [
                "keyword",
                "target"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_content_refresh_brief",
            "title": "AgentSEO Content Refresh Brief",
            "description": "Create a refresh brief for an existing URL and keyword.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "keyword": {
                  "description": "Target keyword",
                  "type": "string"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "scrape_depth": {
                  "default": "h3",
                  "enum": [
                    "h1",
                    "h2",
                    "h3"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "url": {
                  "description": "Existing page URL",
                  "format": "uri",
                  "type": "string"
                }
              },
              "required": [
                "url",
                "keyword"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_content_serp_outline",
            "title": "AgentSEO SERP Outline",
            "description": "Turn live SERP intent into a writer- and agent-ready page outline.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "include_title_options": {
                  "default": true,
                  "type": "boolean"
                },
                "keyword": {
                  "description": "Target keyword",
                  "type": "string"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "outline_depth": {
                  "default": "standard",
                  "enum": [
                    "brief",
                    "standard",
                    "detailed"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "description": "Optional target brand or domain",
                  "type": "string"
                }
              },
              "required": [
                "keyword"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_content_brief",
            "title": "AgentSEO Content Brief",
            "description": "Turn live SERP intent into a production-ready content brief for writers and coding agents.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "audience": {
                  "description": "Optional audience description",
                  "type": "string"
                },
                "brand_voice": {
                  "default": "expert",
                  "enum": [
                    "neutral",
                    "expert",
                    "friendly",
                    "bold",
                    "technical"
                  ],
                  "type": "string"
                },
                "brief_depth": {
                  "default": "standard",
                  "enum": [
                    "standard",
                    "detailed"
                  ],
                  "type": "string"
                },
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "include_serp_outline": {
                  "default": true,
                  "type": "boolean"
                },
                "keyword": {
                  "description": "Target keyword",
                  "type": "string"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "page_type": {
                  "default": "auto",
                  "enum": [
                    "auto",
                    "blog_post",
                    "landing_page",
                    "comparison_page",
                    "guide",
                    "tool_page"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "description": "Optional target brand, domain, or product",
                  "type": "string"
                }
              },
              "required": [
                "keyword"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_content_draft_qa",
            "title": "AgentSEO Content Draft QA",
            "description": "Validate a draft URL or markdown against live SERP expectations before publishing.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "draft_markdown": {
                  "description": "Draft markdown when no URL exists",
                  "maxLength": 50000,
                  "minLength": 100,
                  "type": "string"
                },
                "draft_url": {
                  "description": "Draft or staged page URL",
                  "format": "uri",
                  "type": "string"
                },
                "keyword": {
                  "description": "Target keyword",
                  "type": "string"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "qa_depth": {
                  "default": "standard",
                  "enum": [
                    "standard",
                    "strict"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "description": "Optional target brand, domain, or product",
                  "type": "string"
                }
              },
              "required": [
                "keyword"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_content_schema_plan",
            "title": "AgentSEO Content Schema Plan",
            "description": "Plan JSON-LD schema for a URL or markdown page without a provider call.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "include_jsonld": {
                  "default": true,
                  "type": "boolean"
                },
                "keyword": {
                  "type": "string"
                },
                "page_markdown": {
                  "description": "Page markdown when no URL exists",
                  "maxLength": 50000,
                  "minLength": 80,
                  "type": "string"
                },
                "page_type": {
                  "default": "auto",
                  "enum": [
                    "auto",
                    "article",
                    "blog_post",
                    "landing_page",
                    "product",
                    "software",
                    "local_business",
                    "faq",
                    "how_to"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "description": "Optional target brand, domain, or product",
                  "type": "string"
                },
                "url": {
                  "description": "Page URL to scrape",
                  "format": "uri",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          {
            "name": "agentseo_content_internal_links",
            "title": "AgentSEO Content Internal Links",
            "description": "Find internal link opportunities from a source page to required supplied target pages.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "keyword": {
                  "type": "string"
                },
                "max_suggestions": {
                  "default": 8,
                  "maximum": 20,
                  "minimum": 1,
                  "type": "integer"
                },
                "source_markdown": {
                  "description": "Source page markdown when no URL exists",
                  "maxLength": 50000,
                  "minLength": 80,
                  "type": "string"
                },
                "source_url": {
                  "description": "Source page URL to scrape",
                  "format": "uri",
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "description": "Optional target brand, domain, or product",
                  "type": "string"
                },
                "target_pages": {
                  "description": "Required candidate internal pages from your sitemap, CMS, crawler, Search Console, or /site/sitemap-audit.",
                  "items": {
                    "properties": {
                      "description": {
                        "maxLength": 500,
                        "type": "string"
                      },
                      "keywords": {
                        "default": [],
                        "items": {
                          "type": "string"
                        },
                        "maxItems": 12,
                        "type": "array"
                      },
                      "title": {
                        "maxLength": 180,
                        "minLength": 1,
                        "type": "string"
                      },
                      "url": {
                        "format": "uri",
                        "type": "string"
                      }
                    },
                    "required": [
                      "url",
                      "title"
                    ],
                    "type": "object"
                  },
                  "maxItems": 50,
                  "minItems": 1,
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          {
            "name": "agentseo_content_title_meta",
            "title": "AgentSEO Content Title Meta",
            "description": "Generate SEO title and meta description options for a URL or markdown page.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "current_meta_description": {
                  "maxLength": 320,
                  "type": "string"
                },
                "current_title": {
                  "maxLength": 120,
                  "type": "string"
                },
                "keyword": {
                  "minLength": 1,
                  "type": "string"
                },
                "page_markdown": {
                  "description": "Page markdown when no URL exists",
                  "maxLength": 50000,
                  "minLength": 80,
                  "type": "string"
                },
                "page_type": {
                  "default": "auto",
                  "enum": [
                    "auto",
                    "blog_post",
                    "landing_page",
                    "product",
                    "software",
                    "local_business",
                    "comparison_page",
                    "guide"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "description": "Optional target brand, domain, or product",
                  "type": "string"
                },
                "url": {
                  "description": "Page URL to scrape",
                  "format": "uri",
                  "type": "string"
                }
              },
              "required": [
                "keyword"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_content_keyword_map",
            "title": "AgentSEO Content Keyword Map",
            "description": "Map supplied keywords to supplied pages and flag missing pages or cannibalization risks.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "keywords": {
                  "items": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 250,
                  "minItems": 1,
                  "type": "array"
                },
                "max_mappings": {
                  "default": 250,
                  "maximum": 250,
                  "minimum": 1,
                  "type": "integer"
                },
                "pages": {
                  "items": {
                    "properties": {
                      "current_keywords": {
                        "default": [],
                        "items": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "maxItems": 30,
                        "type": "array"
                      },
                      "description": {
                        "maxLength": 500,
                        "type": "string"
                      },
                      "headings": {
                        "default": [],
                        "items": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "maxItems": 30,
                        "type": "array"
                      },
                      "page_type": {
                        "default": "unknown",
                        "enum": [
                          "unknown",
                          "homepage",
                          "blog_post",
                          "landing_page",
                          "product",
                          "software",
                          "local_business",
                          "comparison_page",
                          "guide",
                          "docs"
                        ],
                        "type": "string"
                      },
                      "title": {
                        "maxLength": 180,
                        "minLength": 1,
                        "type": "string"
                      },
                      "url": {
                        "format": "uri",
                        "type": "string"
                      }
                    },
                    "required": [
                      "url",
                      "title"
                    ],
                    "type": "object"
                  },
                  "maxItems": 100,
                  "minItems": 1,
                  "type": "array"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "description": "Optional target brand, domain, or product",
                  "type": "string"
                }
              },
              "required": [
                "keywords",
                "pages"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_content_technical_qa",
            "title": "AgentSEO Content Technical QA",
            "description": "Run pre-publish SEO QA for metadata, indexability, canonical, headings, schema, links, and media.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "check_external_links": {
                  "default": false,
                  "type": "boolean"
                },
                "expected_canonical": {
                  "format": "uri",
                  "type": "string"
                },
                "html": {
                  "maxLength": 250000,
                  "minLength": 80,
                  "type": "string"
                },
                "keyword": {
                  "minLength": 1,
                  "type": "string"
                },
                "markdown": {
                  "maxLength": 50000,
                  "minLength": 80,
                  "type": "string"
                },
                "page_type": {
                  "default": "auto",
                  "enum": [
                    "auto",
                    "article",
                    "blog_post",
                    "landing_page",
                    "product",
                    "software",
                    "local_business",
                    "comparison_page",
                    "guide",
                    "docs"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "type": "string"
                },
                "url": {
                  "format": "uri",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          {
            "name": "agentseo_content_action_plan",
            "title": "AgentSEO Content Action Plan",
            "description": "Turn supplied SEO opportunities into a capacity-aware content calendar and execution plan.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "goal": {
                  "default": "traffic_growth",
                  "enum": [
                    "traffic_growth",
                    "lead_generation",
                    "refresh_decay",
                    "launch_support",
                    "authority_building"
                  ],
                  "type": "string"
                },
                "horizon_days": {
                  "default": 30,
                  "maximum": 90,
                  "minimum": 7,
                  "type": "integer"
                },
                "items": {
                  "items": {
                    "properties": {
                      "buyer_stage": {
                        "default": "awareness",
                        "enum": [
                          "awareness",
                          "consideration",
                          "decision",
                          "implementation",
                          "retention"
                        ],
                        "type": "string"
                      },
                      "dependencies": {
                        "default": [],
                        "items": {
                          "maxLength": 160,
                          "minLength": 1,
                          "type": "string"
                        },
                        "maxItems": 10,
                        "type": "array"
                      },
                      "effort": {
                        "default": "medium",
                        "enum": [
                          "small",
                          "medium",
                          "large"
                        ],
                        "type": "string"
                      },
                      "impact_score": {
                        "maximum": 100,
                        "minimum": 0,
                        "type": "number"
                      },
                      "keyword": {
                        "maxLength": 120,
                        "minLength": 1,
                        "type": "string"
                      },
                      "notes": {
                        "maxLength": 1000,
                        "type": "string"
                      },
                      "opportunity_type": {
                        "default": "new_content",
                        "enum": [
                          "new_content",
                          "refresh",
                          "technical_fix",
                          "internal_links",
                          "schema",
                          "backlink_outreach",
                          "monitoring"
                        ],
                        "type": "string"
                      },
                      "priority": {
                        "default": "medium",
                        "enum": [
                          "low",
                          "medium",
                          "high",
                          "critical"
                        ],
                        "type": "string"
                      },
                      "source_endpoint": {
                        "maxLength": 120,
                        "type": "string"
                      },
                      "status": {
                        "default": "idea",
                        "enum": [
                          "idea",
                          "ready",
                          "blocked",
                          "in_progress"
                        ],
                        "type": "string"
                      },
                      "title": {
                        "maxLength": 180,
                        "minLength": 1,
                        "type": "string"
                      },
                      "url": {
                        "format": "uri",
                        "type": "string"
                      }
                    },
                    "required": [
                      "title"
                    ],
                    "type": "object"
                  },
                  "maxItems": 100,
                  "minItems": 1,
                  "type": "array"
                },
                "start_date": {
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "type": "string"
                },
                "team": {
                  "default": [],
                  "items": {
                    "maxLength": 80,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 20,
                  "type": "array"
                },
                "weekly_capacity": {
                  "default": 5,
                  "maximum": 25,
                  "minimum": 1,
                  "type": "integer"
                }
              },
              "required": [
                "items"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_site_sitemap_audit",
            "title": "AgentSEO Sitemap Audit",
            "description": "Audit sitemap coverage, orphan-page candidates, important URLs, canonical/indexability noise, and internal-link gaps.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "crawl_urls": {
                  "default": [],
                  "items": {
                    "properties": {
                      "canonical_url": {
                        "format": "uri",
                        "type": "string"
                      },
                      "clicks": {
                        "minimum": 0,
                        "type": "number"
                      },
                      "impressions": {
                        "minimum": 0,
                        "type": "number"
                      },
                      "inbound_internal_links": {
                        "maximum": 9007199254740991,
                        "minimum": 0,
                        "type": "integer"
                      },
                      "indexable": {
                        "default": true,
                        "type": "boolean"
                      },
                      "source": {
                        "maxLength": 80,
                        "type": "string"
                      },
                      "status_code": {
                        "maximum": 599,
                        "minimum": 100,
                        "type": "integer"
                      },
                      "title": {
                        "maxLength": 180,
                        "type": "string"
                      },
                      "url": {
                        "format": "uri",
                        "type": "string"
                      }
                    },
                    "required": [
                      "url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 5000,
                  "type": "array"
                },
                "important_urls": {
                  "default": [],
                  "items": {
                    "format": "uri",
                    "type": "string"
                  },
                  "maxItems": 500,
                  "type": "array"
                },
                "internal_links": {
                  "default": [],
                  "items": {
                    "properties": {
                      "anchor": {
                        "maxLength": 160,
                        "type": "string"
                      },
                      "source_url": {
                        "format": "uri",
                        "type": "string"
                      },
                      "target_url": {
                        "format": "uri",
                        "type": "string"
                      }
                    },
                    "required": [
                      "source_url",
                      "target_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 20000,
                  "type": "array"
                },
                "max_sitemap_children": {
                  "default": 3,
                  "maximum": 10,
                  "minimum": 0,
                  "type": "integer"
                },
                "sitemap_url": {
                  "format": "uri",
                  "type": "string"
                },
                "sitemap_xml": {
                  "maxLength": 2000000,
                  "minLength": 80,
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          {
            "name": "agentseo_serp_volatility",
            "title": "AgentSEO SERP Volatility Monitor",
            "description": "Compare supplied SERP snapshots to detect rank churn, top-domain churn, feature changes, and target visibility movement.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "device": {
                  "default": "desktop",
                  "enum": [
                    "desktop",
                    "mobile"
                  ],
                  "type": "string"
                },
                "keyword": {
                  "minLength": 1,
                  "type": "string"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "sensitivity": {
                  "default": "medium",
                  "enum": [
                    "low",
                    "medium",
                    "high"
                  ],
                  "type": "string"
                },
                "snapshots": {
                  "items": {
                    "properties": {
                      "checked_at": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "results": {
                        "items": {
                          "properties": {
                            "domain": {
                              "maxLength": 180,
                              "type": "string"
                            },
                            "position": {
                              "maximum": 100,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "result_type": {
                              "default": "organic",
                              "enum": [
                                "organic",
                                "paid",
                                "local_pack",
                                "featured_snippet",
                                "ai_overview",
                                "people_also_ask",
                                "video",
                                "image",
                                "news",
                                "other"
                              ],
                              "type": "string"
                            },
                            "title": {
                              "maxLength": 240,
                              "type": "string"
                            },
                            "url": {
                              "format": "uri",
                              "type": "string"
                            }
                          },
                          "required": [
                            "position",
                            "url"
                          ],
                          "type": "object"
                        },
                        "maxItems": 100,
                        "minItems": 1,
                        "type": "array"
                      },
                      "serp_features": {
                        "default": [],
                        "items": {
                          "maxLength": 80,
                          "minLength": 1,
                          "type": "string"
                        },
                        "maxItems": 30,
                        "type": "array"
                      }
                    },
                    "required": [
                      "checked_at",
                      "results"
                    ],
                    "type": "object"
                  },
                  "maxItems": 30,
                  "minItems": 2,
                  "type": "array"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "type": "string"
                },
                "target_domains": {
                  "default": [],
                  "items": {
                    "maxLength": 180,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 10,
                  "type": "array"
                }
              },
              "required": [
                "keyword",
                "snapshots"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_page_cro_qa",
            "title": "AgentSEO Page CRO QA",
            "description": "Audit SEO landing pages for value proposition clarity, CTA strength, trust proof, objection handling, and conversion friction.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "audience": {
                  "maxLength": 180,
                  "type": "string"
                },
                "conversion_goal": {
                  "default": "signup",
                  "enum": [
                    "signup",
                    "trial",
                    "demo",
                    "purchase",
                    "contact_sales",
                    "subscribe",
                    "download",
                    "learn_more"
                  ],
                  "type": "string"
                },
                "html": {
                  "maxLength": 250000,
                  "minLength": 80,
                  "type": "string"
                },
                "keyword": {
                  "type": "string"
                },
                "markdown": {
                  "maxLength": 50000,
                  "minLength": 80,
                  "type": "string"
                },
                "page_type": {
                  "default": "auto",
                  "enum": [
                    "auto",
                    "homepage",
                    "landing_page",
                    "pricing",
                    "feature",
                    "blog_post",
                    "product",
                    "comparison_page",
                    "docs"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "type": "string"
                },
                "traffic_source": {
                  "default": "organic",
                  "enum": [
                    "organic",
                    "paid",
                    "email",
                    "social",
                    "direct",
                    "referral",
                    "unknown"
                  ],
                  "type": "string"
                },
                "url": {
                  "format": "uri",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          {
            "name": "agentseo_ai_visibility_prompt_set",
            "title": "AgentSEO AI Visibility Prompt Set",
            "description": "Build stable AI visibility prompt sets mapped to owned assets, platforms, competitors, citations, and weekly action routing.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "audience": {
                  "maxLength": 180,
                  "type": "string"
                },
                "cadence": {
                  "default": "weekly",
                  "enum": [
                    "weekly",
                    "biweekly",
                    "monthly"
                  ],
                  "type": "string"
                },
                "category": {
                  "maxLength": 160,
                  "minLength": 1,
                  "type": "string"
                },
                "competitors": {
                  "default": [],
                  "items": {
                    "maxLength": 160,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 20,
                  "type": "array"
                },
                "include_citation_checks": {
                  "default": true,
                  "type": "boolean"
                },
                "include_competitor_checks": {
                  "default": true,
                  "type": "boolean"
                },
                "locale": {
                  "default": "United States",
                  "maxLength": 80,
                  "minLength": 2,
                  "type": "string"
                },
                "owned_assets": {
                  "default": [],
                  "items": {
                    "properties": {
                      "page_type": {
                        "default": "other",
                        "enum": [
                          "homepage",
                          "docs",
                          "blog_post",
                          "comparison",
                          "pricing",
                          "product",
                          "case_study",
                          "tool",
                          "other"
                        ],
                        "type": "string"
                      },
                      "title": {
                        "maxLength": 180,
                        "minLength": 1,
                        "type": "string"
                      },
                      "topics": {
                        "default": [],
                        "items": {
                          "maxLength": 120,
                          "minLength": 1,
                          "type": "string"
                        },
                        "maxItems": 20,
                        "type": "array"
                      },
                      "url": {
                        "format": "uri",
                        "type": "string"
                      }
                    },
                    "required": [
                      "url",
                      "title"
                    ],
                    "type": "object"
                  },
                  "maxItems": 100,
                  "type": "array"
                },
                "personas": {
                  "default": [],
                  "items": {
                    "maxLength": 120,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 20,
                  "type": "array"
                },
                "platforms": {
                  "default": [
                    "chatgpt",
                    "perplexity",
                    "google_ai"
                  ],
                  "items": {
                    "enum": [
                      "chatgpt",
                      "perplexity",
                      "google_ai",
                      "gemini",
                      "copilot",
                      "claude"
                    ],
                    "type": "string"
                  },
                  "maxItems": 6,
                  "minItems": 1,
                  "type": "array"
                },
                "product_terms": {
                  "default": [],
                  "items": {
                    "maxLength": 120,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 40,
                  "type": "array"
                },
                "prompt_count": {
                  "default": 20,
                  "maximum": 50,
                  "minimum": 6,
                  "type": "integer"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "minLength": 1,
                  "type": "string"
                },
                "topics": {
                  "items": {
                    "maxLength": 120,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 40,
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "target",
                "category",
                "topics"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_content_programmatic_template",
            "title": "AgentSEO Programmatic SEO Template",
            "description": "Plan safe programmatic SEO templates with uniqueness rules, indexation gates, internal links, schema guidance, and launch QA.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "audience": {
                  "maxLength": 180,
                  "type": "string"
                },
                "competitors": {
                  "default": [],
                  "items": {
                    "maxLength": 160,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 20,
                  "type": "array"
                },
                "conversion_cta": {
                  "maxLength": 120,
                  "type": "string"
                },
                "data_sources": {
                  "items": {
                    "properties": {
                      "fields": {
                        "default": [],
                        "items": {
                          "maxLength": 80,
                          "minLength": 1,
                          "type": "string"
                        },
                        "maxItems": 80,
                        "type": "array"
                      },
                      "freshness": {
                        "default": "unknown",
                        "enum": [
                          "real_time",
                          "daily",
                          "weekly",
                          "monthly",
                          "quarterly",
                          "static",
                          "unknown"
                        ],
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 120,
                        "minLength": 1,
                        "type": "string"
                      },
                      "type": {
                        "default": "unknown",
                        "enum": [
                          "first_party",
                          "product",
                          "user_generated",
                          "licensed",
                          "public",
                          "manual",
                          "unknown"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "name"
                    ],
                    "type": "object"
                  },
                  "maxItems": 20,
                  "minItems": 1,
                  "type": "array"
                },
                "include_internal_linking": {
                  "default": true,
                  "type": "boolean"
                },
                "include_schema": {
                  "default": true,
                  "type": "boolean"
                },
                "keyword_pattern": {
                  "maxLength": 180,
                  "minLength": 1,
                  "type": "string"
                },
                "page_count_estimate": {
                  "default": 100,
                  "maximum": 1000000,
                  "minimum": 1,
                  "type": "integer"
                },
                "page_goal": {
                  "default": "lead_generation",
                  "enum": [
                    "traffic",
                    "lead_generation",
                    "trial_signup",
                    "demo_request",
                    "purchase",
                    "authority",
                    "support"
                  ],
                  "type": "string"
                },
                "playbook": {
                  "default": "custom",
                  "enum": [
                    "templates",
                    "curation",
                    "conversions",
                    "comparisons",
                    "examples",
                    "locations",
                    "personas",
                    "integrations",
                    "glossary",
                    "translations",
                    "directory",
                    "profiles",
                    "custom"
                  ],
                  "type": "string"
                },
                "publishing_cadence": {
                  "default": "pilot",
                  "enum": [
                    "pilot",
                    "weekly_batch",
                    "monthly_batch",
                    "bulk_import"
                  ],
                  "type": "string"
                },
                "sample_records": {
                  "default": [],
                  "items": {
                    "additionalProperties": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "propertyNames": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "maxItems": 10,
                  "type": "array"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "type": "string"
                },
                "unique_fields": {
                  "default": [],
                  "items": {
                    "maxLength": 80,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 80,
                  "type": "array"
                },
                "url_pattern": {
                  "maxLength": 180,
                  "minLength": 1,
                  "type": "string"
                },
                "variables": {
                  "items": {
                    "maxLength": 80,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 30,
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "keyword_pattern",
                "url_pattern",
                "data_sources",
                "variables"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_content_cannibalization",
            "title": "AgentSEO Content Cannibalization",
            "description": "Detect overlapping SEO pages and recommend safe consolidation, differentiation, canonical, and internal-link fixes.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "focus_keywords": {
                  "default": [],
                  "items": {
                    "maxLength": 120,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 250,
                  "type": "array"
                },
                "pages": {
                  "items": {
                    "properties": {
                      "avg_position": {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "number"
                      },
                      "backlinks": {
                        "minimum": 0,
                        "type": "number"
                      },
                      "canonical_url": {
                        "format": "uri",
                        "type": "string"
                      },
                      "clicks": {
                        "minimum": 0,
                        "type": "number"
                      },
                      "description": {
                        "maxLength": 500,
                        "type": "string"
                      },
                      "headings": {
                        "default": [],
                        "items": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "maxItems": 30,
                        "type": "array"
                      },
                      "impressions": {
                        "minimum": 0,
                        "type": "number"
                      },
                      "indexable": {
                        "default": true,
                        "type": "boolean"
                      },
                      "last_updated": {
                        "maxLength": 40,
                        "type": "string"
                      },
                      "page_type": {
                        "default": "unknown",
                        "enum": [
                          "unknown",
                          "homepage",
                          "blog_post",
                          "landing_page",
                          "product",
                          "software",
                          "local_business",
                          "comparison_page",
                          "guide",
                          "docs"
                        ],
                        "type": "string"
                      },
                      "primary_keyword": {
                        "maxLength": 120,
                        "minLength": 1,
                        "type": "string"
                      },
                      "ranking_queries": {
                        "default": [],
                        "items": {
                          "maxLength": 120,
                          "minLength": 1,
                          "type": "string"
                        },
                        "maxItems": 100,
                        "type": "array"
                      },
                      "target_keywords": {
                        "default": [],
                        "items": {
                          "maxLength": 120,
                          "minLength": 1,
                          "type": "string"
                        },
                        "maxItems": 50,
                        "type": "array"
                      },
                      "title": {
                        "maxLength": 180,
                        "minLength": 1,
                        "type": "string"
                      },
                      "url": {
                        "format": "uri",
                        "type": "string"
                      }
                    },
                    "required": [
                      "url",
                      "title"
                    ],
                    "type": "object"
                  },
                  "maxItems": 100,
                  "minItems": 2,
                  "type": "array"
                },
                "sensitivity": {
                  "default": "balanced",
                  "enum": [
                    "conservative",
                    "balanced",
                    "aggressive"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "type": "string"
                }
              },
              "required": [
                "pages"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_content_competitor_gap_matrix",
            "title": "AgentSEO Competitor Content Gap Matrix",
            "description": "Compare supplied own and competitor pages to find missing topics, weak coverage, format gaps, and buyer-stage gaps.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "competitors": {
                  "items": {
                    "properties": {
                      "domain": {
                        "maxLength": 160,
                        "minLength": 1,
                        "type": "string"
                      },
                      "pages": {
                        "items": {
                          "properties": {
                            "avg_position": {
                              "maximum": 100,
                              "minimum": 1,
                              "type": "number"
                            },
                            "backlinks": {
                              "minimum": 0,
                              "type": "number"
                            },
                            "buyer_stage": {
                              "default": "awareness",
                              "enum": [
                                "awareness",
                                "consideration",
                                "decision",
                                "implementation",
                                "retention"
                              ],
                              "type": "string"
                            },
                            "description": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "estimated_traffic": {
                              "minimum": 0,
                              "type": "number"
                            },
                            "keywords": {
                              "default": [],
                              "items": {
                                "maxLength": 120,
                                "minLength": 1,
                                "type": "string"
                              },
                              "maxItems": 100,
                              "type": "array"
                            },
                            "page_type": {
                              "default": "unknown",
                              "enum": [
                                "unknown",
                                "homepage",
                                "blog_post",
                                "landing_page",
                                "product",
                                "software",
                                "local_business",
                                "comparison_page",
                                "guide",
                                "docs",
                                "template",
                                "tool",
                                "case_study"
                              ],
                              "type": "string"
                            },
                            "ranking_queries": {
                              "default": [],
                              "items": {
                                "maxLength": 120,
                                "minLength": 1,
                                "type": "string"
                              },
                              "maxItems": 100,
                              "type": "array"
                            },
                            "search_volume": {
                              "minimum": 0,
                              "type": "number"
                            },
                            "title": {
                              "maxLength": 180,
                              "minLength": 1,
                              "type": "string"
                            },
                            "url": {
                              "format": "uri",
                              "type": "string"
                            }
                          },
                          "required": [
                            "url",
                            "title"
                          ],
                          "type": "object"
                        },
                        "maxItems": 100,
                        "minItems": 1,
                        "type": "array"
                      }
                    },
                    "required": [
                      "domain",
                      "pages"
                    ],
                    "type": "object"
                  },
                  "maxItems": 10,
                  "minItems": 1,
                  "type": "array"
                },
                "focus_topics": {
                  "default": [],
                  "items": {
                    "maxLength": 120,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 100,
                  "type": "array"
                },
                "max_opportunities": {
                  "default": 30,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "own_pages": {
                  "default": [],
                  "items": {
                    "properties": {
                      "avg_position": {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "number"
                      },
                      "backlinks": {
                        "minimum": 0,
                        "type": "number"
                      },
                      "buyer_stage": {
                        "default": "awareness",
                        "enum": [
                          "awareness",
                          "consideration",
                          "decision",
                          "implementation",
                          "retention"
                        ],
                        "type": "string"
                      },
                      "description": {
                        "maxLength": 500,
                        "type": "string"
                      },
                      "estimated_traffic": {
                        "minimum": 0,
                        "type": "number"
                      },
                      "keywords": {
                        "default": [],
                        "items": {
                          "maxLength": 120,
                          "minLength": 1,
                          "type": "string"
                        },
                        "maxItems": 100,
                        "type": "array"
                      },
                      "page_type": {
                        "default": "unknown",
                        "enum": [
                          "unknown",
                          "homepage",
                          "blog_post",
                          "landing_page",
                          "product",
                          "software",
                          "local_business",
                          "comparison_page",
                          "guide",
                          "docs",
                          "template",
                          "tool",
                          "case_study"
                        ],
                        "type": "string"
                      },
                      "ranking_queries": {
                        "default": [],
                        "items": {
                          "maxLength": 120,
                          "minLength": 1,
                          "type": "string"
                        },
                        "maxItems": 100,
                        "type": "array"
                      },
                      "search_volume": {
                        "minimum": 0,
                        "type": "number"
                      },
                      "title": {
                        "maxLength": 180,
                        "minLength": 1,
                        "type": "string"
                      },
                      "url": {
                        "format": "uri",
                        "type": "string"
                      }
                    },
                    "required": [
                      "url",
                      "title"
                    ],
                    "type": "object"
                  },
                  "maxItems": 100,
                  "type": "array"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "type": "string"
                }
              },
              "required": [
                "competitors"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_keyword_ideas_suggest",
            "title": "AgentSEO Keyword Ideas Suggest",
            "description": "Expand one seed keyword into prioritized long-tail keyword ideas with search metrics.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "exact_match": {
                  "default": false,
                  "type": "boolean"
                },
                "ignore_synonyms": {
                  "default": true,
                  "type": "boolean"
                },
                "include_seed_keyword": {
                  "default": true,
                  "type": "boolean"
                },
                "keyword": {
                  "description": "Seed keyword or topic",
                  "minLength": 3,
                  "type": "string"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "limit": {
                  "default": 25,
                  "maximum": 100,
                  "minimum": 5,
                  "type": "integer"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "location_code": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "min_search_volume": {
                  "default": 0,
                  "maximum": 1000000,
                  "minimum": 0,
                  "type": "integer"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                }
              },
              "required": [
                "keyword"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_keyword_metrics_overview",
            "title": "AgentSEO Keyword Metrics Overview",
            "description": "Score a supplied keyword list with search metrics and page-priority guidance.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "keywords": {
                  "items": {
                    "maxLength": 80,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 100,
                  "minItems": 1,
                  "type": "array"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "location_code": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "min_search_volume": {
                  "default": 0,
                  "maximum": 1000000,
                  "minimum": 0,
                  "type": "integer"
                },
                "sort_by": {
                  "default": "priority",
                  "enum": [
                    "priority",
                    "search_volume",
                    "cpc",
                    "difficulty"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                }
              },
              "required": [
                "keywords"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_domain_ranked_keywords",
            "title": "AgentSEO Domain Ranked Keywords",
            "description": "Find ranked keywords for a domain, subdomain, or URL and prioritize refresh opportunities.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "include_lost": {
                  "default": false,
                  "type": "boolean"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "limit": {
                  "default": 50,
                  "maximum": 250,
                  "minimum": 10,
                  "type": "integer"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "location_code": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "max_rank": {
                  "default": 100,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "min_search_volume": {
                  "default": 0,
                  "maximum": 1000000,
                  "minimum": 0,
                  "type": "integer"
                },
                "sort_by": {
                  "default": "opportunity",
                  "enum": [
                    "opportunity",
                    "estimated_traffic",
                    "rank",
                    "search_volume",
                    "cpc"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "target"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_domain_relevant_pages",
            "title": "AgentSEO Domain Relevant Pages",
            "description": "Find traffic-carrying pages for a domain and route them into protect, refresh, expand, or recover actions.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "historical_serp_mode": {
                  "default": "live",
                  "enum": [
                    "live",
                    "lost",
                    "all"
                  ],
                  "type": "string"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "limit": {
                  "default": 50,
                  "maximum": 250,
                  "minimum": 10,
                  "type": "integer"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "location_code": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "min_traffic": {
                  "default": 0,
                  "maximum": 10000000,
                  "minimum": 0,
                  "type": "integer"
                },
                "sort_by": {
                  "default": "estimated_traffic",
                  "enum": [
                    "estimated_traffic",
                    "keyword_count",
                    "top3",
                    "opportunity"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "target"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_domain_competitors",
            "title": "AgentSEO Domain Competitors",
            "description": "Discover search competitors for a domain and prioritize overlap, traffic gaps, and next analysis actions.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "limit": {
                  "default": 25,
                  "maximum": 250,
                  "minimum": 5,
                  "type": "integer"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "location_code": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "max_rank_group": {
                  "default": 20,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "min_intersections": {
                  "default": 0,
                  "maximum": 10000000,
                  "minimum": 0,
                  "type": "integer"
                },
                "sort_by": {
                  "default": "threat",
                  "enum": [
                    "overlap",
                    "competitor_traffic",
                    "traffic_gap",
                    "threat"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "target"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_domain_intersection",
            "title": "AgentSEO Domain Intersection",
            "description": "Compare two domains to find shared keyword deficits, advantages, and target1-exclusive keyword opportunities.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "intersections": {
                  "default": true,
                  "type": "boolean"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "limit": {
                  "default": 25,
                  "maximum": 250,
                  "minimum": 5,
                  "type": "integer"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "location_code": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "min_search_volume": {
                  "default": 0,
                  "maximum": 10000000,
                  "minimum": 0,
                  "type": "integer"
                },
                "sort_by": {
                  "default": "opportunity",
                  "enum": [
                    "opportunity",
                    "search_volume",
                    "traffic_gap",
                    "rank_gap",
                    "cpc"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target1": {
                  "minLength": 1,
                  "type": "string"
                },
                "target2": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "target1",
                "target2"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_domain_traffic_estimate",
            "title": "AgentSEO Domain Traffic Estimate",
            "description": "Compare estimated search traffic across multiple domains, subdomains, or URLs before spending deeper analysis credits.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "include_featured_snippet": {
                  "default": true,
                  "type": "boolean"
                },
                "include_local_pack": {
                  "default": false,
                  "type": "boolean"
                },
                "include_paid": {
                  "default": true,
                  "type": "boolean"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "location_code": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "sort_by": {
                  "default": "organic_traffic",
                  "enum": [
                    "organic_traffic",
                    "total_traffic",
                    "paid_traffic",
                    "opportunity",
                    "target"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "targets": {
                  "items": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 100,
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "targets"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_backlinks_summary",
            "title": "AgentSEO Backlinks Summary",
            "description": "Summarize backlink authority, referring domains, spam risk, broken backlinks, and next SEO actions for a domain, subdomain, or URL.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "backlinks_status_type": {
                  "default": "live",
                  "enum": [
                    "live",
                    "all",
                    "lost"
                  ],
                  "type": "string"
                },
                "dofollow_only": {
                  "default": false,
                  "type": "boolean"
                },
                "exclude_internal_backlinks": {
                  "default": true,
                  "type": "boolean"
                },
                "include_indirect_links": {
                  "default": true,
                  "type": "boolean"
                },
                "include_subdomains": {
                  "default": true,
                  "type": "boolean"
                },
                "internal_list_limit": {
                  "default": 10,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "rank_scale": {
                  "default": "one_hundred",
                  "enum": [
                    "one_hundred",
                    "one_thousand"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "target"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_backlinks_list",
            "title": "AgentSEO Backlinks List",
            "description": "Return a bounded list of actionable backlinks and classify each one for protection, repair, reclaim, quality review, or outreach reference.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "backlinks_status_type": {
                  "default": "live",
                  "enum": [
                    "live",
                    "all",
                    "lost"
                  ],
                  "type": "string"
                },
                "broken_only": {
                  "default": false,
                  "type": "boolean"
                },
                "dofollow_only": {
                  "default": false,
                  "type": "boolean"
                },
                "exclude_internal_backlinks": {
                  "default": true,
                  "type": "boolean"
                },
                "include_indirect_links": {
                  "default": true,
                  "type": "boolean"
                },
                "include_subdomains": {
                  "default": true,
                  "type": "boolean"
                },
                "intersection_mode": {
                  "default": "partial",
                  "enum": [
                    "all",
                    "partial"
                  ],
                  "type": "string"
                },
                "limit": {
                  "default": 25,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "min_rank": {
                  "maximum": 100,
                  "minimum": 0,
                  "type": "integer"
                },
                "mode": {
                  "default": "one_per_domain",
                  "enum": [
                    "as_is",
                    "one_per_domain",
                    "one_per_anchor"
                  ],
                  "type": "string"
                },
                "offset": {
                  "default": 0,
                  "maximum": 20000,
                  "minimum": 0,
                  "type": "integer"
                },
                "rank_scale": {
                  "default": "one_hundred",
                  "enum": [
                    "one_hundred",
                    "one_thousand"
                  ],
                  "type": "string"
                },
                "sort_by": {
                  "default": "rank",
                  "enum": [
                    "rank",
                    "page_rank",
                    "first_seen",
                    "lost_date"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "target"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_backlinks_anchors",
            "title": "AgentSEO Backlinks Anchors",
            "description": "Analyze backlink anchor text groups and classify branded, commercial, generic, URL, risky, broken, or lost anchor patterns.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "anchor_filter": {
                  "maxLength": 80,
                  "minLength": 1,
                  "type": "string"
                },
                "backlinks_status_type": {
                  "default": "live",
                  "enum": [
                    "live",
                    "all",
                    "lost"
                  ],
                  "type": "string"
                },
                "dofollow_only": {
                  "default": false,
                  "type": "boolean"
                },
                "exclude_internal_backlinks": {
                  "default": true,
                  "type": "boolean"
                },
                "include_indirect_links": {
                  "default": true,
                  "type": "boolean"
                },
                "include_subdomains": {
                  "default": true,
                  "type": "boolean"
                },
                "internal_list_limit": {
                  "default": 10,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "limit": {
                  "default": 25,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "min_backlinks": {
                  "maximum": 10000000,
                  "minimum": 1,
                  "type": "integer"
                },
                "min_referring_domains": {
                  "maximum": 10000000,
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "default": 0,
                  "maximum": 20000,
                  "minimum": 0,
                  "type": "integer"
                },
                "rank_scale": {
                  "default": "one_hundred",
                  "enum": [
                    "one_hundred",
                    "one_thousand"
                  ],
                  "type": "string"
                },
                "sort_by": {
                  "default": "backlinks",
                  "enum": [
                    "backlinks",
                    "rank",
                    "referring_domains",
                    "spam_score",
                    "broken_backlinks"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "target"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_backlinks_referring_domains",
            "title": "AgentSEO Backlinks Referring Domains",
            "description": "Analyze referring domains and classify authority, lost-domain recovery, broken-link repair, quality review, and outreach patterns.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "backlinks_status_type": {
                  "default": "live",
                  "enum": [
                    "live",
                    "all",
                    "lost"
                  ],
                  "type": "string"
                },
                "dofollow_only": {
                  "default": false,
                  "type": "boolean"
                },
                "domain_filter": {
                  "maxLength": 120,
                  "minLength": 1,
                  "type": "string"
                },
                "exclude_internal_backlinks": {
                  "default": true,
                  "type": "boolean"
                },
                "include_indirect_links": {
                  "default": true,
                  "type": "boolean"
                },
                "include_subdomains": {
                  "default": true,
                  "type": "boolean"
                },
                "internal_list_limit": {
                  "default": 10,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "limit": {
                  "default": 25,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "min_backlinks": {
                  "maximum": 10000000,
                  "minimum": 1,
                  "type": "integer"
                },
                "min_rank": {
                  "maximum": 1000,
                  "minimum": 0,
                  "type": "integer"
                },
                "min_referring_pages": {
                  "maximum": 10000000,
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "default": 0,
                  "maximum": 20000,
                  "minimum": 0,
                  "type": "integer"
                },
                "rank_scale": {
                  "default": "one_hundred",
                  "enum": [
                    "one_hundred",
                    "one_thousand"
                  ],
                  "type": "string"
                },
                "sort_by": {
                  "default": "rank",
                  "enum": [
                    "rank",
                    "backlinks",
                    "referring_pages",
                    "spam_score",
                    "broken_backlinks",
                    "first_seen",
                    "lost_date"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "target"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_backlinks_domain_pages",
            "title": "AgentSEO Backlinks Domain Pages",
            "description": "Analyze backlink-bearing pages and classify linkable assets, broken backlink pages, lost links, refresh candidates, and quality risks.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "backlinks_status_type": {
                  "default": "live",
                  "enum": [
                    "live",
                    "all",
                    "lost"
                  ],
                  "type": "string"
                },
                "dofollow_only": {
                  "default": false,
                  "type": "boolean"
                },
                "exclude_internal_backlinks": {
                  "default": true,
                  "type": "boolean"
                },
                "include_subdomains": {
                  "default": true,
                  "type": "boolean"
                },
                "internal_list_limit": {
                  "default": 10,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "limit": {
                  "default": 25,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "min_backlinks": {
                  "maximum": 10000000,
                  "minimum": 1,
                  "type": "integer"
                },
                "min_referring_domains": {
                  "maximum": 10000000,
                  "minimum": 1,
                  "type": "integer"
                },
                "min_words": {
                  "maximum": 1000000,
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "default": 0,
                  "maximum": 20000,
                  "minimum": 0,
                  "type": "integer"
                },
                "page_filter": {
                  "maxLength": 160,
                  "minLength": 1,
                  "type": "string"
                },
                "rank_scale": {
                  "default": "one_hundred",
                  "enum": [
                    "one_hundred",
                    "one_thousand"
                  ],
                  "type": "string"
                },
                "sort_by": {
                  "default": "backlinks",
                  "enum": [
                    "backlinks",
                    "referring_domains",
                    "rank",
                    "spam_score",
                    "broken_backlinks",
                    "first_visited",
                    "words_count",
                    "external_links"
                  ],
                  "type": "string"
                },
                "status_code": {
                  "maximum": 599,
                  "minimum": 100,
                  "type": "integer"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "minLength": 1,
                  "type": "string"
                },
                "title_filter": {
                  "maxLength": 160,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "target"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_backlinks_competitors",
            "title": "AgentSEO Backlinks Competitors",
            "description": "Discover backlink-profile competitors and prioritize overlap, authority, and link-gap research actions.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "exclude_large_domains": {
                  "default": true,
                  "type": "boolean"
                },
                "limit": {
                  "default": 25,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "main_domain": {
                  "default": true,
                  "type": "boolean"
                },
                "min_intersections": {
                  "maximum": 10000000,
                  "minimum": 1,
                  "type": "integer"
                },
                "min_rank": {
                  "maximum": 1000,
                  "minimum": 0,
                  "type": "integer"
                },
                "offset": {
                  "default": 0,
                  "maximum": 20000,
                  "minimum": 0,
                  "type": "integer"
                },
                "sort_by": {
                  "default": "opportunity",
                  "enum": [
                    "rank",
                    "intersections",
                    "opportunity"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "target"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_backlinks_new_lost_timeseries",
            "title": "AgentSEO Backlinks New/Lost Timeseries",
            "description": "Track new and lost backlinks/referring domains over time and classify link momentum, leakage, and volatility.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "date_from": {
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                  "type": "string"
                },
                "date_to": {
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                  "type": "string"
                },
                "group_range": {
                  "default": "month",
                  "enum": [
                    "day",
                    "week",
                    "month",
                    "year"
                  ],
                  "type": "string"
                },
                "include_subdomains": {
                  "default": true,
                  "type": "boolean"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "target"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_backlinks_page_intersection",
            "title": "AgentSEO Backlinks Page Intersection",
            "description": "Find source pages that link to competitor targets but not excluded/user targets, then prioritize link-gap outreach and quality review.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "backlinks_status_type": {
                  "default": "live",
                  "enum": [
                    "live",
                    "all",
                    "lost"
                  ],
                  "type": "string"
                },
                "broken_only": {
                  "default": false,
                  "type": "boolean"
                },
                "dofollow_only": {
                  "default": false,
                  "type": "boolean"
                },
                "exclude_internal_backlinks": {
                  "default": true,
                  "type": "boolean"
                },
                "exclude_targets": {
                  "default": [],
                  "items": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 5,
                  "type": "array"
                },
                "include_indirect_links": {
                  "default": true,
                  "type": "boolean"
                },
                "include_subdomains": {
                  "default": true,
                  "type": "boolean"
                },
                "internal_list_limit": {
                  "default": 10,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "limit": {
                  "default": 25,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "max_spam_score": {
                  "maximum": 100,
                  "minimum": 0,
                  "type": "integer"
                },
                "min_domain_rank": {
                  "maximum": 1000,
                  "minimum": 0,
                  "type": "integer"
                },
                "min_page_rank": {
                  "maximum": 1000,
                  "minimum": 0,
                  "type": "integer"
                },
                "min_rank": {
                  "maximum": 1000,
                  "minimum": 0,
                  "type": "integer"
                },
                "offset": {
                  "default": 0,
                  "maximum": 20000,
                  "minimum": 0,
                  "type": "integer"
                },
                "rank_scale": {
                  "default": "one_hundred",
                  "enum": [
                    "one_hundred",
                    "one_thousand"
                  ],
                  "type": "string"
                },
                "sort_by": {
                  "default": "rank",
                  "enum": [
                    "rank",
                    "domain_rank",
                    "page_rank",
                    "first_seen",
                    "last_seen"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "targets": {
                  "items": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 5,
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "targets"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_backlinks_opportunity_finder",
            "title": "AgentSEO Backlinks Opportunity Finder",
            "description": "Turn supplied backlink prospects, competitor link gaps, and owned assets into prioritized safe outreach, reclaim, repair, and digital PR actions.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "campaign_goal": {
                  "default": "mixed",
                  "enum": [
                    "mixed",
                    "link_gap",
                    "broken_link_building",
                    "digital_pr",
                    "resource_page",
                    "reclaim_lost_links",
                    "protect_authority"
                  ],
                  "type": "string"
                },
                "competitor_domains": {
                  "default": [],
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "existing_backlink_domains": {
                  "default": [],
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "include_outreach_angles": {
                  "default": true,
                  "type": "boolean"
                },
                "max_opportunities": {
                  "default": 20,
                  "maximum": 50,
                  "minimum": 1,
                  "type": "integer"
                },
                "max_spam_score": {
                  "default": 35,
                  "maximum": 100,
                  "minimum": 0,
                  "type": "integer"
                },
                "min_priority": {
                  "default": "medium",
                  "enum": [
                    "low",
                    "medium",
                    "high"
                  ],
                  "type": "string"
                },
                "owned_assets": {
                  "default": [],
                  "items": {
                    "properties": {
                      "linkable_reason": {
                        "type": "string"
                      },
                      "page_type": {
                        "default": "other",
                        "enum": [
                          "research",
                          "tool",
                          "guide",
                          "template",
                          "comparison",
                          "case_study",
                          "landing_page",
                          "other"
                        ],
                        "type": "string"
                      },
                      "title": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "topics": {
                        "default": [],
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "url": {
                        "format": "uri",
                        "type": "string"
                      }
                    },
                    "required": [
                      "url",
                      "title"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "prospects": {
                  "items": {
                    "properties": {
                      "broken_link": {
                        "default": false,
                        "type": "boolean"
                      },
                      "context": {
                        "type": "string"
                      },
                      "dofollow": {
                        "type": "boolean"
                      },
                      "domain_rank": {
                        "maximum": 1000,
                        "minimum": 0,
                        "type": "number"
                      },
                      "linked_competitors": {
                        "default": [],
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "lost_link": {
                        "default": false,
                        "type": "boolean"
                      },
                      "notes": {
                        "type": "string"
                      },
                      "page_rank": {
                        "maximum": 1000,
                        "minimum": 0,
                        "type": "number"
                      },
                      "source_domain": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "source_type": {
                        "default": "unknown",
                        "enum": [
                          "resource_page",
                          "article",
                          "directory",
                          "tool_list",
                          "news",
                          "partner",
                          "unknown"
                        ],
                        "type": "string"
                      },
                      "source_url": {
                        "format": "uri",
                        "type": "string"
                      },
                      "spam_score": {
                        "maximum": 100,
                        "minimum": 0,
                        "type": "number"
                      },
                      "title": {
                        "type": "string"
                      },
                      "topics": {
                        "default": [],
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "traffic_estimate": {
                        "minimum": 0,
                        "type": "number"
                      }
                    },
                    "required": [
                      "source_domain"
                    ],
                    "type": "object"
                  },
                  "maxItems": 250,
                  "minItems": 1,
                  "type": "array"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "target",
                "prospects"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_page_intersection",
            "title": "AgentSEO Page Intersection",
            "description": "Compare ranking pages to find shared page keywords or competitor-page keywords excluded from your pages.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "exclude_pages": {
                  "default": [],
                  "items": {
                    "format": "uri",
                    "type": "string"
                  },
                  "maxItems": 5,
                  "type": "array"
                },
                "ignore_synonyms": {
                  "default": true,
                  "type": "boolean"
                },
                "include_clickstream_data": {
                  "default": false,
                  "type": "boolean"
                },
                "include_serp_info": {
                  "default": false,
                  "type": "boolean"
                },
                "include_subdomains": {
                  "default": true,
                  "type": "boolean"
                },
                "intersection_mode": {
                  "default": "union",
                  "enum": [
                    "union",
                    "intersect"
                  ],
                  "type": "string"
                },
                "item_types": {
                  "default": [
                    "organic",
                    "featured_snippet"
                  ],
                  "items": {
                    "enum": [
                      "organic",
                      "paid",
                      "featured_snippet",
                      "local_pack"
                    ],
                    "type": "string"
                  },
                  "maxItems": 4,
                  "minItems": 1,
                  "type": "array"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "limit": {
                  "default": 25,
                  "maximum": 100,
                  "minimum": 5,
                  "type": "integer"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "location_code": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "max_rank": {
                  "default": 30,
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "min_search_volume": {
                  "default": 0,
                  "maximum": 10000000,
                  "minimum": 0,
                  "type": "integer"
                },
                "offset": {
                  "default": 0,
                  "maximum": 20000,
                  "minimum": 0,
                  "type": "integer"
                },
                "pages": {
                  "items": {
                    "format": "uri",
                    "type": "string"
                  },
                  "maxItems": 5,
                  "minItems": 1,
                  "type": "array"
                },
                "sort_by": {
                  "default": "opportunity",
                  "enum": [
                    "opportunity",
                    "search_volume",
                    "traffic_gap",
                    "rank",
                    "cpc"
                  ],
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                }
              },
              "required": [
                "pages"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_ai_overview_extract",
            "title": "AgentSEO AI Overview Extract",
            "description": "Extract AI Overview insights for a target keyword.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "keyword": {
                  "description": "Target keyword",
                  "type": "string"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "target_domain": {
                  "type": "string"
                }
              },
              "required": [
                "keyword"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_local_visibility_track",
            "title": "AgentSEO Local Visibility Track",
            "description": "Track local visibility for a domain across keywords and locations.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "domain": {
                  "description": "Domain to track",
                  "type": "string"
                },
                "keywords": {
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 5,
                  "minItems": 1,
                  "type": "array"
                },
                "language": {
                  "default": "en",
                  "type": "string"
                },
                "locations": {
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 3,
                  "minItems": 1,
                  "type": "array"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                }
              },
              "required": [
                "domain",
                "keywords",
                "locations"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_rank_track",
            "title": "AgentSEO Rank Track",
            "description": "Queue a rank tracking check for a URL and keyword.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "keyword": {
                  "description": "Keyword to track",
                  "type": "string"
                },
                "location": {
                  "default": "United States",
                  "type": "string"
                },
                "sync": {
                  "default": true,
                  "type": "boolean"
                },
                "url": {
                  "description": "URL to track",
                  "format": "uri",
                  "type": "string"
                }
              },
              "required": [
                "keyword",
                "url"
              ],
              "type": "object"
            }
          },
          {
            "name": "agentseo_job_status",
            "title": "AgentSEO Job Status",
            "description": "Get status/result for a previously queued job.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "job_id": {
                  "description": "Job ID",
                  "type": "string"
                }
              },
              "required": [
                "job_id"
              ],
              "type": "object"
            }
          }
        ]
      },
      "name": "AgentSEO",
      "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
      "packages": [
        {
          "registryType": "npm",
          "identifier": "@agentseo/mcp-server",
          "version": "0.1.3",
          "transport": "stdio"
        }
      ],
      "pageJsonUrl": "https://www.anchorterminal.com/tools/agentseo-mcp.json",
      "popularity": {
        "githubStars": 0,
        "npmWeekly": 34
      },
      "registryName": "dev.agentseo.www/agentseo-mcp",
      "remotes": [
        {
          "type": "streamable-http",
          "url": "https://www.agentseo.dev/mcp"
        }
      ],
      "repository": "https://github.com/AgentSEO-dev/agentseo-clients",
      "reviewed": false,
      "slug": "agentseo-mcp",
      "source": "the official MCP registry",
      "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=dev.agentseo.www/agentseo-mcp",
      "summary": "Live SEO workflow tools for Claude Code, Codex, and AI agents.",
      "updatedAt": "2026-07-20T14:09:06Z",
      "url": "https://www.anchorterminal.com/tools/agentseo-mcp",
      "vendor": "www.agentseo.dev",
      "vendorUrl": "https://www.agentseo.dev",
      "version": "0.1.4",
      "websiteUrl": "https://www.agentseo.dev",
      "where": "both",
      "why": [
        "vendor"
      ]
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/agentseo-mcp",
    "json": "https://www.anchorterminal.com/tools/agentseo-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/agentseo-mcp.md",
    "slim": "https://www.anchorterminal.com/tools/agentseo-mcp.min.md"
  },
  "markdown": "# AgentSEO\n\n\u003e Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/\n\n- Kind: MCP server, by www.agentseo.dev (https://www.agentseo.dev)\n- Category: Workflow automation (https://www.anchorterminal.com/categories/workflow-automation.md)\n- Listed because: It's published in the registry under www.agentseo.dev, a namespace the registry only gives to whoever proves they control that domain.\n- What the official MCP registry says: Live SEO workflow tools for Claude Code, Codex, and AI agents.\n\n## Facts\n\n- MCP registry: `dev.agentseo.www/agentseo-mcp` 0.1.4\n- Endpoint: https://www.agentseo.dev/mcp (streamable HTTP)\n- Package: npm `@agentseo/mcp-server` (stdio)\n- Source: https://github.com/AgentSEO-dev/agentseo-clients\n- Website: https://www.agentseo.dev\n- npm downloads a week: 34\n- GitHub stars: 0\n- Registry entry updated: 2026-07-20\n\n## Tools\n\n- Tools it lists (45, about 13,064 tokens of context, `tools/list` without credentials over MCP 2025-11-25, checked 2026-10-04 22:24 UTC):\n  - `agentseo_search`: Perform a Google search with optional domain filters.\n  - `agentseo_extract`: Extract content from a URL and convert to Markdown.\n  - `agentseo_analyze_serp`: Deep analysis of Search Engine Results Page (SERP) features and competitors.\n  - `agentseo_local_audit`: Audit one Google Maps business listing. Provide its business name and city/state/country; do not pass a website URL or domain.\n  - `agentseo_content_gap`: Run content gap analysis for a URL and keyword.\n  - `agentseo_opportunities_find`: Find prioritized SEO opportunities for a domain or URL.\n  - `agentseo_opportunities_brief`: Turn one keyword or page opportunity into an implementation-ready brief.\n  - `agentseo_content_refresh_brief`: Create a refresh brief for an existing URL and keyword.\n  - `agentseo_content_serp_outline`: Turn live SERP intent into a writer- and agent-ready page outline.\n  - `agentseo_content_brief`: Turn live SERP intent into a production-ready content brief for writers and coding agents.\n  - `agentseo_content_draft_qa`: Validate a draft URL or markdown against live SERP expectations before publishing.\n  - `agentseo_content_schema_plan`: Plan JSON-LD schema for a URL or markdown page without a provider call.\n  - `agentseo_content_internal_links`: Find internal link opportunities from a source page to required supplied target pages.\n  - `agentseo_content_title_meta`: Generate SEO title and meta description options for a URL or markdown page.\n  - `agentseo_content_keyword_map`: Map supplied keywords to supplied pages and flag missing pages or cannibalization risks.\n  - `agentseo_content_technical_qa`: Run pre-publish SEO QA for metadata, indexability, canonical, headings, schema, links, and media.\n  - `agentseo_content_action_plan`: Turn supplied SEO opportunities into a capacity-aware content calendar and execution plan.\n  - `agentseo_site_sitemap_audit`: Audit sitemap coverage, orphan-page candidates, important URLs, canonical/indexability noise, and internal-link gaps.\n  - `agentseo_serp_volatility`: Compare supplied SERP snapshots to detect rank churn, top-domain churn, feature changes, and target visibility movement.\n  - `agentseo_page_cro_qa`: Audit SEO landing pages for value proposition clarity, CTA strength, trust proof, objection handling, and conversion friction.\n  - `agentseo_ai_visibility_prompt_set`: Build stable AI visibility prompt sets mapped to owned assets, platforms, competitors, citations, and weekly action routing.\n  - `agentseo_content_programmatic_template`: Plan safe programmatic SEO templates with uniqueness rules, indexation gates, internal links, schema guidance, and launch QA.\n  - `agentseo_content_cannibalization`: Detect overlapping SEO pages and recommend safe consolidation, differentiation, canonical, and internal-link fixes.\n  - `agentseo_content_competitor_gap_matrix`: Compare supplied own and competitor pages to find missing topics, weak coverage, format gaps, and buyer-stage gaps.\n  - `agentseo_keyword_ideas_suggest`: Expand one seed keyword into prioritized long-tail keyword ideas with search metrics.\n  - `agentseo_keyword_metrics_overview`: Score a supplied keyword list with search metrics and page-priority guidance.\n  - `agentseo_domain_ranked_keywords`: Find ranked keywords for a domain, subdomain, or URL and prioritize refresh opportunities.\n  - `agentseo_domain_relevant_pages`: Find traffic-carrying pages for a domain and route them into protect, refresh, expand, or recover actions.\n  - `agentseo_domain_competitors`: Discover search competitors for a domain and prioritize overlap, traffic gaps, and next analysis actions.\n  - `agentseo_domain_intersection`: Compare two domains to find shared keyword deficits, advantages, and target1-exclusive keyword opportunities.\n  - `agentseo_domain_traffic_estimate`: Compare estimated search traffic across multiple domains, subdomains, or URLs before spending deeper analysis credits.\n  - `agentseo_backlinks_summary`: Summarize backlink authority, referring domains, spam risk, broken backlinks, and next SEO actions for a domain, subdomain, or URL.\n  - `agentseo_backlinks_list`: Return a bounded list of actionable backlinks and classify each one for protection, repair, reclaim, quality review, or outreach reference.\n  - `agentseo_backlinks_anchors`: Analyze backlink anchor text groups and classify branded, commercial, generic, URL, risky, broken, or lost anchor patterns.\n  - `agentseo_backlinks_referring_domains`: Analyze referring domains and classify authority, lost-domain recovery, broken-link repair, quality review, and outreach patterns.\n  - `agentseo_backlinks_domain_pages`: Analyze backlink-bearing pages and classify linkable assets, broken backlink pages, lost links, refresh candidates, and quality risks.\n  - `agentseo_backlinks_competitors`: Discover backlink-profile competitors and prioritize overlap, authority, and link-gap research actions.\n  - `agentseo_backlinks_new_lost_timeseries`: Track new and lost backlinks/referring domains over time and classify link momentum, leakage, and volatility.\n  - `agentseo_backlinks_page_intersection`: Find source pages that link to competitor targets but not excluded/user targets, then prioritize link-gap outreach and quality review.\n  - `agentseo_backlinks_opportunity_finder`: Turn supplied backlink prospects, competitor link gaps, and owned assets into prioritized safe outreach, reclaim, repair, and digital PR actions.\n  - `agentseo_page_intersection`: Compare ranking pages to find shared page keywords or competitor-page keywords excluded from your pages.\n  - `agentseo_ai_overview_extract`: Extract AI Overview insights for a target keyword.\n  - `agentseo_local_visibility_track`: Track local visibility for a domain across keywords and locations.\n  - `agentseo_rank_track`: Queue a rank tracking check for a URL and keyword.\n  - `agentseo_job_status`: Get status/result for a previously queued job.\n- How its tools read to an agent (0 errors, 90 warnings, 1 note, about 13,064 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score):\n  - warn TC11 agentseo_ai_overview_extract: 4 parameters without a description: language, location, sync, target_domain\n  - warn TC11 agentseo_ai_visibility_prompt_set: none of its 15 parameters has a description\n  - warn TC11 agentseo_analyze_serp: 4 parameters without a description: device, language, location, sync\n  - warn TC11 agentseo_backlinks_anchors: none of its 15 parameters has a description\n  - warn TC11 agentseo_backlinks_competitors: none of its 9 parameters has a description\n  - warn TC11 agentseo_backlinks_domain_pages: none of its 17 parameters has a description\n  - warn TC11 agentseo_backlinks_list: none of its 15 parameters has a description\n  - warn TC11 agentseo_backlinks_new_lost_timeseries: none of its 6 parameters has a description\n  - warn TC11 agentseo_backlinks_opportunity_finder: none of its 11 parameters has a description\n  - warn TC11 agentseo_backlinks_page_intersection: none of its 18 parameters has a description\n  - warn TC11 agentseo_backlinks_referring_domains: none of its 16 parameters has a description\n  - warn TC11 agentseo_backlinks_summary: none of its 9 parameters has a description\n  - warn TC11 agentseo_content_action_plan: none of its 8 parameters has a description\n  - warn TC11 agentseo_content_brief: 8 parameters without a description: brand_voice, brief_depth, device, include_serp_outline, language, location and 2 more\n  - warn TC11 agentseo_content_cannibalization: none of its 5 parameters has a description\n  - warn TC11 agentseo_content_competitor_gap_matrix: none of its 6 parameters has a description\n  - warn TC11 agentseo_content_draft_qa: 5 parameters without a description: device, language, location, qa_depth, sync\n  - warn TC11 agentseo_content_gap: 4 parameters without a description: language, location, scrape_depth, sync\n  - warn TC11 agentseo_content_internal_links: 3 parameters without a description: keyword, max_suggestions, sync\n  - warn TC11 agentseo_content_keyword_map: none of its 5 parameters has a description\n  - warn TC11 agentseo_content_programmatic_template: none of its 17 parameters has a description\n  - warn TC11 agentseo_content_refresh_brief: 4 parameters without a description: language, location, scrape_depth, sync\n  - warn TC11 agentseo_content_schema_plan: 4 parameters without a description: include_jsonld, keyword, page_type, sync\n  - warn TC11 agentseo_content_serp_outline: 6 parameters without a description: device, include_title_options, language, location, outline_depth, sync\n\n- JSON: https://www.anchorterminal.com/api/v1/tools/agentseo-mcp.json\n- Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Indexed",
        "url": "https://www.anchorterminal.com/indexed/"
      },
      {
        "name": "AgentSEO",
        "url": ""
      }
    ],
    "description": "AgentSEO, an MCP server by www.agentseo.dev, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. Live SEO workflow tools for Claude Code, Codex, and AI agents.",
    "facts": [
      "not reviewed",
      "not ranked",
      "facts only"
    ],
    "h1": "AgentSEO",
    "image": "https://www.anchorterminal.com/assets/og/indexed.png",
    "path": "/tools/agentseo-mcp",
    "published": "",
    "section": "indexed",
    "title": "AgentSEO: MCP server, indexed from the official MCP registry",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/tools/agentseo-mcp"
  },
  "tokens": {
    "markdown": 2650,
    "slim": 2580
  },
  "version": 1
}
