Skip to main content
Glama

aso-audit-mcp

Model Context Protocol (MCP) server for App Store Optimization. Score your App Store / Google Play listing metadata, check character limits, and clean up the iOS keyword field — right inside Claude, Cursor, or any MCP client.

Built by ASO Agency · free ASO audits, keyword research & App Store / Google Play growth tools at https://asoagency.io

Install

Add it to your MCP client. No install step — npx fetches it on demand.

Claude Desktop / Cursor / generic (mcpServers config):

{
  "mcpServers": {
    "aso-audit": {
      "command": "npx",
      "args": ["-y", "aso-audit-mcp"]
    }
  }
}

Claude Code:

claude mcp add aso-audit -- npx -y aso-audit-mcp

Related MCP server: App Store Connect MCP

Tools

Tool

What it does

audit_metadata

Scores a full iOS or Android listing 0–100 and returns prioritized fixes.

check_field

Checks one field's character usage against its store limit.

keyword_field_check

Cleans the iOS 100-char keyword field: strips comma spaces, de-dupes, reports chars saved.

get_limits

Returns the official App Store / Google Play character limits.

Example

"Audit this iOS listing: title 'Habit Tracker: Daily Goals', subtitle 'Routine planner & streak coach', keywords 'habit,routine,streak,goal,planner,daily,reminder,tracker,productivity', and this description…"

ASO score: 94/100  (Grade A)  —  Apple App Store

Fields:
  • Title: 26/30
  • Subtitle: 30/30
  • Keywords: 68/100
  • Description: 1200/4000
  • Distinct keywords across fields: 12

No issues found — this listing follows ASO best practices.

More free ASO tools & audits: https://asoagency.io

Store limits it enforces

  • iOS — title 30, subtitle 30, keywords 100, promo text 170, description 4000

  • Android — title 30, short description 80, full description 4000

Run / develop locally

npm install
npm test          # engine checks
npm start         # run the server over stdio

License

MIT © ASO Agency

Available Tools

4 tools
audit_metadataAudit app store metadataA

Score App Store (iOS) or Google Play (Android) listing metadata against ASO best practices (0–100) and return specific, prioritized fixes. Built by asoagency.io.

ParametersJSON Schema
NameRequiredDescriptionDefault
promoNoiOS promotional text (max 170 chars).
titleNoApp name / title (max 30 chars).
keywordsNoiOS hidden keywords field, comma-separated (max 100 chars).
platformYesTarget store: 'ios' (Apple App Store) or 'android' (Google Play).
subtitleNoiOS subtitle (max 30 chars).
descriptionNoFull description (max 4000 chars).
shortDescriptionNoGoogle Play short description (max 80 chars).

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It discloses the tool scores and returns fixes but omits any behavioral traits such as side effects, required permissions, rate limits, or whether it modifies data. The read-only nature is implied but not explicit.

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 concise sentences, no wasted words, and front-loaded with the core functionality. Every sentence adds value.

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

Completeness3/5

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

Given 7 parameters and no output schema, the description partially compensates by mentioning the return of 'specific, prioritized fixes'. However, it lacks details on the output format and how results are structured, which affects completeness.

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%, with each parameter having a description. The tool description adds no additional meaning beyond what the schema provides, so baseline 3 applies.

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 function: scoring app store metadata against ASO best practices (0–100) and returning prioritized fixes. It differentiates from siblings like check_field or keyword_field_check by being a comprehensive audit rather than a field-specific check.

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

Usage Guidelines3/5

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

The description implies usage for auditing metadata but provides no explicit guidance on when to use this tool versus siblings like check_field or get_limits. No when-not-to-use or alternative comparisons are given.

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

check_fieldCheck a single metadata fieldB

Check one metadata field's character usage against its store limit. Built by asoagency.io.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldYesWhich field to check.
valueYesThe field text to measure.
platformYesTarget store.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description bears full burden. It does not disclose whether the tool is read-only, how character usage is determined (e.g., with/without spaces), or what the output looks like.

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?

Two sentences, minimal waste. However, the attribution 'Built by asoagency.io' is unnecessary for tool function and could be removed for greater conciseness.

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

Completeness2/5

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

No output schema and no description of the return value. It is unclear what the tool returns (e.g., usage count, boolean for exceed/not, etc.), leaving a significant gap for a tool that checks against a limit.

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% with descriptions for all three parameters. The description adds no further meaning beyond the schema, which already defines 'field', 'value', and 'platform' clearly.

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 action (check) and resource (one metadata field's character usage against store limit). It distinguishes from siblings: audit_metadata likely checks multiple fields, get_limits retrieves limits, keyword_field_check focuses on keywords.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus its siblings. Does not mention alternative tools or scenarios where this tool is preferable.

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

get_limitsGet store character limitsA

Return the official App Store / Google Play metadata character limits. Built by asoagency.io.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformNoOmit to get both stores.

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only says 'Return' – a read operation – but offers no details on authentication, rate limits, or other behaviors. For a simple read tool, minimal transparency is provided.

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?

Two sentences; the first is essential, the second ('Built by asoagency.io') is non-functional branding. Nearly concise with minimal waste.

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?

For this simple tool with one optional parameter and no output schema, the description sufficiently states what is returned. No additional details are needed for the agent to use it correctly.

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%, so description adds no extra meaning. The schema already describes the optional platform parameter and its default behavior (omit for both). Description does not enhance beyond baseline.

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 returns App Store and Google Play metadata character limits, using a specific verb and resource. It naturally distinguishes from sibling tools (e.g., audit_metadata) which focus on other aspects.

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

Usage Guidelines3/5

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

The description implies usage when character limits are needed, but provides no explicit when-to-use, when-not-to-use, or alternative tools. Without guidance, the agent may not differentiate from siblings.

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

keyword_field_checkOptimize the iOS keyword fieldA

Clean up an iOS 100-character keyword field: remove spaces after commas, de-duplicate terms, and report characters saved and capacity remaining. Built by asoagency.io.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsYesThe comma-separated iOS keywords field to optimize.

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It lists the transformations (remove spaces, de-duplicate) and reporting, but does not clarify if the tool modifies data permanently or returns only a report. The behavioral scope is partially disclosed.

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 sentences, 20 words, with no filler. The action is front-loaded ('Clean up') and every sentence provides essential information. Highly 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?

For a single-parameter tool with no output schema, the description adequately covers input format, operations, and output (report on savings). Minor non-essential detail (vendor name) does not detract. Completeness is high for the tool's simplicity.

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 schema description covers 100% of the parameters but is minimal ('The comma-separated iOS keywords field to optimize'). The tool description adds significant meaning by detailing the cleaning and reporting operations, going beyond what the schema provides.

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 uses a specific verb ('Clean up') and clearly identifies the resource ('iOS 100-character keyword field') along with concrete actions (remove spaces after commas, de-duplicate terms, report savings). This distinguishes it well from sibling tools like 'audit_metadata' or 'check_field'.

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

Usage Guidelines3/5

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

The description implies usage for optimizing iOS keyword fields but does not explicitly state when to avoid using it or mention alternative tools. The context is clear but lacks explicit exclusionary guidance.

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. 4 tool updatesv1.0.0
    • First observedaudit_metadata
    • First observedcheck_field
    • First observedget_limits
    • First observedkeyword_field_check

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct ASO-related task: holistic audit, field character check, limit retrieval, and keyword cleanup. No overlap in purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (audit_metadata, check_field, get_limits, keyword_field_check), making them predictable.

Tool Count5/5

4 tools is a focused, appropriate set for ASO metadata auditing—neither too sparse nor excessive for the domain.

Completeness4/5

Covers core metadata tasks (audit, specific field check, limits, keyword optimization). Minor gaps exist, such as missing tools for full report generation or screenshot analysis.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server that connects Cursor, Claude Desktop, and other MCP clients to the official App Store Connect API—so you can manage iOS/macOS apps, TestFlight, in-app subscriptions, and store metadata via chat or automated tool calls.
    69
    139
    13
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    A Model Context Protocol server that exposes the entire Apple App Store Connect API (1,200+ operations) as MCP tools, enabling AI assistants to query apps, manage builds, handle submissions, read analytics, and more.
    30
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for ShipLocale that lets Claude read and edit localized App Store and Google Play metadata, including app copy, release notes, and screenshot texts, with optional push to live listings.
    20
    181
    MIT

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/ataygamesmode-ops/aso-audit-mcp'

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