Skip to main content
Glama

Server Details

App Store keyword rankings, popularity, difficulty and keyword research across 175 storefronts.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.5/5.0

Scored across 13 tools

Disambiguation4/5

Each tool targets a fairly distinct action-resource pair, but the keyword research cluster (get_keyword_popularity, get_keyword_suggestions, get_most_searched_keywords, get_competitor_keywords, search_app_store) has partially overlapping purposes that an agent could confuse. The descriptions do help differentiate them (e.g. tracking vs research quota, live search vs suggestions), so boundaries are workable but not razor-sharp.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun convention (add_app, get_app_keywords, list_apps, refresh_app_keywords, search_app_store). No mixing of styles or vague verbs.

Tool Count5/5

13 tools is well within the ideal 3-15 range for an ASO server, and each tool covers a distinct operation (app tracking, keyword tracking, research, usage). No obvious redundancy or bloat.

Completeness3/5

The surface covers add/list/get for apps and keywords plus research and history, but there is no way to remove an app or untrack keywords, and no update operations—an agent can add but never clean up, which is a notable lifecycle gap. Read and create paths are strong, but the missing delete operations create dead ends.

Available Tools

13 tools
add_appAdd appAInspect

Track an app by App Store ID; its name is looked up automatically. Omit appStoreId (and pass name) for a temporary app. Free plan: 1 app.

NameRequiredDescriptionDefault
nameNoDefaults to the App Store name. Required for temporary apps.
platformNoiphone
homeStoreNoStore where the app is available; used to look it upus
appStoreIdNoOmit for a temporary (unpublished) app

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose real behavior the schema does not: automatic name lookup from the App Store ID, the temporary-app mode, and a free-plan quota of 1 app. It says nothing about duplicates (what happens if the app is already tracked), errors, or permissions.

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

Conciseness5/5

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

Three short sentences, zero filler, with the primary use case front-loaded and the fallback mode immediately after. Every sentence carries distinct information.

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

Completeness4/5

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

For a 4-param, no-annotation, no-output-schema tool, this covers the two calling modes and a quota constraint. The remaining gap is edge-case behavior — duplicate apps, failure modes — which an agent would want before calling, but nothing critical for a correct invocation is missing.

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

Parameters4/5

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

Schema coverage is already 75%, and the description still adds cross-parameter semantics: appStoreId omitted plus name supplied defines a temporary app. That relationship is not fully expressible from the individual field descriptions. platform and homeStore are left entirely to the schema.

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

Purpose4/5

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

States a specific verb and resource ('Track an app by App Store ID') and the lookup side effect. The resource itself separates it from siblings like add_keywords and list_apps, though it never names or contrasts an alternative explicitly.

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

Usage Guidelines4/5

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

Gives clear conditional guidance: use appStoreId to track a published app, or omit it and pass name for a temporary app. It also flags the free-plan cap of 1 app. No exclusions or named alternatives are offered, so it stops short of a 5.

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

add_keywordsAdd keywordsAInspect

Track up to 100 keywords for an app in a store and measure rank, popularity and difficulty. Plan limit on total tracked keywords (free: 10); a batch over the limit is rejected entirely.

NameRequiredDescriptionDefault
appIdYesLocal app id from list_apps, not the App Store ID
storeYes
keywordsYes

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does real work: it discloses a 100-keyword per-call cap, a plan-level quota, and that an over-limit batch is rejected atomically rather than partially applied. That last detail is exactly the kind of consequence an agent cannot infer. It omits duplicate-keyword handling, idempotency, and whether adding an already-tracked keyword fails or is a no-op.

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

Conciseness4/5

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

Two tightly packed sentences, front-loaded with the core action and followed by the constraint. The 'measure rank, popularity and difficulty' clause is value framing rather than invocation guidance, the only mildly expendable sentence.

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

Completeness3/5

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

