Skip to content

AIReady

by everyai-com · remote · no sign-in to list tools · v1.0.0 · published by GitHub user everyai-com

Scan and fix your site's AI discoverability: crawler access, llms.txt, JSON-LD. Free.

Changes · 12

19 tools: 12 change things and 7 only read.

Scanned Oct 21, 2026

3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http ai-ready https://ai-ready.magicteams.ai/mcp

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • The server marks "robots_txt_for_ai" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.

    What this check looks for
  • The server marks "schema_jsonld_sample" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.

    What this check looks for
  • The server marks "ask_ai_engine" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "run": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

19 tools

Changes things 12Claude Code: ask
  • add_competitorsAdd competitors to a project so reports rank the brand against them.No findings

    Why it is in this group

    • The name "add_competitors" says "add": a word for a change.
    Description, as the server wrote it
    Add competitors to a project so reports rank the brand against them. (Requires an AIReady API key.)

    Annotations the server declares

    • title: Add competitors
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • add_promptsAdd prompts (questions buyers ask AI assistants) to a project.No findings

    Why it is in this group

    • The name "add_prompts" says "add": a word for a change.
    Description, as the server wrote it
    Add prompts (questions buyers ask AI assistants) to a project. Duplicates are skipped. (Requires an AIReady API key.)

    Annotations the server declares

    • title: Add prompts to track
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • ask_ai_engineRun one prompt through a live AI engine (ChatGPT, Gemini, Perplexity, Copilot or Google AI Mode) from a country and return the full answer, the pages it cited and, if a brand is gi…1 finding

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "ask_ai_engine" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run one prompt through a live AI engine (ChatGPT, Gemini, Perplexity, Copilot or Google AI Mode) from a country and return the full answer, the pages it cited and, if a brand is given, whether and where it was named. Costs one engine check from the workspace budget. (Requires an AIReady API key.)

    Annotations the server declares

    • title: Ask an AI engine (live)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_ai_readinessScan one website for AI discoverability: which AI crawlers robots.txt allows or blocks (OAI-SearchBot, ClaudeBot, PerplexityBot...), llms.txt, sitemap, schema.org data, meta tags a…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Scan one website for AI discoverability: which AI crawlers robots.txt allows or blocks (OAI-SearchBot, ClaudeBot, PerplexityBot...), llms.txt, sitemap, schema.org data, meta tags and Content Signals. Returns a 0-100 score, grade and prioritized fixes. Fetches only the domain's /robots.txt, /llms.txt, /sitemap.xml and homepage.

    Annotations the server declares

    • title: Check AI readiness
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • crawler_policy_guideReference table of AI crawlers and control tokens (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended...): owner, purpose and whether each drives AI citations or only…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Reference table of AI crawlers and control tokens (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended...): owner, purpose and whether each drives AI citations or only training.

    Annotations the server declares

    • title: AI crawler policy guide
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • create_projectCreate a project that tracks one brand's visibility in AI answers.No findings

    Why it is in this group

    • The name "create_project" says "create": a word for a change.
    Description, as the server wrote it
    Create a project that tracks one brand's visibility in AI answers. Optionally add competitors and prompts in the same call. Use suggest_prompts first if you don't have prompts. (Requires an AIReady API key.)

    Annotations the server declares

    • title: Start tracking a brand
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • llms_txt_draftDraft a starter llms.txt from a business name, one-line summary, key pages and contact, so AI assistants get a curated map of the site.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Draft a starter llms.txt from a business name, one-line summary, key pages and contact, so AI assistants get a curated map of the site.

    Annotations the server declares

    • title: Draft llms.txt
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • robots_txt_for_aiGenerate robots.txt rules for an AI policy: max_visibility, search_only, block_training or block_all_ai, optionally with Content-Signal lines and a sitemap reference.1 finding

    Why it is in this group

    • The description's first verb is "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "robots_txt_for_ai" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generate robots.txt rules for an AI policy: max_visibility, search_only, block_training or block_all_ai, optionally with Content-Signal lines and a sitemap reference.

    Annotations the server declares

    • title: Generate robots.txt AI rules
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • run_visibility_checkRun every active prompt of a project through every tracked engine and country.No findings

    Why it is in this group

    • The name "run_visibility_check" says "run": a word for a change.
    Description, as the server wrote it
    Run every active prompt of a project through every tracked engine and country. Starts immediately and finishes in the background (usually 1-5 minutes); poll get_run_status. Spends engine checks from the monthly budget; the estimate is returned. (Requires an AIReady API key.)

    Annotations the server declares

    • title: Run a visibility check
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • scan_project_siteRun the AI readiness scan on the project's own domain and save it to the project history.No findings

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    Description, as the server wrote it
    Run the AI readiness scan on the project's own domain and save it to the project history. (Requires an AIReady API key.)

    Annotations the server declares

    • title: Scan the project's site
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • schema_jsonld_sampleGenerate a schema.org JSON-LD snippet (organization, local_business, product or faq) to paste into a page head so AI systems identify the entity correctly.1 finding

    Why it is in this group

    • The description's first verb is "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "schema_jsonld_sample" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generate a schema.org JSON-LD snippet (organization, local_business, product or faq) to paste into a page head so AI systems identify the entity correctly.

    Annotations the server declares

    • title: Generate JSON-LD
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suggest_promptsSuggest the questions real buyers ask AI assistants in this brand's category (category, problem, comparison and branded prompts).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Suggest the questions real buyers ask AI assistants in this brand's category (category, problem, comparison and branded prompts). Does not save them; pass the ones you want to add_prompts. (Requires an AIReady API key.)

    Annotations the server declares

    • title: Suggest buyer prompts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 7Claude Code: allow
  • get_action_planPrioritized steps to get named more often: dead cited pages to redirect, readiness fixes, prompts the brand loses and what to publish for each, sites to get listed on, and competit…No findings

    Why it is in this group

    • The name "get_action_plan" says "get": a word for reading.
    Description, as the server wrote it
    Prioritized steps to get named more often: dead cited pages to redirect, readiness fixes, prompts the brand loses and what to publish for each, sites to get listed on, and competitors to close the gap with. (Requires an AIReady API key.)

    Annotations the server declares

    • title: Get the action plan
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_citationsWhich domains and pages AI engines cite for the project's prompts, which are the brand's own or a competitor's, and any of the brand's cited pages that now return 404.No findings

    Why it is in this group

    • The name "get_citations" says "get": a word for reading.
    Description, as the server wrote it
    Which domains and pages AI engines cite for the project's prompts, which are the brand's own or a competitor's, and any of the brand's cited pages that now return 404. (Requires an AIReady API key.)

    Annotations the server declares

    • title: Get cited sources
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_run_statusProgress and summary of a visibility run.No findings

    Why it is in this group

    • The name "get_run_status" says "get": a word for reading.
    Description, as the server wrote it
    Progress and summary of a visibility run. (Requires an AIReady API key.)

    Annotations the server declares

    • title: Get run status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_usageThis month's engine spend, checks run and remaining budget, plus the price per check of each engine.No findings

    Why it is in this group

    • The name "get_usage" says "get": a word for reading.
    Description, as the server wrote it
    This month's engine spend, checks run and remaining budget, plus the price per check of each engine. (Requires an AIReady API key.)

    Annotations the server declares

    • title: Get usage and budget
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_visibility_reportThe brand's AI visibility: score, mention and citation rates, average rank, share of voice vs competitors, results per engine, country and prompt, trend over runs, sentiment, and u…No findings

    Why it is in this group

    • The name "get_visibility_report" says "get": a word for reading.
    Description, as the server wrote it
    The brand's AI visibility: score, mention and citation rates, average rank, share of voice vs competitors, results per engine, country and prompt, trend over runs, sentiment, and untracked brands the engines recommend. (Requires an AIReady API key.)

    Annotations the server declares

    • title: Get visibility report
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_projectsList the workspace's tracked brands (projects) with their latest visibility summary.No findings

    Why it is in this group

    • The name "list_projects" says "list": a word for reading.
    Description, as the server wrote it
    List the workspace's tracked brands (projects) with their latest visibility summary. (Requires an AIReady API key.)

    Annotations the server declares

    • title: List tracked brands
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_promptsThe prompts a project tracks.No findings

    Why it is in this group

    • The name "list_prompts" says "list": a word for reading.
    Description, as the server wrote it
    The prompts a project tracks. (Requires an AIReady API key.)

    Annotations the server declares

    • title: List a project's prompts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http ai-ready https://ai-ready.magicteams.ai/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__ai-ready__list_projects",
      "mcp__ai-ready__get_run_status",
      "mcp__ai-ready__get_visibility_report",
      "mcp__ai-ready__get_citations",
      "mcp__ai-ready__get_action_plan",
      "mcp__ai-ready__get_usage",
      "mcp__ai-ready__list_prompts"
    ],
    "ask": [
      "mcp__ai-ready__check_ai_readiness",
      "mcp__ai-ready__crawler_policy_guide",
      "mcp__ai-ready__robots_txt_for_ai",
      "mcp__ai-ready__llms_txt_draft",
      "mcp__ai-ready__schema_jsonld_sample",
      "mcp__ai-ready__ask_ai_engine",
      "mcp__ai-ready__create_project",
      "mcp__ai-ready__add_competitors",
      "mcp__ai-ready__suggest_prompts",
      "mcp__ai-ready__add_prompts",
      "mcp__ai-ready__run_visibility_check",
      "mcp__ai-ready__scan_project_site"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as ai-ready. Review it before you use it.