App Market Intelligence MCP
The App Market Intelligence MCP server provides comprehensive market intelligence by analyzing data from both the Apple App Store and Google Play Store.
Search for apps across both stores using specific terms with filtering by country, language, price, and category
Get detailed app information including descriptions, pricing, developer details, technical specifications, screenshots, supported devices, content ratings, and installation statistics
Retrieve app reviews and ratings with distribution histograms, sorting and filtering options
Find similar apps based on user behavior and store recommendations
Access app collections and charts including top free/paid apps, new applications, and category-specific listings
Check privacy and data safety information for App Store apps and permissions required by Google Play apps
Access version history and update information with release notes for App Store apps
Explore developer portfolios to get all apps by a specific developer across both platforms
Get search suggestions to help refine app discovery queries
List categories for Google Play apps to understand market structure
Enables retrieval and analysis of Android application data, including top paid games and other Android-specific app metrics.
Provides comprehensive market intelligence from the Apple App Store, including detailed app information, app lists from iTunes collections, search functionality, developer apps, privacy details, search suggestions, similar apps, reviews, ratings, and version history.
Offers extensive market intelligence from the Google Play Store, including detailed app information, collection listings, search capabilities, developer apps, search suggestions, reviews, similar apps, permissions, data safety information, and category listings.
Enables retrieval and analysis of iOS application data, including top free applications and other iOS-specific app metrics.
Integrates with iTunes collections to retrieve and analyze apps available through the iTunes platform.
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., "@App Market Intelligence MCPshow me top 10 free apps in the App Store"
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.
App Market Intelligence MCP
An MCP server that provides comprehensive market intelligence by analyzing data from both the Apple App Store and Google Play Store. Get insights about apps, market trends, competitors, and user feedback across the major mobile app marketplaces.
API Coverage
App Store API Coverage
API Function | Implemented | MCP Tool Name | Description |
app | ✅ | app-store-details | Get detailed information about an App Store app |
list | ✅ | app-store-list | Retrieve apps from iTunes collections |
search | ✅ | app-store-search | Search for apps on the App Store |
developer | ✅ | app-store-developer | Get apps by a developer |
privacy | ✅ | app-store-privacy | Get privacy details for an app |
suggest | ✅ | app-store-suggest | Get search suggestions |
similar | ✅ | app-store-similar | Get similar apps |
reviews | ✅ | app-store-reviews | Get app reviews |
ratings | ✅ | app-store-ratings | Get app ratings |
versionHistory | ✅ | app-store-version-history | Get app version history |
Google Play API Coverage
API Function | Implemented | MCP Tool Name | Description |
app | ✅ | google-play-details | Get detailed app information |
list | ✅ | google-play-list | Retrieve apps from collections |
search | ✅ | google-play-search | Search for apps |
developer | ✅ | google-play-developer | Get apps by developer |
suggest | ✅ | google-play-suggest | Get search suggestions |
reviews | ✅ | google-play-reviews | Get app reviews |
similar | ✅ | google-play-similar | Get similar apps |
permissions | ✅ | google-play-permissions | Get app permissions |
datasafety | ✅ | google-play-datasafety | Get data safety information |
categories | ✅ | google-play-categories | Get list of categories |
Related MCP server: mcp-appstore
Usage
Start the MCP server:
node src/server.jsThe server exposes tools that can be used through any MCP client. For example, using Claude for Desktop, you can:
Search for apps across both stores
Get detailed app information
Read reviews and ratings
Find similar apps
Check app privacy and permissions
And more
Usage Examples
// Get top free iOS apps
{
"name": "app-store-list",
"params": {
"collection": "topfreeapplications",
"num": 10
}
}
// Get top paid Android games
{
"name": "google-play-list",
"params": {
"collection": "TOP_PAID",
"category": "GAME",
"num": 10
}
}Test with MCP Inspector
npm run test:inspector
Test with mcp-cli
npx @wong2/mcp-cli npx -y "app-insight-mcp"Usage with Claude Desktop
Add this to your claude_desktop_config.json:
Installing via Smithery
To install App Market Intelligence for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @JiantaoFu/appinsightmcp --client claudeDocker
{
"mcpServers": {
"app-insight-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"app-insight-mcp"
]
}
}
}NPX
{
"mcpServers": {
"app-insight-mcp": {
"command": "npx",
"args": [
"-y",
"@jeromyfu/app-insight-mcp"
]
}
}
}Build
Docker build:
docker build -t app-insight-mcp -f Dockerfile .Error Handling
All tools include error handling and will return appropriate error messages if:
Required parameters are missing
API calls fail
Rate limits are hit
Invalid IDs or parameters are provided
Contributing
Feel free to contribute by:
Implementing missing features
Improving error handling
Adding more API capabilities
Enhancing documentation
License
MIT
Available Tools
20 toolsapp-store-detailsC
Get detailed information about an App Store app. Returns an object with:
id: App Store ID number
appId: Bundle ID (e.g. 'com.company.app')
title: App name
url: App Store URL
description: Full app description
icon: Icon URL
genres: Array of category names
genreIds: Array of category IDs
primaryGenre: Main category name
primaryGenreId: Main category ID
contentRating: Content rating (e.g. '4+')
languages: Array of language codes
size: App size in bytes
requiredOsVersion: Minimum iOS version required
released: Initial release date (ISO string)
updated: Last update date (ISO string)
releaseNotes: Latest version changes
version: Current version string
price: Price in USD
currency: Price currency code
free: Boolean indicating if app is free
developerId: Developer's ID
developer: Developer name
developerUrl: Developer's App Store URL
developerWebsite: Developer's website URL if available
score: Current rating (0-5)
reviews: Total number of ratings
currentVersionScore: Current version rating (0-5)
currentVersionReviews: Current version review count
screenshots: Array of screenshot URLs
ipadScreenshots: Array of iPad screenshot URLs
appletvScreenshots: Array of Apple TV screenshot URLs
supportedDevices: Array of supported device IDs
ratings: Total number of ratings (when ratings option enabled)
histogram: Rating distribution by star level (when ratings option enabled)
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Numeric App ID (e.g., 553834731). Either this or appId must be provided. | |
| appId | No | Bundle ID (e.g., 'com.midasplayer.apps.candycrushsaga'). Either this or id must be provided. | |
| country | No | Country code to get app details from (default: us). Also affects data language. | us |
| lang | No | Language code for result text. If not provided, uses country-specific language. | |
| ratings | No | Load additional ratings information like ratings count and histogram |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It lists return fields but does not disclose behavioral traits such as rate limits, authentication needs, error handling, or data freshness. The mention of 'when ratings option enabled' hints at conditional behavior but lacks full transparency.
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?
The description is front-loaded with a clear purpose statement, but the extensive list of return fields (over 30 items) makes it verbose. While informative, this bulk could be streamlined or moved to an output schema if available, reducing clutter in the description.
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 the complexity (5 parameters, no output schema, no annotations), the description is partially complete. It details return values extensively, which compensates for the lack of output schema, but misses behavioral context and usage guidelines. This leaves gaps for effective tool invocation.
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 description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no parameter-specific information beyond what the schema provides, such as examples or constraints. With high schema coverage, the baseline score of 3 is appropriate.
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 purpose: 'Get detailed information about an App Store app.' It specifies the verb ('Get') and resource ('App Store app'), but does not explicitly differentiate it from siblings like 'app-store-search' or 'app-store-developer', which likely have overlapping or related purposes.
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 provides no guidance on when to use this tool versus alternatives. With siblings like 'app-store-search' (likely for finding apps) and 'app-store-developer' (likely for developer info), there is no indication of context, prerequisites, or exclusions for using this detailed info tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app-store-developerA
Get apps by a developer on the App Store. Returns a list of apps with:
id: App Store ID number
appId: Bundle ID (e.g. 'com.company.app')
title: App name
icon: Icon image URL
url: App Store URL
price: Price in USD
currency: Price currency code
free: Boolean indicating if app is free
description: App description
developer: Developer name
developerUrl: Developer's App Store URL
developerId: Developer's ID
genre: App category name
genreId: Category ID
released: Release date (ISO string)
| Name | Required | Description | Default |
|---|---|---|---|
| devId | Yes | iTunes artist ID of the developer (e.g., 284882218 for Facebook) | |
| country | No | Country code to get app details from (default: us). Also affects data language. | us |
| lang | No | Language code for result text. If not provided, uses country-specific language. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It describes the return format well but doesn't mention important behavioral aspects like whether this is a read-only operation, potential rate limits, authentication requirements, error conditions, or pagination behavior for large result sets.
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?
The description is perfectly structured: a clear purpose statement followed by a bulleted list of return fields. Every sentence earns its place, with zero wasted words. The bullet format makes return values easily scannable.
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 read-only query tool with 3 parameters and no output schema, the description adequately covers the purpose and return format. However, it lacks important contextual information about behavioral constraints (rate limits, authentication), error handling, and how it differs from sibling tools, which would be needed for optimal agent usage.
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 description coverage is 100%, so the schema already fully documents all three parameters. The description doesn't add any additional parameter semantics beyond what's in the schema. This meets the baseline 3 score when schema does the heavy lifting.
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 specific action ('Get apps by a developer') and resource ('on the App Store'), with a detailed list of returned fields. It distinguishes from siblings like app-store-search (general search) and app-store-details (single app details) by focusing on developer-specific retrieval.
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 context (when you want apps from a specific developer), but doesn't explicitly state when to use this tool versus alternatives like app-store-search (for keyword searches) or app-store-developer (Google Play equivalent). No explicit exclusions or prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app-store-listB
Get apps from iTunes collections. Returns a list of apps with:
id: App Store ID number
appId: Bundle ID (e.g. 'com.company.app')
title: App name
icon: Icon image URL
url: App Store URL
price: Price in USD
currency: Price currency code
free: Boolean indicating if app is free
description: App description
developer: Developer name
developerUrl: Developer's App Store URL
developerId: Developer's ID
genre: App category name
genreId: Category ID
released: Release date (ISO string)
| Name | Required | Description | Default |
|---|---|---|---|
| collection | Yes | Collection to fetch from. Available collections: - newapplications: New iOS applications - newfreeapplications: New free iOS applications - newpaidapplications: New paid iOS applications - topfreeapplications: Top free iOS applications - topfreeipadapplications: Top free iPad applications - topgrossingapplications: Top grossing iOS applications - topgrossingipadapplications: Top grossing iPad applications - toppaidapplications: Top paid iOS applications - toppaidipadapplications: Top paid iPad applications | |
| category | No | Category ID to filter by. Available categories: Main Categories: - 6000: BUSINESS - 6001: WEATHER - 6002: UTILITIES - 6003: TRAVEL - 6004: SPORTS - 6005: SOCIAL_NETWORKING - 6006: REFERENCE - 6007: PRODUCTIVITY - 6008: PHOTO_AND_VIDEO - 6009: NEWS - 6010: NAVIGATION - 6011: MUSIC - 6012: LIFESTYLE - 6013: HEALTH_AND_FITNESS - 6014: GAMES - 6015: FINANCE - 6016: ENTERTAINMENT - 6017: EDUCATION - 6018: BOOKS - 6020: MEDICAL - 6021: MAGAZINES_AND_NEWSPAPERS - 6022: CATALOGS - 6023: FOOD_AND_DRINK - 6024: SHOPPING Games Subcategories: - 7001: ACTION - 7002: ADVENTURE - 7003: ARCADE - 7004: BOARD - 7005: CARD - 7006: CASINO - 7007: DICE - 7008: EDUCATIONAL - 7009: FAMILY - 7011: MUSIC - 7012: PUZZLE - 7013: RACING - 7014: ROLE_PLAYING - 7015: SIMULATION - 7016: SPORTS - 7017: STRATEGY - 7018: TRIVIA - 7019: WORD Magazine Subcategories: - 13001: POLITICS - 13002: FASHION - 13003: HOME - 13004: OUTDOORS - 13005: SPORTS - 13006: AUTOMOTIVE - 13007: ARTS - 13008: WEDDINGS - 13009: BUSINESS - 13010: CHILDREN - 13011: COMPUTER - 13012: FOOD - 13013: CRAFTS - 13014: ELECTRONICS - 13015: ENTERTAINMENT - 13017: HEALTH - 13018: HISTORY - 13019: LITERARY - 13020: MEN - 13021: MOVIES_AND_MUSIC - 13023: FAMILY - 13024: PETS - 13025: PROFESSIONAL - 13026: REGIONAL - 13027: SCIENCE - 13028: TEENS - 13029: TRAVEL - 13030: WOMEN | |
| lang | No | Language code for result text. If not provided, uses country-specific language. | |
| fullDetail | No | Get full app details including ratings, reviews etc (default: false) | |
| country | No | Country code (default: us) | us |
| num | No | Number of results (default: 50, max: 200) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While it describes the return format thoroughly, it doesn't mention important behavioral aspects like rate limits, authentication requirements, pagination behavior (beyond the 'num' parameter), or whether this is a read-only operation. For a tool with 6 parameters and no annotation coverage, this represents significant gaps in behavioral transparency.
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?
The description is perfectly structured and concise - a single introductory sentence followed by a clear bulleted list of return fields. Every element serves a purpose: the opening establishes the action, and the bullets provide essential output information. There's zero wasted text or redundancy.
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 tool with 6 parameters, no annotations, and no output schema, the description provides good coverage of the return format but misses important contextual elements. It doesn't explain behavioral constraints, usage patterns, or how this tool relates to its siblings. The output format documentation is thorough, but other aspects of tool context are underdeveloped given the complexity.
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 description provides no parameter information beyond what's already in the schema. However, with 100% schema description coverage where all parameters have detailed descriptions, the baseline score is 3. The description doesn't add any additional parameter context, but the schema already does excellent work documenting each parameter's purpose and options.
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 ('Get apps from iTunes collections') and resource ('apps'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this list-focused tool from its sibling tools like app-store-search or app-store-details, which would be needed for a perfect score.
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 provides no guidance about when to use this tool versus alternatives. With multiple sibling tools available (app-store-search, app-store-details, etc.), there's no indication of when this collection-based listing is appropriate versus searching for specific apps or getting detailed information about individual apps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app-store-privacyA
Get privacy details for an App Store app. Returns an object with:
managePrivacyChoicesUrl: URL to manage privacy choices (if available)
privacyTypes: Array of privacy data types, each containing:
privacyType: Name of the privacy category
identifier: Unique identifier for the privacy type
description: Detailed description of how data is used
dataCategories: Array of data categories, each containing:
dataCategory: Category name
identifier: Category identifier
dataTypes: Array of specific data types collected
purposes: Array of purposes for data collection Note: Currently only available for US App Store.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Numeric App ID (e.g., 553834731) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the return structure in detail (object with managePrivacyChoicesUrl, privacyTypes array, etc.) and notes the geographic limitation ('only available for US App Store'), which are crucial behavioral traits. It does not mention error handling, rate limits, or authentication needs, but provides substantial context beyond the basic purpose.
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?
The description is appropriately sized and front-loaded: it starts with the core purpose, immediately details the return structure in a clear bulleted list, and ends with a critical note on availability. Every sentence earns its place by providing essential information without redundancy or fluff.
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 the complexity of returning structured privacy data, no annotations, and no output schema, the description does a strong job by detailing the return object structure extensively. It covers the key components (managePrivacyChoicesUrl, privacyTypes with nested arrays) and adds the geographic limitation. However, it lacks information on error cases or response formats for missing data, which slightly reduces completeness for a tool with no structured output schema.
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 input schema has 100% description coverage, with the 'id' parameter clearly documented as 'Numeric App ID (e.g., 553834731).' The description adds no additional parameter information, as it focuses on the output structure. According to the rules, when schema coverage is high (>80%), the baseline score is 3 even without param details in the description, which applies here.
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 specific action ('Get privacy details') and resource ('for an App Store app'), distinguishing it from sibling tools like app-store-details, app-store-ratings, or google-play-datasafety. It precisely defines the scope as privacy information rather than general details, ratings, or other app metadata.
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 context by specifying 'Currently only available for US App Store,' which provides a geographic limitation. However, it lacks explicit guidance on when to use this tool versus alternatives like google-play-datasafety for Android apps or other App Store tools for non-privacy data, and does not mention prerequisites or exclusions beyond the geographic note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app-store-ratingsB
Get ratings for an App Store app. Returns an object with:
ratings: Total number of ratings
histogram: Distribution of ratings by star level (1-5)
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Numeric App ID (e.g., 553834731). Either this or appId must be provided. | |
| appId | No | Bundle ID (e.g., 'com.midasplayer.apps.candycrushsaga'). Either this or id must be provided. | |
| country | No | Country code to get ratings from (default: us) | us |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It describes the return format (object with ratings count and histogram), which is helpful, but doesn't mention important behavioral aspects like whether this requires authentication, rate limits, error conditions, or whether the data is real-time or cached. The description adds some value but leaves significant gaps.
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?
The description is perfectly concise and well-structured. The first sentence states the core purpose, followed by a clear bulleted list of return values. Every sentence earns its place with no wasted words, and the information is front-loaded effectively.
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 no annotations and no output schema, the description provides basic return format information which is helpful. However, for a data retrieval tool with 3 parameters, it should ideally cover more behavioral context like authentication requirements, data freshness, or error handling. The description is minimally adequate but has clear gaps in 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 description coverage is 100%, so the schema already documents all three parameters thoroughly. The description doesn't add any parameter semantics beyond what's in the schema - it doesn't explain parameter relationships, provide examples beyond what's in schema descriptions, or clarify edge cases. Baseline 3 is appropriate when schema does the heavy lifting.
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 purpose: 'Get ratings for an App Store app' with specific verb ('Get') and resource ('ratings for an App Store app'). It distinguishes from some siblings like 'app-store-details' or 'app-store-reviews' by focusing on ratings data, but doesn't explicitly differentiate from all possible alternatives.
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 is provided about when to use this tool versus alternatives. While the description implies this is for App Store ratings specifically, it doesn't mention when to choose this over similar tools like 'app-store-reviews' or 'google-play-ratings' (if such a tool existed), nor does it specify prerequisites or constraints beyond what's in the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app-store-reviewsB
Get reviews for an App Store app. Returns an array of reviews with:
id: Review ID
userName: Reviewer's name
userUrl: Reviewer's profile URL
version: App version reviewed
score: Rating (1-5)
title: Review title
text: Review content
url: Review URL
updated: Review date (ISO string)
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Numeric App ID (e.g., 553834731). Either this or appId must be provided. | |
| appId | No | Bundle ID (e.g., 'com.midasplayer.apps.candycrushsaga'). Either this or id must be provided. | |
| country | No | Country code to get reviews from (default: us) | us |
| page | No | Page number to retrieve (default: 1, max: 10) | |
| sort | No | Sort order (recent or helpful) | recent |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the return format (array of reviews with specific fields) but lacks critical behavioral details: it doesn't mention whether this is a read-only operation, if it requires authentication, rate limits, pagination behavior beyond the 'page' parameter, or error handling. The description is insufficient for a tool with 5 parameters and no annotation coverage.
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?
The description is appropriately sized and front-loaded with the core purpose. The bulleted list of return fields is well-structured and informative. However, the second sentence starting with 'Returns an array...' could be more concise, and the description lacks any concluding context about limitations or usage.
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 the tool's moderate complexity (5 parameters, no output schema, no annotations), the description is partially complete. It clearly explains what the tool returns but doesn't address behavioral aspects like safety, performance, or error conditions. The absence of an output schema means the description must fully document return values, which it does adequately with the bulleted list, but other contextual gaps remain.
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 coverage is 100%, so the schema already fully documents all 5 parameters. The description adds no parameter-specific information beyond what's in the schema (e.g., it doesn't clarify the relationship between 'id' and 'appId' or provide examples of valid country codes). This meets the baseline for high schema coverage but doesn't add extra value.
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 verb ('Get') and resource ('reviews for an App Store app'), making the purpose specific and unambiguous. It distinguishes from siblings like 'app-store-ratings' (which likely provides aggregated ratings) and 'app-store-details' (which provides app metadata) by focusing on individual review data.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention siblings like 'google-play-reviews' (for Android apps) or 'app-store-ratings' (for aggregated scores), nor does it specify prerequisites or use cases beyond the basic function. This leaves the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app-store-searchC
Search for apps on the App Store. Returns a list of apps with the following fields:
id: App Store ID number
appId: Bundle ID (e.g. 'com.company.app')
title: App name
icon: Icon image URL
url: App Store URL
price: Price in USD
currency: Price currency code
free: Boolean indicating if app is free
description: App description
developer: Developer name
developerUrl: Developer's App Store URL
developerId: Developer's ID
genre: App category name
genreId: Category ID
released: Release date (ISO string)
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | Search term (required) | |
| num | No | Number of results to retrieve (default: 50) | |
| page | No | Page of results to retrieve (default: 1) | |
| country | No | Two letter country code (default: us) | us |
| lang | No | Language code for result text (default: en-us) | en-us |
| idsOnly | No | Skip extra lookup request. Returns array of application IDs only (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It lists return fields but doesn't mention critical behaviors like rate limits, authentication requirements, error handling, or pagination details (beyond the 'page' parameter). For a search tool with 6 parameters, this is insufficient for reliable agent operation.
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?
The description is appropriately sized and front-loaded: the first sentence states the purpose, followed by a structured list of return fields. There's no redundant information, though the list format is slightly verbose. Every sentence earns its place, making it efficient for agent comprehension.
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 the tool's moderate complexity (6 parameters, no output schema, no annotations), the description is partially complete. It covers the purpose and return format but lacks behavioral details (e.g., rate limits, errors) and usage guidelines relative to siblings. This is adequate for basic use but leaves gaps for robust agent operation.
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 description coverage is 100%, so the schema fully documents all 6 parameters. The description adds no parameter-specific information beyond what's in the schema, but it does list the return fields, which provides context for interpreting results. This meets the baseline for high schema coverage.
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 purpose: 'Search for apps on the App Store.' It specifies the verb ('Search') and resource ('apps on the App Store'), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'app-store-suggest' or 'google-play-search', which prevents a perfect score.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'app-store-suggest' (for autocomplete suggestions) or 'google-play-search' (for Android apps), nor does it specify use cases or exclusions. This leaves the agent with minimal context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app-store-similarA
Get similar apps ('customers also bought') from the App Store. Returns a list of apps with:
id: App Store ID number
appId: Bundle ID (e.g. 'com.company.app')
title: App name
icon: Icon image URL
url: App Store URL
price: Price in USD
currency: Price currency code
free: Boolean indicating if app is free
description: App description
developer: Developer name
developerUrl: Developer's App Store URL
developerId: Developer's ID
genre: App category name
genreId: Category ID
released: Release date (ISO string)
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Numeric App ID (e.g., 553834731). Either this or appId must be provided. | |
| appId | No | Bundle ID (e.g., 'com.midasplayer.apps.candycrushsaga'). Either this or id must be provided. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it clearly describes the return format (a list of apps with specific fields), it lacks critical behavioral information: whether this requires authentication, rate limits, pagination handling, error conditions, or what happens when neither id nor appId is provided (both are optional in schema). For a read operation with zero annotation coverage, this is insufficient.
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?
The description is appropriately sized and front-loaded with the core purpose in the first sentence. The bulleted list of return fields is necessary for clarity given no output schema, though it makes the description longer. Every element serves a purpose 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?
Given no annotations and no output schema, the description does well by documenting the return format in detail. However, it misses important contextual elements: authentication requirements, rate limits, error handling, and the implications of the optional parameters (what happens if neither is provided?). For a tool with 2 parameters and rich return data, this leaves gaps in operational understanding.
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 description coverage is 100%, with both parameters clearly documented in the schema itself (id as numeric App ID, appId as bundle ID, with 'either/or' requirement). The description adds no additional parameter semantics beyond what's already in the schema, so it meets the baseline but doesn't provide extra value.
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 verb ('Get similar apps') and resource ('from the App Store'), with the parenthetical 'customers also bought' providing additional context. It explicitly distinguishes this tool from its sibling 'app-store-details' and 'app-store-search' by focusing on similarity recommendations rather than direct lookups or searches.
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 context by specifying it's for finding similar apps based on an existing app, which naturally distinguishes it from search or detail tools. However, it doesn't explicitly state when NOT to use this tool or name specific alternatives among the many siblings (like 'app-store-search' for broader queries).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app-store-suggestC
Get search suggestions from the App Store. Returns an array of objects with:
term: Suggested search term Each suggestion has a priority from 0 (low traffic) to 10000 (most searched)
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | Search term to get suggestions for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the return format (array of objects with 'term' and priority) but doesn't cover critical aspects like rate limits, authentication needs, error conditions, or whether it's a read-only operation. For a tool with no annotations, this leaves significant behavioral gaps.
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?
The description is appropriately concise with two sentences that efficiently convey the core functionality and return format. The bullet-point style for return details is clear, though it could be slightly more structured. There's minimal wasted text, earning a high score for efficiency.
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 the tool's moderate complexity (single parameter, no output schema, no annotations), the description is partially complete. It explains what the tool does and the return format but misses behavioral context and usage guidelines. Without annotations or output schema, more detail would be helpful, but it meets minimum viability for a simple lookup tool.
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 input schema has 100% description coverage, with the single parameter 'term' clearly documented. The description adds no additional parameter semantics beyond what's in the schema. According to the rules, when schema coverage is high (>80%), the baseline score is 3 even without parameter info in the description.
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 purpose: 'Get search suggestions from the App Store.' It specifies the verb ('Get') and resource ('search suggestions'), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'app-store-search' or 'google-play-suggest,' which would be needed for a perfect score.
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 provides no guidance on when to use this tool versus alternatives. With siblings like 'app-store-search' and 'google-play-suggest' available, there's no indication of whether this is for autocomplete, pre-search filtering, or other contexts. The lack of usage context leaves the agent guessing about appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app-store-version-historyB
Get version history for an App Store app. Returns an array of versions with:
versionDisplay: Version number string
releaseNotes: Update description
releaseDate: Release date (YYYY-MM-DD)
releaseTimestamp: Release date and time (ISO string)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Numeric App ID (e.g., 444934666) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the return format (array of versions with specific fields) but lacks critical behavioral details such as whether this is a read-only operation, potential rate limits, authentication requirements, or error handling for invalid IDs. The description is insufficient for a tool with no annotation coverage.
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?
The description is front-loaded with the core purpose ('Get version history for an App Store app') and efficiently lists the return fields in a bulleted format. Every sentence earns its place by providing essential information without redundancy or fluff, making it highly concise and well-structured.
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 the tool's moderate complexity (single parameter, no output schema, no annotations), the description is partially complete. It explains the return format clearly, which compensates for the lack of output schema, but fails to address behavioral aspects like safety or constraints. It is adequate for basic use but has gaps in guidance and transparency.
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 input schema has 100% description coverage, with the 'id' parameter documented as 'Numeric App ID (e.g., 444934666)'. The description adds no additional parameter information beyond what the schema provides, such as format constraints or examples. Baseline 3 is appropriate since the schema does the heavy lifting.
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 purpose with a specific verb ('Get') and resource ('version history for an App Store app'), distinguishing it from siblings like app-store-details or app-store-reviews by focusing on historical version data rather than current details or user feedback.
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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as needing an App ID, or differentiate from similar tools like app-store-details, which might overlap in functionality. Usage is implied but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google-play-categoriesA
Get list of all Google Play categories. Returns an array of category identifiers like:
'APPLICATION': All applications
'GAME': All games
'ANDROID_WEAR': Wear OS apps
'SOCIAL': Social apps
'PRODUCTIVITY': Productivity apps etc.
These category IDs can be used with the google-play-list tool to filter apps by category. Sample response: ['AUTO_AND_VEHICLES', 'LIBRARIES_AND_DEMO', 'LIFESTYLE', ...]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly describes what the tool returns ('Returns an array of category identifiers'), provides examples of the output format, and mentions a sample response. However, it doesn't address potential limitations like rate limits or authentication requirements.
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?
The description is efficiently structured with a clear purpose statement, examples, and usage guidance in three concise paragraphs. Every sentence adds value, though the bulleted list of examples could be slightly condensed.
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 zero-parameter tool with no output schema, the description provides good context: it explains what the tool does, shows example outputs, and connects it to related tools. However, without annotations or output schema, it could benefit from more explicit behavioral details like response format guarantees.
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 tool has 0 parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, focusing instead on the output and usage context.
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 specific action ('Get list of all Google Play categories') and resource ('Google Play categories'), distinguishing it from sibling tools like google-play-list which filters apps by category. It explicitly names the tool's purpose without being tautological.
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 explicitly states when to use this tool ('These category IDs can be used with the google-play-list tool to filter apps by category'), providing clear guidance on its purpose in relation to an alternative tool. It effectively distinguishes this from other sibling tools that perform different operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google-play-datasafetyB
Get data safety information for a Google Play app. Returns an object with:
dataShared: Array of shared data items, each containing:
data: Name of the data being shared (e.g., 'User IDs')
optional: Boolean indicating if sharing is optional
purpose: Comma-separated list of purposes (e.g., 'Analytics, Marketing')
type: Category of data (e.g., 'Personal info')
dataCollected: Array of collected data items with same structure as dataShared
securityPractices: Array of security practices, each containing:
practice: Name of the security practice
description: Detailed description of the practice
privacyPolicyUrl: URL to the app's privacy policy
Data types can include: Personal info, Financial info, Messages, Contacts, App activity, App info and performance, Device or other IDs
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | Google Play package name (e.g., 'com.dxco.pandavszombies') | |
| lang | No | Language code for data safety info (default: en) | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It describes the return structure but doesn't mention important behavioral aspects like rate limits, authentication requirements, error conditions, or whether this is a read-only operation. The description is purely structural without operational context.
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?
The description is appropriately sized and front-loaded with the core purpose, followed by a structured breakdown of the return object. While comprehensive, every sentence serves a purpose in explaining the output format, making it efficient despite its length.
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 read operation with 2 parameters and no output schema, the description adequately explains what information is returned. However, without annotations and with no output schema, it lacks important contextual details like error handling, data freshness, or limitations that would help an agent use it effectively.
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 description coverage is 100%, so the schema already fully documents both parameters. The description adds no additional parameter information beyond what's in the schema, maintaining the baseline score of 3 where the schema does the heavy lifting for parameter documentation.
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 specific action ('Get data safety information') and resource ('for a Google Play app'), distinguishing it from sibling tools like 'google-play-details' or 'google-play-permissions' by focusing exclusively on data safety information rather than general details or permissions.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'app-store-privacy' or explain the difference between data safety and privacy policy information, leaving the agent to infer usage context independently.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google-play-detailsC
Get detailed information about a Google Play app. Returns an object with:
title: App name
description: Full app description
descriptionHTML: Description with HTML formatting
summary: Short description
installs: Install count range
minInstalls: Minimum install count
maxInstalls: Maximum install count
score: Average rating (0-5)
scoreText: Rating display text
ratings: Total number of ratings
reviews: Total number of reviews
histogram: Rating distribution by star level
price: Price in local currency
free: Boolean indicating if app is free
currency: Price currency code
priceText: Formatted price string
offersIAP: Boolean indicating in-app purchases
IAPRange: Price range for in-app purchases
androidVersion: Minimum Android version required
androidVersionText: Formatted Android version text
developer: Developer name
developerId: Developer ID
developerEmail: Developer contact email
developerWebsite: Developer website URL
developerAddress: Developer physical address
genre: App category
genreId: Category ID
icon: Icon URL
headerImage: Feature graphic URL
screenshots: Array of screenshot URLs
contentRating: Content rating (e.g. 'Everyone')
contentRatingDescription: Content rating details
adSupported: Boolean indicating if app shows ads
released: Release date
updated: Last update date
version: Current version string
recentChanges: Latest version changes
preregister: Boolean indicating if app is in pre-registration
editorsChoice: Boolean indicating Editor's Choice status
features: Array of special features
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | Google Play package name (e.g., 'com.google.android.apps.translate') | |
| lang | No | Language code for result text (default: en) | en |
| country | No | Country code to check app availability (default: us) | us |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It lists return fields but does not mention critical behaviors like rate limits, authentication requirements, error conditions, or data freshness. For a tool with no annotations, this is a significant gap in transparency.
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?
The description is well-structured and front-loaded with the core purpose, followed by a detailed list of return fields. While lengthy due to the exhaustive field enumeration, every sentence serves a purpose—clarifying the output structure. Some redundancy in field descriptions (e.g., 'Boolean indicating...') could be trimmed for efficiency.
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 the tool's complexity (3 parameters, no output schema, no annotations), the description is moderately complete. It thoroughly documents the return format, which compensates for the lack of output schema. However, it misses behavioral context (e.g., error handling, rate limits) and usage guidelines, leaving gaps for the agent.
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 input schema has 100% description coverage, clearly documenting the three parameters (appId, lang, country). The description adds no additional parameter information beyond what the schema provides, such as examples or constraints. With high schema coverage, the baseline score of 3 is appropriate.
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 purpose: 'Get detailed information about a Google Play app.' It specifies the verb ('Get') and resource ('Google Play app'), making the function unambiguous. However, it does not explicitly differentiate from sibling tools like 'google-play-search' or 'google-play-developer', which prevents a perfect score.
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 provides no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., 'google-play-search', 'google-play-developer', 'google-play-reviews'), there is no indication of context, prerequisites, or exclusions. This leaves the agent without direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google-play-developerA
Get apps by a developer on Google Play. Returns a list of apps with:
url: Play Store URL
appId: Package name (e.g. 'com.company.app')
title: App name
summary: Short app description
developer: Developer name
developerId: Developer ID
icon: Icon image URL
score: Rating (0-5)
scoreText: Rating display text
priceText: Price display text
free: Boolean indicating if app is free
| Name | Required | Description | Default |
|---|---|---|---|
| devId | Yes | Developer name (e.g., 'DxCo Games') | |
| lang | No | Language code for result text (default: en) | en |
| country | No | Country code to get results from (default: us) | us |
| num | No | Number of results to retrieve (default: 60) | |
| fullDetail | No | Include full app details in results (default: false), If fullDetail is true, includes all fields from app details endpoint. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the return format in detail but lacks behavioral context such as rate limits, authentication needs, error handling, or whether it's a read-only operation (implied by 'Get' but not explicit). This is a significant gap for a tool with no annotation coverage.
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?
The description is front-loaded with the core purpose, followed by a bulleted list of return fields that is well-structured and easy to parse. Every sentence earns its place, with no redundant or verbose language, making it 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?
Given no annotations and no output schema, the description compensates by detailing the return format, which is helpful. However, it lacks context on behavioral aspects like rate limits or errors, and does not explain how parameters like 'fullDetail' affect the output beyond the schema. This leaves gaps for a tool with 5 parameters and no annotation support.
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 description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description does not add any parameter-specific information beyond what the schema provides, such as examples or usage tips. Baseline 3 is appropriate as the schema handles the heavy lifting.
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 purpose with specific verb ('Get apps') and resource ('by a developer on Google Play'), and distinguishes it from siblings like 'google-play-search' or 'google-play-list' by focusing on developer-specific retrieval. It explicitly mentions what it returns, making its function unambiguous.
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 you need apps from a specific developer, but does not explicitly state when to use this tool versus alternatives like 'google-play-search' (for broader queries) or 'google-play-list' (for general listings). No exclusions or prerequisites are mentioned, leaving some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google-play-listB
Get apps from Google Play collections. Returns a list of apps with:
url: Play Store URL
appId: Package name (e.g., 'com.company.app')
title: App name
summary: Short description
developer: Developer name
developerId: Developer ID
icon: Icon URL
score: Rating (0-5)
scoreText: Rating display text
priceText: Price display text
free: Boolean indicating if app is free
When fullDetail is true, includes all fields from app details endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| collection | No | Collection to fetch apps from (default: TOP_FREE). Available collections: - TOP_FREE: Top free applications - TOP_PAID: Top paid applications - GROSSING: Top grossing applications | TOP_FREE |
| category | No | Category to filter by. Available categories: Main Categories: - APPLICATION: All applications - ANDROID_WEAR: Wear OS apps - ART_AND_DESIGN: Art & Design - AUTO_AND_VEHICLES: Auto & Vehicles - BEAUTY: Beauty - BOOKS_AND_REFERENCE: Books & Reference - BUSINESS: Business - COMICS: Comics - COMMUNICATION: Communication - DATING: Dating - EDUCATION: Education - ENTERTAINMENT: Entertainment - EVENTS: Events - FINANCE: Finance - FOOD_AND_DRINK: Food & Drink - HEALTH_AND_FITNESS: Health & Fitness - HOUSE_AND_HOME: House & Home - LIFESTYLE: Lifestyle - MAPS_AND_NAVIGATION: Maps & Navigation - MEDICAL: Medical - MUSIC_AND_AUDIO: Music & Audio - NEWS_AND_MAGAZINES: News & Magazines - PARENTING: Parenting - PERSONALIZATION: Personalization - PHOTOGRAPHY: Photography - PRODUCTIVITY: Productivity - SHOPPING: Shopping - SOCIAL: Social - SPORTS: Sports - TOOLS: Tools - TRAVEL_AND_LOCAL: Travel & Local - VIDEO_PLAYERS: Video Players - WATCH_FACE: Watch Faces - WEATHER: Weather Game Categories: - GAME: All Games - GAME_ACTION: Action Games - GAME_ADVENTURE: Adventure Games - GAME_ARCADE: Arcade Games - GAME_BOARD: Board Games - GAME_CARD: Card Games - GAME_CASINO: Casino Games - GAME_CASUAL: Casual Games - GAME_EDUCATIONAL: Educational Games - GAME_MUSIC: Music Games - GAME_PUZZLE: Puzzle Games - GAME_RACING: Racing Games - GAME_ROLE_PLAYING: Role Playing Games - GAME_SIMULATION: Simulation Games - GAME_SPORTS: Sports Games - GAME_STRATEGY: Strategy Games - GAME_TRIVIA: Trivia Games - GAME_WORD: Word Games - FAMILY: Family Games | |
| age | No | Age range filter (only for FAMILY category). Options: FIVE_UNDER, SIX_EIGHT, NINE_UP | |
| num | No | Number of apps to retrieve (default: 500) | |
| lang | No | Language code for result text (default: en) | en |
| country | No | Country code to get results from (default: us) | us |
| fullDetail | No | Include full app details in results (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the return format (list of apps with fields) and the effect of the fullDetail parameter, but lacks critical behavioral details such as rate limits, authentication needs, pagination behavior, error handling, or whether this is a read-only operation. For a tool with no annotations, this leaves significant gaps in understanding its operational characteristics.
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?
The description is appropriately sized and front-loaded with the core purpose. It uses a bulleted list for return fields efficiently, and the second sentence adds important context about fullDetail. There is no wasted text, though it could be slightly more structured (e.g., separating purpose from return details more clearly).
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 the complexity (7 parameters, no annotations, no output schema), the description is moderately complete. It covers the purpose and return format, but lacks behavioral transparency (e.g., rate limits, auth) and does not explain output beyond field names. Without annotations or output schema, the description should do more to compensate, but it at least provides a clear overview of what the tool does and returns.
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 description coverage is 100%, so the schema already documents all parameters thoroughly with descriptions, defaults, and enums. The description adds minimal value beyond the schema by mentioning the effect of fullDetail (includes all fields from app details endpoint) and listing return fields, but does not provide additional semantic context for parameters like collection or category beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting.
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 verb 'Get apps from Google Play collections' and specifies the resource (apps from collections). It distinguishes from siblings like google-play-details, google-play-search, and google-play-similar by focusing on collection-based listing rather than details, search, or similarity. The description is specific about what it returns (a list of apps with enumerated fields).
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 fetching apps from collections (e.g., top free, top paid), but does not explicitly state when to use this tool versus alternatives like google-play-search (for query-based retrieval) or google-play-details (for individual app details). No explicit exclusions or prerequisites are mentioned, leaving usage context somewhat implied rather than clearly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google-play-permissionsA
Get permissions required by a Google Play app. Returns a list of permissions with:
permission: Description of the permission (e.g., 'modify storage contents')
type: Permission category (e.g., 'Storage', 'Network')
When short=true, returns just an array of permission strings. Note: Permissions are returned in the specified language.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | Google Play package name (e.g., 'com.dxco.pandavszombies') | |
| lang | No | Language code for permission text (default: en) | en |
| country | No | Country code to check app (default: us) | us |
| short | No | Return only permission names without categories (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by describing the return format (list of permissions with fields) and the effect of the 'short' parameter. However, it doesn't mention potential limitations like rate limits, authentication requirements, error conditions, or whether this is a read-only operation (though 'Get' implies reading). The description adds useful context but leaves gaps in behavioral understanding.
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?
The description is perfectly structured and concise. It starts with the core purpose, immediately describes the return format with clear bullet points, then adds two important notes about the 'short' parameter and language support. Every sentence earns its place with no wasted words, and the information is front-loaded appropriately.
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 the tool's moderate complexity (4 parameters, no output schema, no annotations), the description provides good contextual coverage. It explains the return format in detail, clarifies parameter effects, and states the language dependency. The main gap is the lack of output schema, but the description compensates well by documenting the return structure. For a read-oriented tool with good schema coverage, this is nearly complete.
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 input schema has 100% description coverage, so the baseline is 3. The description adds value by explaining the effect of the 'short' parameter ('returns just an array of permission strings') and clarifying that permissions are returned in the specified language, which complements the schema's parameter descriptions. This additional semantic context elevates the score to 4.
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 purpose: 'Get permissions required by a Google Play app' with a specific verb ('Get') and resource ('permissions'). It distinguishes from siblings like 'google-play-details' or 'google-play-datasafety' by focusing specifically on permissions. However, it doesn't explicitly contrast with all sibling tools, keeping it at 4 rather than 5.
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 provides no guidance on when to use this tool versus alternatives. With many sibling tools available (like 'google-play-datasafety' or 'google-play-details'), there's no indication of when permissions information is needed versus other app metadata. The description only explains what the tool does, not when it should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google-play-reviewsB
Get reviews for a Google Play app. Returns an array of reviews with:
id: Review ID string
userName: Reviewer's name
userImage: Reviewer's profile image URL
date: Review date (ISO string)
score: Rating (1-5)
scoreText: Rating display text
title: Review title
text: Review content
url: Review URL
version: App version reviewed
thumbsUp: Number of thumbs up votes
replyDate: Developer reply date (if any)
replyText: Developer reply content (if any)
criterias: Array of rating criteria (if any)
Note: Reviews are returned in the specified language. The total review count shown in Google Play refers to ratings, not written reviews.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | Package name of the app (e.g., 'com.mojang.minecraftpe') | |
| lang | No | Language code for reviews (default: en) | en |
| country | No | Country code (default: us) | us |
| sort | No | Sort order: newest, rating, or helpfulness (default: newest) | newest |
| num | No | Number of reviews to retrieve (default: 100). Ignored if paginate is true. | |
| paginate | No | Enable pagination with 150 reviews per page | |
| nextPaginationToken | No | Token for fetching next page of reviews |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context: it specifies the return format (an array of reviews with detailed fields), notes language dependency, and clarifies that total review counts differ from written reviews. However, it lacks details on error handling, rate limits, authentication needs, or pagination behavior beyond the input schema, leaving gaps for a mutation-free tool.
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?
The description is well-structured and appropriately sized. It starts with a clear purpose statement, followed by a bulleted list of return fields and a note. Each sentence adds value, such as clarifying the distinction between reviews and ratings. It could be slightly more concise by integrating the note into the initial statement, but overall it is 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?
Given the tool's complexity (7 parameters, no output schema, no annotations), the description is reasonably complete. It explains the return structure in detail, which compensates for the lack of output schema, and adds contextual notes. However, it could improve by addressing behavioral aspects like error cases or usage limits, which are missing.
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 input schema has 100% description coverage, providing clear details for all 7 parameters. The description does not add any parameter-specific information beyond what the schema already documents. According to the rules, with high schema coverage (>80%), the baseline score is 3, as the description does not need to compensate but also does not enhance parameter understanding.
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 purpose: 'Get reviews for a Google Play app.' It specifies the verb ('Get') and resource ('reviews for a Google Play app'), making it immediately understandable. However, it does not explicitly differentiate from sibling tools like 'app-store-reviews' or 'google-play-ratings,' which would be needed for a score of 5.
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 provides no guidance on when to use this tool versus alternatives. It mentions that 'total review count shown in Google Play refers to ratings, not written reviews,' which hints at a distinction from ratings tools but does not explicitly name alternatives or specify use cases. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google-play-searchB
Search for apps on Google Play. Returns a list of apps with:
title: App name
appId: Package name (e.g. 'com.company.app')
url: Play Store URL
icon: Icon image URL
developer: Developer name
developerId: Developer ID
priceText: Price display text
free: Boolean indicating if app is free
summary: Short description
scoreText: Rating display text
score: Rating (0-5)
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | Search term to query apps | |
| price | No | Filter by price: all, free, or paid (default: all) | all |
| num | No | Number of results to retrieve (default: 20, max: 250) | |
| lang | No | Language code for result text (default: en) | en |
| country | No | Country code to get results from (default: us) | us |
| fullDetail | No | Include full app details in results (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the return format (list of apps with fields), which is helpful, but lacks critical behavioral details such as rate limits, authentication requirements, error handling, or pagination behavior for large result sets.
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?
The description is appropriately sized and front-loaded, starting with the core purpose. The bullet-point list of return fields is efficient, though it could be slightly more concise by grouping related fields (e.g., 'scoreText' and 'score').
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 the tool's moderate complexity (6 parameters, no output schema, no annotations), the description is partially complete. It explains the return format well but lacks behavioral context and usage guidelines. Without annotations or output schema, more detail on operational aspects would improve 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?
The schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no parameter-specific information beyond what the schema provides, such as examples or usage tips, meeting the baseline score for high schema coverage.
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 purpose: 'Search for apps on Google Play.' It specifies the verb ('Search') and resource ('apps on Google Play'), and distinguishes it from siblings like 'google-play-details' or 'google-play-developer' by focusing on search functionality rather than detailed information retrieval.
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 provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools like 'app-store-search' for Apple App Store searches or 'google-play-suggest' for autocomplete suggestions, leaving the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google-play-similarC
Get similar apps from Google Play. Returns a list of apps with:
url: Play Store URL
appId: Package name (e.g. 'com.company.app')
summary: Short description
developer: Developer name
developerId: Developer ID
icon: Icon image URL
score: Rating (0-5)
scoreText: Rating display text
priceText: Price display text
free: Boolean indicating if app is free
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | Google Play package name (e.g., 'com.dxco.pandavszombies') | |
| lang | No | Language code for result text (default: en) | en |
| country | No | Country code to get results from (default: us) | us |
| fullDetail | No | Include full app details in results (default: false), If fullDetail is true, includes all fields from app details endpoint. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. While it describes the return format in detail, it doesn't address important behavioral aspects like rate limits, authentication requirements, error conditions, pagination, or whether this is a read-only operation. For a tool with no annotation coverage, this leaves significant gaps in understanding how the tool behaves in practice.
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?
The description is efficiently structured with a clear purpose statement followed by a bulleted list of return fields. Every sentence earns its place, though the bulleted list could be slightly more concise by grouping related fields. The information is front-loaded with the core purpose first, making it easy to scan.
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 4 parameters with 100% schema coverage but no annotations and no output schema, the description provides adequate but incomplete context. The detailed return format documentation partially compensates for the lack of output schema, but important behavioral aspects (rate limits, errors, authentication) remain undocumented. For a tool with moderate complexity and no structured safety/behavior annotations, this leaves the agent with significant unknowns.
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 description coverage is 100%, so the schema already fully documents all 4 parameters. The description adds no parameter-specific information beyond what's in the schema. The baseline score of 3 is appropriate when the schema does all the parameter documentation work, though the description could have added context about how parameters affect the similarity algorithm or result quality.
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 'Get similar apps from Google Play' which is a specific verb+resource combination. It distinguishes itself from sibling tools like 'google-play-details' or 'google-play-search' by focusing on similarity recommendations rather than direct lookups or searches. However, it doesn't explicitly differentiate from 'app-store-similar' which appears to be an Apple App Store equivalent.
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 provides no guidance on when to use this tool versus alternatives. With multiple sibling tools available (like google-play-details, google-play-search, app-store-similar), there's no indication of when similarity recommendations are appropriate versus direct lookups, searches, or cross-platform comparisons. The agent receives no usage context beyond the basic purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google-play-suggestA
Get search suggestions from Google Play. Returns an array of suggested search terms (up to 5). Sample response: ['panda pop', 'panda', 'panda games', 'panda run', 'panda pop for free']
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | Search term to get suggestions for (e.g., 'panda') | |
| lang | No | Language code for suggestions (default: en) | en |
| country | No | Country code to get suggestions from (default: us) | us |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It adds useful context about the return format ('array of suggested search terms'), quantity limit ('up to 5'), and provides a concrete sample response. However, it doesn't mention rate limits, authentication requirements, error conditions, or whether this is a read-only operation (though 'Get' implies it).
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?
The description is perfectly concise with two sentences that each earn their place. The first sentence states the purpose and return format, while the second provides a concrete example that helps users understand the output. No wasted words or redundant information.
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 simple read-only lookup tool with 3 well-documented parameters and no output schema, the description provides adequate context. It explains what the tool does, shows the return format with a sample, and mentions the result limit. The main gap is lack of explicit behavioral constraints (rate limits, auth needs) which would be helpful but isn't critical for this type of tool.
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 description coverage is 100%, so the schema already fully documents all three parameters. The description adds no additional parameter information beyond what's in the schema. According to guidelines, when schema coverage is high (>80%), the baseline score is 3 even with no param info in the description.
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 purpose: 'Get search suggestions from Google Play' with the verb 'Get' and resource 'search suggestions'. It distinguishes from siblings like 'google-play-search' by focusing on autocomplete suggestions rather than full search results. However, it doesn't explicitly contrast with 'app-store-suggest' which serves a similar function for a different platform.
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 context through the sample response showing autocomplete suggestions, suggesting this tool is for getting search term predictions. However, it provides no explicit guidance on when to use this versus alternatives like 'google-play-search' or 'app-store-suggest', nor does it mention any prerequisites or 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.
20 tool updates
v1.0.0- Changed
app-store-details1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
app-store-developer1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
app-store-list1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
app-store-privacy1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
app-store-ratings1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
app-store-reviews1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
app-store-search1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
app-store-similar1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
app-store-suggest1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
app-store-version-history1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
google-play-categories1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
google-play-datasafety1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
google-play-details1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
google-play-developer1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
google-play-list1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
google-play-permissions1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
google-play-reviews1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
google-play-search1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
google-play-similar1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
google-play-suggest1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
20 tool updates
- First observed
app-store-details - First observed
app-store-developer - First observed
app-store-list - First observed
app-store-privacy - First observed
app-store-ratings - First observed
app-store-reviews - First observed
app-store-search - First observed
app-store-similar - First observed
app-store-suggest - First observed
app-store-version-history - First observed
google-play-categories - First observed
google-play-datasafety - First observed
google-play-details - First observed
google-play-developer - First observed
google-play-list - First observed
google-play-permissions - First observed
google-play-reviews - First observed
google-play-search - First observed
google-play-similar - First observed
google-play-suggest
TDQS
The tools are clearly distinguished by their target store (App Store vs. Google Play) and specific data types (details, developer apps, search, reviews, etc.), with minimal overlap. However, some tools like 'app-store-list' and 'google-play-list' could be slightly ambiguous regarding their exact collection sources without reading descriptions, but overall purposes are distinct.
All tool names follow a consistent pattern of 'store-name-action' with hyphens, such as 'app-store-details' and 'google-play-search'. This uniform structure makes it easy to predict tool purposes and navigate the set without confusion.
With 20 tools, the count is on the higher side but reasonable for covering two major app stores (App Store and Google Play) with comprehensive functionalities like details, search, reviews, and metadata. It might feel slightly heavy, but each tool serves a specific, justified purpose in the domain.
The tool set provides extensive coverage for app market intelligence, including CRUD-like operations (e.g., get details, list apps), search, reviews, privacy/data safety, version history, and suggestions for both App Store and Google Play. No obvious gaps are present; agents can perform thorough analyses without dead ends.
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
Track app-store rankings, history, listing metadata, reviews and competitors across four stores.
Marketing intelligence MCP server providing campaign performance data and analytics tools.
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
Research iOS and Android apps, use keyword marketing tools, see app installs, revenue and sdks.
Related MCP Servers
- AlicenseBqualityFmaintenanceAn MCP server to communicate with the App Store Connect API for iOS Developers25123331MIT
- AlicenseCqualityBmaintenanceThis is an MCP (Model Context Protocol) server that provides tools for searching and analyzing apps from both the Google Play Store and Apple App Store.1172MIT
- AlicenseBqualityBmaintenanceMCP server that scrapes app data from Google Play and Apple App Store, providing tools for search, details, reviews, and similar apps.839MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server for App Store Optimization that provides keyword research, competitor analysis, review sentiment, and metadata optimization using real App Store data without requiring an API key.344MIT
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/JiantaoFu/AppInsightMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server