Quota and atomicity are covered, which is the most important behavior for a mutating tool with no annotations. But with no output schema either, the description says nothing about what comes back (created records, async job, updated usage counters) or how duplicates are treated, leaving gaps an agent needs before calling.

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

Parameters3/5

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

Schema coverage is only 33%: appId is documented in the schema, but 'store' has no description and its two-letter country-code format is only implicit in the regex pattern, and the keywords items carry length bounds but no meaning. The description reinforces the 100-item ceiling but adds nothing about store semantics or keyword normalization rules.

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

Purpose4/5

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

States a specific verb and resource ('Track ... keywords for an app in a store') plus the measurable outcome (rank, popularity, difficulty), which clearly separates it from read-side siblings like get_app_keywords or get_keyword_suggestions. It never names a sibling explicitly, so it stops short of a 5.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: you use this when you want to start tracking keywords. The description adds the free-plan ceiling (10) and the rejection behavior of over-limit batches, which is useful eligibility context, but it gives no explicit when-to-use versus add_app/refresh_app_keywords and never states the prerequisite of resolving appId via list_apps.

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

get_app_detailsApp detailsA
Read-only
Inspect

App Store details (developer, rating, price, description, screenshots) for up to 50 App Store IDs. IDs not available in the store are omitted. Counts toward the research quota.

NameRequiredDescriptionDefault
storeNous
appStoreIdsYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint) and open-world access, and the description adds genuinely new context: quota consumption ('Counts toward the research quota') and graceful handling of unknown IDs. It does not mention error behavior or batching partial failures, so it stops short of 5.

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

Conciseness5/5

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

Three short sentences, front-loaded with what is returned, then batching, then the quota cost. No filler and every clause conveys information.

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

Completeness4/5

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

No output schema exists, and the description compensates by listing the returned fields, plus batch limit, omission behavior, and quota cost. The one omission is the undocumented 'store' parameter, which an agent must discover from the schema alone.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must carry parameter meaning. It clarifies appStoreIds as App Store IDs with a 50-item cap, but says nothing about the 'store' country-code parameter (default 'us') or the numeric ID format, leaving a real gap for a 2-parameter tool.

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

Purpose4/5

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

Names a specific verb/resource ('App Store details') and enumerates the returned fields (developer, rating, price, description, screenshots), plus the batch scope of up to 50 IDs. This distinguishes it from search_app_store and list_apps by implication, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is the detail-fetch step after a search or listing, but the description never states when to use it versus search_app_store, list_apps, or add_app. The omission note ('IDs not available in the store are omitted') is a behavior fact rather than usage guidance.

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

get_app_keywordsGet app keywordsC
Read-only
Inspect

Tracked keywords of an app with latest metrics.

NameRequiredDescriptionDefault
appIdYesLocal app id from list_apps, not the App Store ID

TDQS

C2.9/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read, so the description's burden is lower. "With latest metrics" adds modest context about the payload, but nothing about whether only currently-tracked keywords are returned or how many.

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

Conciseness4/5

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

A single short phrase with no filler, front-loading the resource. It is efficient, though it verges on under-specification rather than crisp completeness.

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

Completeness3/5

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

With one simple required parameter, full schema documentation and a read-only annotation, the essentials are covered. Still missing is any sense of the result shape (which metrics) or a pointer to list_apps for obtaining appId, which the description could cheaply have added.

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

Parameters3/5

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

Schema coverage is 100% and the appId field already documents "Local app id from list_apps, not the App Store ID". The description adds no parameter meaning beyond the schema, so the baseline 3 applies.

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

Purpose3/5

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

The fragment names the resource (an app's tracked keywords) and adds a scope hint ("latest metrics"), which implicitly separates it from get_competitor_keywords and get_keyword_history. However, there is no verb and no explicit statement that this is a retrieval operation, so the agent must infer the action.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus the many sibling keyword tools (get_competitor_keywords, get_keyword_history, get_keyword_suggestions, refresh_app_keywords). No prerequisites or exclusions are stated.

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

get_competitor_keywordsCompetitor keyword ideasA
Read-only
Inspect

Derives 1–3 word candidates from the top 10 competitors ranking for a keyword and returns those with popularity > 5, highest first. Pass your appStoreId to exclude your own app. Counts toward the research quota.

NameRequiredDescriptionDefault
termYes
storeNous
platformNoiphone
appStoreIdNo

TDQS

A3.8/5.0
Behavior4/5

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

Beyond the readOnlyHint/openWorldHint annotations, it discloses the inner mechanics: sampling the top 10 competitors, a popularity > 5 threshold, descending sort, and quota consumption. The quota cost is exactly the kind of operational fact an agent needs before spending a call; only the response shape and result-count bounds are left unstated.

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

Conciseness5/5

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

Two dense sentences with no filler: the derivation method and filter come first, then the exclusion tip and the quota caveat. Every clause carries information.

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

Completeness4/5

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

There is no output schema, so the description rightly characterizes the returned set (filtered to popularity > 5, highest first). Combined with the read-only annotation and the quota note, an agent has enough to call it correctly; only store/platform selection semantics are thin.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the param burden and it only partially does so. It usefully explains the non-obvious appStoreId (exclude your own app) and implies what 'term' is, but store and platform defaults are left entirely to the enum/default values in the schema.

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

Purpose4/5

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

States a specific verb and resource: it derives 1-3 word candidates from the top 10 competitors ranking for a keyword, then filters and sorts them. That is far more informative than the title and clearly differs in method from siblings like get_keyword_suggestions or get_app_keywords, though it never names an alternative outright.

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

Usage Guidelines3/5

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

The description implies when this is the right tool (competitor-driven discovery, excluding your own app via appStoreId) and warns it consumes research quota. But it offers no explicit when-not guidance and does not tell the agent to prefer a sibling in any situation.

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

get_keyword_historyGet keyword historyA
Read-only
Inspect

Daily rank, popularity and difficulty history of one tracked keyword (keywordId from get_app_keywords), oldest first; days without a measurement are omitted. Free plan: last 7 days.

NameRequiredDescriptionDefault
daysNoDays of history to return, or "all". Free plan: capped at 7.
appIdYesLocal app id from list_apps, not the App Store ID
keywordIdYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, yet the description still adds real behavior: ascending chronological order, omission of days without a measurement, and a plan-based cap. No pagination or response-size caveats are mentioned, keeping it just short of full disclosure.

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

Conciseness5/5

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

A single tightly packed sentence that leads with the returned data, then ordering, gap handling, and plan limits. No filler.

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

Completeness5/5

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

With no output schema, the description carries the return shape itself (three metric series per day) and does so completely; the only missing piece, a sample record layout, is beyond what a definition needs.

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

Parameters4/5

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

Schema coverage is 67%, and the description fills the notable hole by explaining the provenance of keywordId (from get_app_keywords), which the schema leaves undocumented. The days parameter and its free-plan cap are already in the schema, so the description correctly stays silent there.

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

Purpose5/5

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

States a specific verb and resource (daily rank/popularity/difficulty history for one tracked keyword) and distinguishes itself from get_app_keywords by naming the sibling as the source of keywordId. Ordering ('oldest first') and gap behavior are also specified.

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

Usage Guidelines4/5

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

Tells the agent to obtain keywordId from get_app_keywords and warns that free plans are limited to the last 7 days. It gives clear context for use but does not explicitly exclude alternatives like get_keyword_popularity or get_most_searched_keywords.

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

get_keyword_popularityKeyword popularityA
Read-only
Inspect

Popularity scores for up to 100 keywords in a store, without tracking them. Counts toward the research quota.

NameRequiredDescriptionDefault
storeNous
termsYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds genuinely non-obvious behavior: it consumes research quota (a cost signal an agent must budget for) and it does not persist/track the queried keywords, so no state is created. It does not say what happens on quota exhaustion or how unavailable keywords are reported.

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

Conciseness5/5

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

Two sentences, no filler, with the core capability and the keyword cap front-loaded and the caveats (no tracking, quota cost) following immediately.

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

Completeness3/5

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

With no output schema, the description should convey the shape of the result, but it never says whether scores come back as a list, a map, on what scale (0-100? volume?), or how unknown keywords are represented. The quota-cost warning is valuable, but the return contract remains undocumented.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must carry the load, and it only does so partially: 'up to 100 keywords' maps to the terms maxItems and 'in a store' maps to the store param. It never explains that store is a two-letter code defaulting to 'us', nor the 200-character term limit, leaving both parameters explained only by the raw schema keywords.

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

Purpose4/5

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

Specific verb implied + resource: retrieves popularity scores for keywords in a store, with the 100-keyword cap stated. The phrase 'without tracking them' distinguishes it from add_keywords and the other keyword-mutating siblings, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

The 'without tracking them' clause implies the when-to-use case (one-off research vs. adding keywords to a project), and the quota note signals a cost tradeoff. But there is no explicit instruction on when to pick this over get_keyword_suggestions, get_keyword_history, or get_most_searched_keywords, all of which are equally plausible for popularity questions.

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

get_keyword_suggestionsKeyword suggestionsA
Read-only
Inspect

Keyword ideas for an App Store app with popularity and difficulty for the selected platform. Counts toward the research quota.

NameRequiredDescriptionDefault
storeNous
platformNoiphone
appStoreIdYes
highPopularityNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the description needn't carry the full safety burden. It adds meaningful behavioral context by warning that the call counts toward the research quota, though it does not quantify limits or describe auth requirements.

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

Conciseness5/5

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

Two short sentences with the core purpose front-loaded and the quota cost appended. Every sentence earns its place, with no repetition or filler.

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

Completeness3/5

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

Without an output schema, the description helpfully says the results include popularity and difficulty and mentions quota impact. It is still incomplete for invocation because highPopularity and store behavior are undocumented, and the parameter schema itself has no descriptions.

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

Parameters2/5

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

Schema description coverage is 0% for four parameters. The description only hints at the app and platform inputs and leaves store and highPopularity unexplained, so it does not compensate for the schema gap.

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

Purpose4/5

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

States a specific resource, 'Keyword ideas', tied to an App Store app and selected platform, with popularity and difficulty metrics. It distinguishes itself from a pure popularity lookup, though it does not name a sibling tool.

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

Usage Guidelines3/5

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

Implies use when an agent needs keyword ideas for an app and notes that it counts toward the research quota. However, it gives no explicit when-not guidance and does not route to alternatives such as get_keyword_popularity or get_most_searched_keywords.

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

get_most_searched_keywordsMost searched keywordsB
Read-only
Inspect

One page of the most searched keywords in a store, optionally for an App Store category id (e.g. 6013). Check month: data can be from an earlier month. Counts toward the research quota.

NameRequiredDescriptionDefault
pageNo
limitNo
storeNous
categoryNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, and the description adds genuinely new traits: results may be stale ('data can be from an earlier month') and the call consumes research quota. Both are behavior an agent cannot infer from structured fields. It stops short of 5 because ordering/return-shape behavior is not disclosed.

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

Conciseness4/5

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

Dense and front-loaded: purpose first, then the category option, then two short caveats. Little waste, though the dangling `month` instruction is a wasted and potentially misleading clause.

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

Completeness3/5

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

No output schema exists, so the description should convey what a row looks like; 'one page of the most searched keywords' only vaguely implies the return shape, and pagination semantics (whether more pages exist) and store-code format are left unaddressed. Adequate but with clear gaps for a parameterized, quota-consuming research call.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry all four parameters. It explains only `category` (App Store category id, e.g. 6013) and references a nonexistent `month`, leaving `page`, `limit`, and `store` (two-letter country code inference) entirely undocumented.

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

Purpose4/5

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

States a specific verb+resource ('one page of the most searched keywords in a store') plus the optional category scoping, which is concrete enough to distinguish it from siblings like get_keyword_popularity or get_keyword_suggestions. It does not explicitly name a sibling it is not, so it stops short of a 5.

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

Usage Guidelines3/5

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

Provides useful context ('optionally for an App Store category id', 'Counts toward the research quota'), which signals it is a metered research call, but there is no explicit when-to-use vs. when-not guidance against the many keyword-related siblings. The instruction to 'check `month`' is confusing because no `month` parameter exists in the schema.

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

get_usagePlan and usageA
Read-only
Inspect

Current plan, tracked apps, keywords and research calls in the current quota period (free: month, pro: day). A null limit means unlimited.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

readOnlyHint already declares this a safe read, and the description adds genuinely new context beyond the annotation: the quota window differs by plan (free = month, pro = day) and a null limit means unlimited. That is real interpretive help for decoding the result. It does not describe units (calls vs. tokens) or reset timing, which keeps it below a 5.

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

Conciseness5/5

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

Two short sentences, the enumeration front-loaded and the null-limit clarification second. Nothing is redundant and nothing is padding.

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

Completeness4/5

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

With no output schema, the description must describe the payload, and it names the four main sections plus the null-limit convention. It could go further on field shape or how usage counts are measured, but for a zero-parameter read tool this is close to sufficient.

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

Parameters4/5

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

The tool takes no parameters, so the baseline is 4. The description correctly documents the plan-dependent quota window, which is the only input-adjacent semantic an agent needs to interpret the response.

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

Purpose4/5

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

It enumerates exactly what is returned — current plan, tracked apps, keywords, and research calls — which makes the resource unambiguous against write-oriented siblings like add_app or refresh_app_keywords. It lacks an explicit verb ("get"/"retrieve"), but the noun enumeration carries the meaning.

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

Usage Guidelines3/5

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

Usage is only implied: mentioning the quota period suggests this is the tool to consult before burning research calls or keywords. There is no explicit when-to-use, no prerequisites, and no statement of when another tool is a better choice.

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

list_appsList appsC
Read-only
Inspect

Tracked apps of the user.

NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior2/5

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

readOnlyHint=true already declares the safe-read profile, so the description only needs to add scope, which is does partly via 'tracked' and 'of the user'. However, with no output schema, it says nothing about what a result contains (app IDs, names, pagination, ordering), which matters for a list tool.

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

Conciseness3/5

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

It is only four words and not padded, but it is a bare noun phrase without a verb or front-loaded action, so it reads as under-specification rather than deliberate conciseness. Structure is minimal rather than well-built.

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

Completeness2/5

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

For a zero-parameter list tool with no output schema, the description should at least state that it returns the user's tracked app records (with what fields) and whether results are paginated or bounded. Neither is covered, leaving the agent unable to anticipate the response.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. Schema coverage is 100% by definition of an empty object.

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

Purpose3/5

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

The fragment 'Tracked apps of the user' names the resource and scope (tracked apps, current user) but supplies no verb and no differentiation from siblings like get_app_details or search_app_store. An agent can infer it returns the user's app list, but must guess how it differs from get_app_details.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of any alternative in the 12-sibling toolset. The agent gets no signal about whether to call this before get_app_details or how to obtain app IDs.

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

refresh_app_keywordsRefresh app keywordsBInspect

Measure all tracked keywords of an app now and append to history.

NameRequiredDescriptionDefault
appIdYesLocal app id from list_apps, not the App Store ID

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden. It discloses the core side effect of appending measurements to history, but omits important operational details such as cost/usage impact, rate limits, authentication needs, asynchronous behavior, or whether the measurement is synchronous.

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

Conciseness5/5

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

The description is a single compact sentence with no wasted words. The action and side effect are front-loaded and easy to parse.

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

Completeness2/5

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

For an action tool with no annotations and no output schema, the description is too thin. It does not explain what the invocation returns, whether it is synchronous or job-based, how long it may take, or what usage/credit implications exist.

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

Parameters3/5

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

Schema coverage is 100%, and the single appId parameter is well documented in the schema as a local app id from list_apps rather than an App Store ID. The description adds no additional parameter meaning, which is acceptable given full schema coverage.

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

Purpose4/5

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

The description states a specific action and resource: measure all tracked keywords of an app and append results to history. This distinguishes it from sibling read/list tools such as get_app_keywords and get_keyword_history, though it does not explicitly name alternatives.

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

Usage Guidelines3/5

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

The word 'now' implies an on-demand refresh action, giving some usage context. However, it does not explicitly say when to use this versus get_app_keywords, add_keywords, or other siblings, nor does it state prerequisites or exclusions.

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

search_app_storeApp Store searchA
Read-only
Inspect

Live App Store search for a keyword. Returns ranked apps and difficulty; with appStoreId also that app's ranking (null = not in the returned results). Counts toward the research quota.

NameRequiredDescriptionDefault
termYes
limitNo
storeNous
platformNoiphone
appStoreIdNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered; the description goes further by disclosing that the call consumes the research quota and that appStoreId yields a ranking where null means the app was absent from results. That null semantics and cost disclosure are real value beyond structured fields; only return shape granularity is left thin.

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

Conciseness5/5

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

Two tight sentences that lead with purpose and return content, then add the conditional appStoreId behavior and cost. Nothing is redundant or padded.

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

Completeness4/5

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

With no output schema and only read-only annotations, the description supplies the essential return-value and cost information an agent needs to call it correctly. The remaining gap is per-parameter semantics for store/platform/limit, which is a schema-side deficiency rather than a description failure.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the burden, and it does explain the least obvious parameter (appStoreId, including null result meaning). However 'term', 'limit', 'store', and 'platform' get no described semantics — no indication that 'store' is a storefront code or that 'platform' scopes which App Store surface is searched.

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

Purpose4/5

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

States a specific verb and resource ('Live App Store search for a keyword') plus what comes back (ranked apps, difficulty, optional app ranking). It is clearly distinguishable from sibling utilities like get_most_searched_keywords or get_keyword_popularity, though it never names a sibling explicitly to reinforce the boundary.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: 'Live' hints at fresh rather than historical data, and the appStoreId note implies a rank-checking use case. No explicit when-to-use/when-not-to-use guidance or alternative routing is given, so the agent must infer intent from the sibling list.

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.

  1. 13 tool updates
    • First observedadd_app
    • First observedadd_keywords
    • First observedget_app_details
    • First observedget_app_keywords
    • First observedget_competitor_keywords
    • First observedget_keyword_history
    • First observedget_keyword_popularity
    • First observedget_keyword_suggestions
    • First observedget_most_searched_keywords
    • First observedget_usage
    • First observedlist_apps
    • First observedrefresh_app_keywords
    • First observedsearch_app_store

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    App Store and Google Play ASO: keyword rankings, competitors, reviews, audits and an action queue.
    104
    AGPL 3.0
  • A
    license
    B
    quality
    A
    maintenance
    Enables App Store and Google Play keyword rank tracking, competitor comparisons, and AI visibility checks through natural language, without requiring store credentials.
    85
    240 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to research App Store keywords with popularity and difficulty scores, track daily rankings across 59 storefronts, find competitor keyword gaps, optimize metadata, and review App Store Connect performance. Read tools only inspect the signed-in account, while write tools manage tracked apps, keywords, competitors, and saved lists mid-conversation.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI clients to query live App Store and Google Play keyword rankings, review rank history and daily/weekly reports, research keyword popularity and difficulty by country, and inspect or track competitors' keywords in natural language. It also allows adding apps and tracking or untracking up to 200 keywords per app and country, with read-only and write operations governed by license role and plan limits.
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources