aso-audit-mcp
Provides tools to audit and score Android Google Play listing metadata, checking character limits and suggesting ASO improvements.
Provides tools to audit and score iOS App Store listing metadata, checking field limits, cleaning keywords, and giving optimization recommendations.
Provides tools to audit and score Google Play listing metadata, enforcing character limits and calculating ASO scores.
Provides tools to audit and score iOS App Store listing metadata, including title, subtitle, keyword, and description optimization.
Click on "Install 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-audit-mcpaudit this iOS listing: title 'MyApp', subtitle 'Best', keywords 'app,tool'"
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-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-mcpRelated MCP server: App Store Connect MCP
Tools
Tool | What it does |
| Scores a full iOS or Android listing 0–100 and returns prioritized fixes. |
| Checks one field's character usage against its store limit. |
| Cleans the iOS 100-char keyword field: strips comma spaces, de-dupes, reports chars saved. |
| 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.ioStore 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 stdioLicense
MIT © ASO Agency
Available Tools
4 toolsaudit_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.
| Name | Required | Description | Default |
|---|---|---|---|
| promo | No | iOS promotional text (max 170 chars). | |
| title | No | App name / title (max 30 chars). | |
| keywords | No | iOS hidden keywords field, comma-separated (max 100 chars). | |
| platform | Yes | Target store: 'ios' (Apple App Store) or 'android' (Google Play). | |
| subtitle | No | iOS subtitle (max 30 chars). | |
| description | No | Full description (max 4000 chars). | |
| shortDescription | No | Google Play short description (max 80 chars). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| field | Yes | Which field to check. | |
| value | Yes | The field text to measure. | |
| platform | Yes | Target store. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Omit to get both stores. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| keywords | Yes | The comma-separated iOS keywords field to optimize. |
TDQS
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.
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.
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.
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.
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.
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.
4 tool updates
v1.0.0- First observed
audit_metadata - First observed
check_field - First observed
get_limits - First observed
keyword_field_check
TDQS
Each tool targets a distinct ASO-related task: holistic audit, field character check, limit retrieval, and keyword cleanup. No overlap in purposes.
All tool names follow a consistent verb_noun snake_case pattern (audit_metadata, check_field, get_limits, keyword_field_check), making them predictable.
4 tools is a focused, appropriate set for ASO metadata auditing—neither too sparse nor excessive for the domain.
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
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
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
Related MCP Servers
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server for Apple's App Store Connect API. Manage your iOS, macOS, tvOS, and visionOS apps directly from Claude, Cursor, or any MCP-compatible client.528924MIT
- AlicenseAqualityCmaintenanceA 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.6913913MIT
- AlicenseNot gradedqualityAmaintenanceA 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.30MIT

shiplocale-mcpofficial
AlicenseAqualityBmaintenanceMCP 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.20181MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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