Skip to main content
Glama
forgemeshlabs

ASO Score MCP

Official

aso-score-mcp — the free ASO Score Scanner

M8ven Verified

aso-score-mcp MCP server aso-score-mcp MCP server

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/15

What 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 (_agent.<domain>), /.well-known/ai

Content

Markdown content negotiation, llms.txt, LLM-readable docs (/index.md, llms-full.txt)

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 (/.well-known/mcp/server-card.json), Google A2A Agent Card (/.well-known/agent-card.json, required fields validated), Agent Skills, WebMCP

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 ≥ 18. Published on npm as @forgemeshlabs/aso-score-mcp — no clone or build needed.

npm install -g @forgemeshlabs/aso-score-mcp

Or skip the install entirely and run it with npx (recommended for MCP clients):

npx -y @forgemeshlabs/aso-score-mcp

Claude Code

claude mcp add aso -- npx -y @forgemeshlabs/aso-score-mcp

Claude 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.js

Tools

Tool

What it does

scan_site

Full ASO scan → ASO Score Report: ASO Score, level, pillar breakdown, all 34 checks with evidence + recommendations

get_fix_plan

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)

check_signal

Run one specific check (e.g. a2a-agent-card, llms-txt, x402)

list_checks

Catalog of every check with spec links

get_aso_framework

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.com

Glama / registry metadata

This repository includes glama.json for Glama MCP registry ownership and install metadata.

  • Package: @forgemeshlabs/aso-score-mcp

  • Current release: v0.1.2

  • Transport: local stdio

  • Authentication: none required for local stdio use. 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-mcp

Example 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.1.2

  • npm package: @forgemeshlabs/aso-score-mcp

  • MCP server version: 0.1.2

v0.1.2 is the ASO Score TDQS refresh: it improves Glama tool-selection guidance, adds Glama badges, and keeps registry metadata ready for a refreshed Glama release.

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=dev

Runtime command:

node dist/index.js

In 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: true to 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.

  • BoundedGET only, ASO-Scanner/1.0 UA, max 6 concurrent, 10s timeout, 512KB body cap. Never authenticates, never POSTs, never crawls beyond well-known paths.

  • Tested hardeningnpm test covers 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 manual and 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.txt or 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 tools
check_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebsite URL or domain to scan, e.g. https://example.com or example.com
check_idYesLowercase check slug from list_checks, e.g. 'a2a-agent-card', 'llms-txt', 'mcp-server-card', or 'x402'.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite no annotations, the description discloses what the tool returns (status, evidence, fix recommendation) and a default behavior (omits raw remote artifacts). While it doesn't explicitly state non-destructive nature, it is implied by 'check' and the read-only context is reasonably conveyed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at three sentences, front-loaded with examples, and contains no redundant information. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately covers return structure (status, evidence, fix recommendation) and references sibling tools. It could elaborate on possible status values but is largely complete for a check tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are well-described in the schema. The description adds example values for check_id but no additional semantic meaning beyond what the schema provides, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs a specific agent-readiness check with examples (e.g., 'a2a-agent-card'). It explicitly distinguishes from sibling tools by contrasting use cases: targeted validation vs scan_site for complete score, get_fix_plan for roadmap, and list_checks for valid IDs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use (targeted validation after fix or debugging one signal) and when-not-to-use guidance, naming alternative tools (scan_site, get_fix_plan, list_checks) with their purposes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses that the tool is a read-only reference lookup, describing the exact content returned (pillars, weights, levels, thresholds, rubric) and confirming no side effects or destructive actions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loading the core purpose and output, followed by usage guidance. Every sentence adds value without verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description provides sufficient context for an agent to understand the tool's behavior and output. It mentions the source URL and key contents, though the exact data structure is not specified. Still, it is reasonably complete for a reference tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so the description cannot add parameter-specific meaning. Baseline 4 is appropriate as there is no need for parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns the ASO framework reference, including specific components like signal pillars, weights, maturity levels, certification thresholds, and scoring rubric. This purpose is distinct from sibling tools like scan_site or check_signal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use it ('for education, documentation, or explaining how scores are calculated') and what it does not do ('it does not fetch or scan a website'), providing clear guidance relative to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebsite URL or domain to plan fixes for

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It implies read-only scanning but doesn't explicitly state lack of side effects, required permissions, or response format limitations. Adequate but lacks explicit behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and outputs; second sentence provides usage guidance. Concise with no unnecessary words. Could be split for readability but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 1 parameter, no output schema, and no annotations, the description explains the tool's outputs and differentiates from siblings. It provides enough context for correct invocation, though lacks details on return structure (since no output schema).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (1 parameter). Description adds minimal enrichment beyond schema: 'Website URL or domain to plan fixes for' is similar to schema description. Does not add format, validation, or usage nuances.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'Scan a site' and resource 'prioritized remediation plan' with specific outputs listed (signals, points, templates). Distinguishes from siblings by stating when to use each.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use this tool ('when user wants an implementation roadmap') and when to use siblings 'scan_site' and 'check_signal', providing clear decision context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the full burden. It transparently indicates this is a read-only catalog operation with no scanning or scoring. However, it does not explicitly mention idempotency or safety, though it is implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences: first states purpose and output, second states usage scenarios and a negation. No wasted words, well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters, no output schema, and no annotations, the description fully covers what it does, how to use it, and what it returns. Complete for its simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters (100% schema coverage). The description adds value by naming the specific fields returned, providing semantic context beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists the full catalog of ASO checks with specific fields (id, name, category, description, spec link). It distinguishes itself from siblings like check_signal and scan_site by explicitly noting it does not scan a site or produce a score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises use before check_signal to discover valid check ids, to build UI filters, or to explain scanner coverage. Also states what it does not do (no scan or score), effectively guiding when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebsite URL or domain to scan, e.g. https://example.com or example.com
categoriesNoOptional category filter for focused scans. Omit for all 34 checks; pass one or more category enum values to narrow runtime and output.
include_artifactsNoOptional raw artifact return. Default false. When true, includes remote manifests such as agent.json and A2A cards as untrusted attacker-controlled data for debugging only.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully covers behavior: it runs 34 checks, returns ASO Score, maturity level, verdict, per-pillar scores, evidence, and recommendations. It also notes that include_artifacts returns untrusted data. It is thorough, though it does not explicitly state it is read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph of four well-structured sentences. It front-loads the core purpose, then usage guidance, then details, then output summary. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (34 checks, multiple output components) and no output schema, the description adequately lists return items. It could mention the output format but is otherwise complete for an agent to understand what the tool returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the purpose of categories (e.g., Discoverability) and the caution about include_artifacts returning untrusted data, which goes beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: scanning a website using the ASO framework and returning an ASO Score Report. It uses specific verbs and resources, and differentiates from sibling tools like check_signal and get_fix_plan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides when to use this tool (full baseline, competitive audit, before/after measurement) and when to use alternatives (check_signal for single signal, get_fix_plan for remediation only). This gives clear context and exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv0.1.2
    • First observedcheck_signal
    • First observedget_aso_framework
    • First observedget_fix_plan
    • First observedlist_checks
    • First observedscan_site

TDQS

A4.5/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/forgemeshlabs/aso-score-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server