Koskamo

AEO Lookup MCP

Provides free, keyless access to AEO tools including AI crawler checks, schema validation, llms.txt verification, and answer-readiness scoring for public web pages, along with AI impact calculators for business owners.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

AEO Lookup MCP logo, by AEO LookupVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by AEO Lookup
MCP endpoint (Streamable HTTP)
https://aeolookup.com/mcp
Vendor documentation

What you can do with it

  • Check if AI assistants can read a site via robots.txt and firewall signals
  • Validate JSON-LD schema against Google and answer engine properties
  • Score page answer-readiness and identify fixes for better citation
  • Calculate potential AI savings and staff impact for small firms

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
aeolookup 1.0.0
MCP protocol
2025-06-18
Tools
11 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Free answer-engine-optimisation checks for any public web page, plus business AI calculators. For a site, start with run_aeo_audit, then use the single checks for detail; the checks take a "url" and only read public pages. For a business owner asking what AI could save them, use calculate_ai_savings, calculate_ai_time_saved, estimate_ai_staff_impact, check_job_ai_risk or score_ai_readiness: they need no url, return a partial estimate with its sources, and point to a free AI audit for the full breakdown.

Tools

11 advertised

check_ai_crawler_access — AI crawler checker
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Checks whether the crawlers behind ChatGPT, Claude, Perplexity, Google AI Overviews, Copilot and 14 more may read a page: robots.txt rules (RFC 9309), robots meta and X-Robots-Tag directives, and whether the site's firewall refuses each crawler's user agent. Separates search and user crawlers (which decide whether you can be cited) from training crawlers (which do not). Free, no key. Docs: https://aeolookup.com/aeo-tools/ai-crawler-checker/

check_ai_crawler_access input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "The page or site to check, for example https://example.co.uk/ (https:// is added if missing)."
    },
    "path": {
      "type": "string",
      "description": "Optional path to test instead of the URL's own path, for example /blog/."
    }
  }
}
check_ai_crawler_access annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
check_structured_data — Schema checker
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Extracts every JSON-LD block on a page, lists the schema.org types it describes, flags missing required and recommended properties (Organization, LocalBusiness, Article, FAQPage, Product, Service, Person, BreadcrumbList, Event) and scores entity signals: a named organisation, sameAs links to other profiles, a logo and an @id. Free, no key. Docs: https://aeolookup.com/aeo-tools/schema-checker/

check_structured_data input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "The page or site to check, for example https://example.co.uk/ (https:// is added if missing)."
    }
  }
}
check_structured_data annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
validate_llms_txt — llms.txt validator
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Fetches /llms.txt (or the llms.txt address given), validates it against the llmstxt.org proposal (one H1, optional summary, H2 sections of [name](url): notes links), tests up to eight of its links and reports whether llms-full.txt exists. States the evidence on how little the file is read. Free, no key. Docs: https://aeolookup.com/aeo-tools/llms-txt-validator/

validate_llms_txt input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "The page or site to check, for example https://example.co.uk/ (https:// is added if missing)."
    },
    "check_links": {
      "type": "boolean",
      "description": "Test up to eight of the file's links that are on its own site (default true)."
    }
  }
}
validate_llms_txt annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
generate_llms_txt — llms.txt generator
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Drafts an llms.txt for a site: the name and summary from its home page, then its pages from the sitemap grouped by section, with titles and descriptions read from up to 24 pages. Returns the file as text, for a person to edit before publishing. Free, no key. Docs: https://aeolookup.com/aeo-tools/llms-txt-validator/

generate_llms_txt input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "The page or site to check, for example https://example.co.uk/ (https:// is added if missing)."
    },
    "max_links": {
      "type": "integer",
      "maximum": 100,
      "minimum": 5,
      "description": "Roughly how many links to include (default 40)."
    }
  }
}
generate_llms_txt annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
score_answer_readiness — Answer-readiness checker
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Scores a page out of 100 on 14 published checks: indexable, title and description, one H1, question headings, direct first-sentence answers, structured data, dates, a named author, lists and tables, source links, specific figures, length, declared language and stock AI phrasing. Returns each check's points, what it found and the fix, ordered by points available. Free, no key. Docs: https://aeolookup.com/aeo-tools/answer-readiness-checker/

score_answer_readiness input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "The page or site to check, for example https://example.co.uk/ (https:// is added if missing)."
    }
  }
}
score_answer_readiness annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
run_aeo_audit — Full AEO audit
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Runs all four checks on one address (AI crawler access, structured data, llms.txt, answer readiness) and returns each result plus an overall score: the mean of the crawler, schema and answer-readiness scores. llms.txt is reported but not scored, because the evidence says few systems read it. Free, no key. Docs: https://aeolookup.com/aeo-tools/api/

run_aeo_audit input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "The page or site to check, for example https://example.co.uk/ (https:// is added if missing)."
    }
  }
}
run_aeo_audit annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
calculate_ai_savings — AI savings calculator
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Estimates how much a UK business could save a year by handing admin to AI: a range in pounds from team size, weekly admin hours per person, hourly pay (default the ONS 2025 UK median) and sector exposure (Department for Education ranking), with two or three insights. Partial by design: the free AI audit gives the full breakdown. Free, no key. Docs: https://aeolookup.com/ai-calculators/ai-savings-calculator/

calculate_ai_savings input schema
{
  "type": "object",
  "required": [
    "staff"
  ],
  "properties": {
    "staff": {
      "type": "integer",
      "maximum": 5000,
      "minimum": 1,
      "description": "Number of staff."
    },
    "industry": {
      "enum": [
        "accountancy",
        "legal",
        "property",
        "recruitment",
        "marketing",
        "it",
        "consulting",
        "health",
        "retail",
        "education",
        "hospitality",
        "trades",
        "manufacturing",
        "other"
      ],
      "type": "string",
      "description": "The business sector (default other)."
    },
    "hourly_pay": {
      "type": "number",
      "maximum": 500,
      "minimum": 5,
      "description": "Average hourly pay in pounds (default 19.67, the UK median)."
    },
    "admin_hours": {
      "type": "number",
      "maximum": 50,
      "minimum": 0.5,
      "description": "Hours of admin each person does a week (default 10)."
    }
  }
}
calculate_ai_savings annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
calculate_ai_time_saved — AI time-saved calculator
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Estimates the hours a week AI could save one person or a team, from the hours spent on seven everyday task types (email, scheduling, quotes and invoices, data entry, customer questions, documents, marketing), using a share per task informed by IPPR and McKinsey research. Returns a range and the task with the biggest saving. Free, no key. Docs: https://aeolookup.com/ai-calculators/ai-time-saved-calculator/

calculate_ai_time_saved input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "data": {
      "type": "number",
      "maximum": 60,
      "minimum": 0,
      "description": "Hours a week one person spends on data entry, admin and updating records (default 0)."
    },
    "email": {
      "type": "number",
      "maximum": 60,
      "minimum": 0,
      "description": "Hours a week one person spends on email and messages (default 0)."
    },
    "people": {
      "type": "integer",
      "maximum": 1000,
      "minimum": 1,
      "description": "How many people spend their week like this (default 1)."
    },
    "quotes": {
      "type": "number",
      "maximum": 60,
      "minimum": 0,
      "description": "Hours a week one person spends on quotes, invoices and chasing payments (default 0)."
    },
    "customers": {
      "type": "number",
      "maximum": 60,
      "minimum": 0,
      "description": "Hours a week one person spends on answering customer questions (phone, chat, email) (default 0)."
    },
    "documents": {
      "type": "number",
      "maximum": 60,
      "minimum": 0,
      "description": "Hours a week one person spends on reports, proposals and documents (default 0)."
    },
    "marketing": {
      "type": "number",
      "maximum": 60,
      "minimum": 0,
      "description": "Hours a week one person spends on social posts, newsletters and marketing copy (default 0)."
    },
    "scheduling": {
      "type": "number",
      "maximum": 60,
      "minimum": 0,
      "description": "Hours a week one person spends on scheduling, bookings and reminders (default 0)."
    }
  }
}
calculate_ai_time_saved annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
estimate_ai_staff_impact — Will AI replace my staff?
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Estimates how much of a team's work AI could take on today, as full-time roles' worth of tasks, from headcount in seven role groups, ordered by the Department for Education's exposure ranking. Measures tasks, not people. Free, no key. Docs: https://aeolookup.com/ai-calculators/will-ai-replace-my-staff/

estimate_ai_staff_impact input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "admin": {
      "type": "integer",
      "maximum": 5000,
      "minimum": 0,
      "description": "How many people work as admin, reception and office support (default 0)."
    },
    "finance": {
      "type": "integer",
      "maximum": 5000,
      "minimum": 0,
      "description": "How many people work as bookkeeping, payroll and finance admin (default 0)."
    },
    "handson": {
      "type": "integer",
      "maximum": 5000,
      "minimum": 0,
      "description": "How many people work as hands-on staff (trades, care, kitchen, warehouse, drivers) (default 0)."
    },
    "customer": {
      "type": "integer",
      "maximum": 5000,
      "minimum": 0,
      "description": "How many people work as customer service and phone sales (default 0)."
    },
    "managers": {
      "type": "integer",
      "maximum": 5000,
      "minimum": 0,
      "description": "How many people work as managers and directors (default 0)."
    },
    "marketing": {
      "type": "integer",
      "maximum": 5000,
      "minimum": 0,
      "description": "How many people work as marketing and content (default 0)."
    },
    "professional": {
      "type": "integer",
      "maximum": 5000,
      "minimum": 0,
      "description": "How many people work as professionals (accountants, solicitors, consultants, analysts) (default 0)."
    }
  }
}
estimate_ai_staff_impact annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
check_job_ai_risk — Is my job at risk from AI?
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Rates a UK occupation's exposure to AI (high, medium or low, following the Department for Education's 2023 ranking), the share of its tasks AI can do today and the tasks it reaches first. Free, no key. Docs: https://aeolookup.com/ai-calculators/is-my-job-at-risk-from-ai/

check_job_ai_risk input schema
{
  "type": "object",
  "required": [
    "job"
  ],
  "properties": {
    "job": {
      "enum": [
        "management-consultant",
        "accountant",
        "solicitor",
        "telephone-sales",
        "admin-assistant",
        "customer-service",
        "marketing",
        "hr-officer",
        "software-developer",
        "estate-agent",
        "recruiter",
        "teacher",
        "manager",
        "nurse",
        "sales-rep",
        "chef",
        "care-worker",
        "electrician",
        "roofer",
        "driver",
        "hairdresser",
        "cleaner"
      ],
      "type": "string",
      "description": "The occupation."
    }
  }
}
check_job_ai_risk annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}
score_ai_readiness — AI readiness score
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Scores how ready a small business is to put AI tools to work, out of 100, from eight yes or no questions (digital records, one customer system, written processes, known repetitive tasks, current AI use, an owner, a clear website, time to bed in), and names the two biggest gaps. Free, no key. Docs: https://aeolookup.com/ai-calculators/ai-readiness-score/

score_ai_readiness input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "time": {
      "type": "boolean",
      "description": "You could give a new tool two or three hours a week for a month to bed in (15 points)."
    },
    "owner": {
      "type": "boolean",
      "description": "One person is responsible for trying AI in the business (10 points)."
    },
    "using": {
      "type": "boolean",
      "description": "Someone on the team already uses an AI assistant such as ChatGPT or Copilot every week (10 points)."
    },
    "digital": {
      "type": "boolean",
      "description": "Most of your business records are in software, not on paper or in heads (15 points)."
    },
    "website": {
      "type": "boolean",
      "description": "Your website answers customers' common questions clearly, so AI assistants can find and quote you (10 points)."
    },
    "onePlace": {
      "type": "boolean",
      "description": "Customer details live in one system (a CRM, booking or accounts tool), not scattered across inboxes (15 points)."
    },
    "processes": {
      "type": "boolean",
      "description": "Your routine jobs (quoting, booking, onboarding, invoicing) follow written steps (15 points)."
    },
    "repetitive": {
      "type": "boolean",
      "description": "You can name the three most repetitive tasks in your week (10 points)."
    }
  }
}
score_ai_readiness annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
502 ms
95th percentile latency
502 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 502 ms · metadata changed · 11 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http aeo-lookup-mcp https://aeolookup.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add aeo-lookup-mcp --url https://aeolookup.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable aeo-lookup-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "aeo-lookup-mcp": {
      "url": "https://aeolookup.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "aeo-lookup-mcp": {
      "type": "streamableHttp",
      "url": "https://aeolookup.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start aeo-lookup-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "aeo-lookup-mcp": {
      "type": "http",
      "url": "https://aeolookup.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http aeo-lookup-mcp https://aeolookup.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "aeo-lookup-mcp": {
      "url": "https://aeolookup.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "aeo-lookup-mcp": {
      "serverUrl": "https://aeolookup.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like AEO Lookup MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run AEO Lookup MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing