ASO Score MCP
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ASO Score MCP Scan example.com and give me my ASO score"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
aso-score-mcp — the free ASO Score Scanner
What's your ASO score?
SEO made you visible to search engines. ASO (Agent Signal Optimization) makes you discoverable, trustable, and payable by the AI agents that are becoming the web's next visitors.
aso-score-mcp is the free, open-source ASO Score MCP — an MCP server that scans any website and produces an ASO Score Report scored on the open ASO framework. The beta npm package is @forgemeshlabs/aso-score-mcp.
This release tracks Google's current agent-readiness guidance without overstating it: Google Search says traditional SEO fundamentals still apply to generative AI search, llms.txt is ignored by Google Search itself, and browser agents benefit from clean DOM, screenshot, and accessibility-tree signals. The scanner keeps llms.txt because non-Google agents use it, and adds a browser-agent UX check for semantic controls, linked labels, ARIA/role fallbacks, and hidden-overlay risk.
Beta. Experimental ASO scanner for evaluating whether agents can discover, trust, understand, and use a website/API/tool. ASO scoring is experimental and will evolve as agent standards mature.
=== ASO Score Report: https://example.com ===
ASO Score: 70/100
Agent Readiness: Ready
Level: ASO-4 Trustable — Agents can verify trust, reputation, and operational signals.
Discoverability 20/20 Identity 15/20 Trust 11/15
Commerce 5/15 Reputation 4/15 Memory 15/15What it checks — 34 signals across 6 pillars
Find gaps in discovery, trust, interoperability, and commerce — every emerging agent standard in one scan:
Pillar / Category | Checks |
Discovery | robots.txt, sitemap.xml, Link headers, DNS-AID ( |
Content | Markdown content negotiation, llms.txt, LLM-readable docs ( |
Bot Access | Explicit AI crawler rules (GPTBot, ClaudeBot, Google-Extended, PerplexityBot…), Content Signals, Web Bot Auth |
Interoperability | API Catalog (RFC 9727), OAuth discovery (RFC 8414), OAuth Protected Resource (RFC 9728), auth.md, MCP Server Card ( |
Commerce | x402, MPP, UCP, ACP, machine-readable pricing |
Identity & Trust | HTTPS enforcement, JSON-LD/schema.org, agent-friendly browser UX, OpenAPI, agent.json, security.txt, status endpoint, versioning, cross-file identity & signal consistency |
Every check returns pass / partial / fail with concrete evidence and a fix recommendation. Results roll up into the six ASO pillars (Discoverability 20, Identity 20, Trust 15, Commerce 15, Reputation 15, Memory 15) → your ASO Score and maturity level.
Related MCP server: Agent Readiness MCP
Install
Requires Node.js ≥ 20. Published on npm as @forgemeshlabs/aso-score-mcp — no clone or build needed.
npm install -g @forgemeshlabs/aso-score-mcpOr skip the install entirely and run it with npx (recommended for MCP clients):
npx -y @forgemeshlabs/aso-score-mcpClaude Code
claude mcp add aso -- npx -y @forgemeshlabs/aso-score-mcpClaude Desktop / Cursor / Windsurf (any MCP client)
{
"mcpServers": {
"aso": {
"command": "npx",
"args": ["-y", "@forgemeshlabs/aso-score-mcp"]
}
}
}Development (from source)
Only needed if you're hacking on the scanner itself:
git clone https://github.com/forgemeshlabs/aso-score-mcp
cd aso-score-mcp
npm install && npm run build
claude mcp add aso -- node /path/to/aso-score-mcp/dist/index.jsTools
Tool | What it does |
| Full ASO scan → ASO Score Report: ASO Score, level, pillar breakdown, all 34 checks with evidence + recommendations |
| Prioritized remediation plan with ready-to-paste templates (robots.txt AI rules, llms.txt, agent.json, A2A agent card, MCP server card, x402 manifest, pricing.json, security.txt, status endpoint) |
| Run one specific check (e.g. |
| Catalog of every check with spec links |
| The ASO rubric: pillars, weights, levels, certification thresholds |
Use scan_site for a full baseline, check_signal for a single named signal, get_fix_plan for copy-paste remediation, list_checks to discover valid signal IDs, and get_aso_framework to explain the scoring model without scanning a site.
Try it: "Scan example.com for ASO score" · "What's my ASO score?" · "Give me a fix plan to make my site agent-ready."
CLI smoke test (from a source checkout)
npm run smoke -- https://your-site.comGlama / registry metadata
This repository includes glama.json for Glama MCP registry ownership and install metadata.
Package:
@forgemeshlabs/aso-score-mcpCurrent release:
v0.2.5Transport: local
stdioAuthentication: none required for local
stdiouse. The scanner does not ask for API keys, tokens, cookies, or third-party credentials.HTTP deployment: not enabled by this npm package. Any public HTTP deployment of this scanner must add authentication, per-client rate limits, request logging, and an egress policy before exposure.
Recommended Glama/MCP install command:
npx -y @forgemeshlabs/aso-score-mcpExample usage after connecting the server to an MCP client:
Scan https://example.com for ASO score.
Give me the ASO fix plan for example.com.
Check only the llms-txt signal for example.com.
List the ASO scanner checks.Release verification:
Git tag:
v0.2.5npm package:
@forgemeshlabs/aso-score-mcpMCP server version:
0.2.6(read frompackage.jsonat startup)
Glama release build
Glama installability requires a Glama release, which is a containerized build created from the Glama Dockerfile admin page, not a GitHub release. This repo includes a production Dockerfile and GLAMA.md with the build spec values to use in Glama:
Build steps:
npm ci
npm run build
npm prune --omit=devRuntime command:
node dist/index.jsIn Glama's CMD arguments field, enter:
["node", "dist/index.js"]Do not leave CMD arguments as []; Glama validates that field separately from the Dockerfile CMD.
The ASO framework
SEO ranks pages for people. ASO prepares services for agent selection, invocation, payment, and repeat use.
Level | Name | Score |
ASO-0 | Invisible | 0–9 |
ASO-1 | Discoverable | 10–29 |
ASO-2 | Understandable | 30–49 |
ASO-3 | Invocable | 50–69 |
ASO-4 | Trustable | 70–89 |
ASO-5 | Autonomous-Commerce-Ready | 90–100 |
Scores from this scanner are directional self-assessments. ASO Certification (ASO-3+) requires verified evidence — see the scoring rubric and agentsignaloptimization.com for audits, certification, and the full framework.
Security
This scanner makes outbound requests to URLs you give it, so it is built to resist SSRF abuse:
Scheme allow-list — only
http/https;file:,ftp:,gopher:,data:etc. are rejected.Private-target blocking — after DNS resolution, requests to loopback, private (RFC 1918), link-local, CGNAT, reserved, multicast, and the cloud metadata address (
169.254.169.254) are refused. IPv6 loopback/ULA/link-local and IPv4-mapped forms are covered too. If a hostname resolves to any private address, the scan is refused.Pinned-IP transport — each request dials the exact public IP that was validated, while TLS still verifies the original hostname. This closes the validate-then-connect DNS rebinding window.
Manual redirect validation — automatic redirect following is disabled; every hop is re-validated against the same rules, capped at 5 redirects. A public URL that 30x-redirects to an internal address cannot slip through.
Untrusted remote content — parsed manifests are omitted from tool output by default (
include_artifacts: trueto opt in, and they are then explicitly labeled untrusted); embedded text excerpts are control-char-sanitized and length-capped. Treat any returned remote content as data, never instructions.Bounded —
GETonly,ASO-Scanner/1.0UA, max 6 concurrent, 10s timeout, 512KB body cap. Never authenticates, never POSTs, never crawls beyond well-known paths.Tested hardening —
npm testcovers unsafe URL rejection, private IP ranges, artifact sanitization, redirect blocking, redirect hop caps, and the test-only loopback escape hatch.
Deployment: stdio (local, per-user) is the safe default. A public HTTP deployment is a network-egress tool and must add authentication, per-client rate limiting, request logging, and an egress policy before exposure.
Reputation signals (citations, reviews, success rates) cannot be auto-verified by a crawler; they are reported as
manualand scored 0 until verified by audit — so the auto-verifiable maximum is 89/100. That is intentional honesty, not a bug.Emerging specs (MCP Server Cards SEP-1649/SEP-2127, DNS-AID, Web Bot Auth, UCP/ACP/MPP) move fast. PRs updating paths welcome.
Source alignment
This package intentionally separates Google Search guidance from broader ASO guidance:
Google Search generative AI features still rely on core Search ranking and quality systems; foundational SEO, crawlability, helpful content, and technical clarity remain the priority.
Google Search does not use
llms.txtor special AI markdown files for ranking or AI Overviews/AI Mode visibility. ASO still checks them because other agents and MCP clients can use them.Google/web.dev's agent-friendly site guidance focuses on browser-agent usability: stable layouts, semantic HTML, labels tied to inputs, meaningful roles/names/states, and avoiding hidden overlays.
UCP, AP2, A2A, MCP, x402, DNS-AID, Content Signals, and Web Bot Auth are emerging non-SEO protocols. The scanner treats them as agent-readiness signals, not as Google Search ranking factors.
Primary references:
License
MIT — free for everyone. If the scanner found gaps, the ASO framework shows you how to close them.
Available Tools
5 toolscheck_signalRun a single agent-readiness checkA
Run one specific agent-readiness check against a site (e.g. 'a2a-agent-card', 'llms-txt', 'mcp-server-card', 'x402'). Use this for targeted validation after making a fix or when debugging one signal; use scan_site for the complete ASO Score and get_fix_plan for a prioritized remediation roadmap. Use list_checks first when you need valid check ids. Returns status, evidence, and a fix recommendation, and omits raw remote artifacts by default.
Inputs: url (required), check_id (required).
get_aso_frameworkASO framework referenceA
Return the ASO (Agent Signal Optimization) framework reference: the six signal pillars with point weights, the Agent Readiness Index maturity levels (ASO-0 through ASO-5), certification thresholds, and the scoring rubric. Use this for education, documentation, or explaining how scores are calculated; it does not fetch or scan a website. Source: https://agentsignaloptimization.com
Inputs: no named parameters.
get_fix_planGet a prioritized ASO fix planA
Scan a site and return a prioritized remediation plan: which signals to add first, the ASO Score points each fix is worth, and ready-to-paste artifact templates (robots.txt AI rules, llms.txt, agent.json, A2A agent-card.json, MCP server card, x402 manifest, pricing.json, security.txt, status endpoint). Use this when the user wants an implementation roadmap or copy-paste fixes; use scan_site when they need full evidence and per-check scoring, and use check_signal to verify one completed fix.
Inputs: url (required).
list_checksList all agent-readiness checksA
List the full catalog of supported ASO checks with id, name, category, description, and spec link. Use this before check_signal to discover valid check ids, to build UI filters, or to explain the scanner coverage; it does not scan a site or produce a score.
Inputs: no named parameters.
scan_siteASO Scan — measure your ASO ScoreA
Scan a website for Agent Readiness using the ASO (Agent Signal Optimization) framework and return an ASO Score Report. Use this for a full site-level baseline, competitive audit, or before/after readiness measurement; use check_signal instead when you only need one named signal, and use get_fix_plan when you only need remediation steps. Runs 34 checks across discoverability (robots.txt, sitemap, llms.txt, DNS-AID, Link headers), content accessibility (markdown negotiation), bot access control (AI bot rules, Content Signals, Web Bot Auth), invocation (API catalog, OAuth discovery, OAuth protected resource, auth.md, MCP Server Card, Google A2A Agent Card, Agent Skills, WebMCP), commerce (x402, MPP, UCP, ACP, pricing), Google generative AI search basics, browser-agent UX, and identity/trust signals. Returns the ASO Score (0-100, formally the Agent Readiness Index), ASO maturity level (ASO-0 Invisible … ASO-5 Autonomous-Commerce-Ready), an agent-readiness verdict, per-pillar scores, per-check evidence, and prioritized recommendations.
Inputs: url (required), categories, include_artifacts.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool serves a uniquely scoped purpose: targeted single-check validation (check_signal), framework education (get_aso_framework), prioritized remediation (get_fix_plan), check catalog discovery (list_checks), and full site scanning (scan_site). Descriptions explicitly differentiate overlapping tools like get_fix_plan and scan_site by intended use case.
All tool names follow a uniform verb_noun pattern with lowercase and underscores (e.g., check_signal, get_aso_framework, list_checks). Verbs are descriptive and consistently paired with singular or plural nouns appropriate to the operation.
With exactly 5 tools, the set is compact yet covers all core operations: listing, single-check, full scan, remediation, and framework reference. No tool feels superfluous, and the count matches the server's specialized scope without under- or over-provisioning.
The tool surface covers the full lifecycle of ASO scoring: discover checks (list_checks), run individual checks (check_signal), perform a comprehensive scan (scan_site), obtain a remediation plan (get_fix_plan), and understand the underlying framework (get_aso_framework). There are no obvious gaps for the stated purpose of agent-readiness evaluation.
Maintenance
Related MCP Connectors
Scan any public website and see how ready it is for AI agents and AI search, explained plainly.
Scan any website for AI-agent readiness: 0-100 score, grade, and agent-simulation audit.
Scan any website's AI readiness: AI search visibility and AI agent usability. Free, no auth.
Scan a public website for AI agent readiness: 60 checks, a score, and the evidence for each.
Related MCP Servers
- AlicenseAqualityBmaintenanceScans any website and produces an Agent Readiness Report scored on the open ASO framework.5450 npm2MIT
- AlicenseAqualityBmaintenanceScans any website to generate an Agent Readiness Report based on the ASO framework, evaluating agent discoverability, trust, interoperability, and commerce readiness.5419 npmMIT
- AlicenseAqualityCmaintenanceEnables AI agents to check whether a public website is crawlable, understandable, and ready for AI search workflows through local-only audits of robots.txt, sitemaps, metadata, and llms.txt.380 npm2MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI coding agents like Claude and Cursor to audit websites for AI agent readiness, checking 199 rules across agentic discovery, content structure, and technical SEO.17Apache 2.0