ironscout
Server Details
Read-only ammo pricing: offer search, caliber market snapshots, retailer directory. Descriptive.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
5 toolsget_market_snapshotGet caliber market snapshotARead-onlyInspect
Caliber-level price distribution (median, p25, p75, min, max) over a rolling window. Purely descriptive statistics with methodology and sample counts; never a forecast or recommendation. Returns error_v1 NOT_FOUND when no snapshot exists for the caliber/window. When extremaSuppressedByPolicy is true, min, max and both segments.*.min / segments.*.max are null BY POLICY rather than for lack of data: that caliber's published extremes are withheld pending revalidation. The median, quartiles, p95, segment medians and counts remain valid and complete — p95 is a percentile over the whole window rather than a single observation, so it is not withheld. Do not infer or substitute a floor for those calibers, and do not treat p95 as a stand-in for the withheld max. This is distinct from dataStatus: "INSUFFICIENT_DATA", which means the sample was too thin to compute anything.
| Name | Required | Description | Default |
|---|---|---|---|
| caliber | Yes | Canonical caliber, e.g. "9mm". | |
| windowDays | No | Rolling window in days. 7 or 30; defaults to 30. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint. The description adds substantial behavioral detail: the null-by-policy semantics for min/max when extremaSuppressedByPolicy is true, that p95 is not withheld, the NOT_FOUND error code, and the distinction from INSUFFICIENT_DATA. This goes far beyond the annotation baseline and fully discloses edge-case behaviors.
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 relatively long but every sentence earns its place: it covers the result set, methodology, error handling, policy caveats, and edge-case distinctions. It is front-loaded with the core purpose and does not contain filler or redundancy. The complexity of the tool justifies the 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?
With no output schema, the description takes on the burden of explaining return values and behavior. It thoroughly describes the statistics, the null semantics, the error code, and the dataStatus variants. An agent can accurately anticipate the response shape and handle all documented cases, leaving almost no ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: both parameters (caliber and windowDays) already have descriptive comments. The description adds no direct parameter-level details beyond what the schema provides, though it does clarify how the rolling window and caliber affect the snapshot. Since the schema carries the full burden, baseline 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 states a specific resource (market snapshot) and the exact statistics returned (median, p25, p75, min, max) over a rolling window. It explicitly notes this is 'purely descriptive statistics' and 'never a forecast', clearly distinguishing it from any predictive or recommendation tool. Although it doesn't name a sibling, the clarity of the resource and scope makes it distinct from get_product, list_calibers, list_retailers, and search_offers.
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 gives a clear when-not: 'never a forecast or recommendation' and clarifies that the tool is for descriptive statistics only. It also distinguishes between the 'extremaSuppressedByPolicy' and 'INSUFFICIENT_DATA' states, helping agents interpret results correctly. However, it does not explicitly mention alternative tools for other needs (e.g., search_offers for individual listings), so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productGet product detailARead-onlyInspect
Fetch a single canonical product by its canonicalProductId, with current per-retailer offers. Descriptive only. Returns an error_v1 body with NOT_FOUND if the id is unknown.
| Name | Required | Description | Default |
|---|---|---|---|
| canonicalProductId | Yes | Canonical product id (CUID) from search results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's 'Descriptive only' reinforces safety. The description adds value by specifying the error response (NOT_FOUND) for unknown IDs and mentioning offers are included, which goes beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no unnecessary words. The first sentence conveys the core purpose and output scope; the second adds error handling. Every word earns its place.
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?
Without an output schema, the description covers the main return value (product with offers) and error case. However, it does not detail the structure of a successful response, which might be needed for complex processing. Still adequate for a simple lookup.
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%, and the parameter is well-described in the schema as 'Canonical product id (CUID) from search results.' The description references the parameter but adds no additional semantic detail beyond the schema.
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 ('Fetch'), the resource ('canonical product'), and the context ('with current per-retailer offers'). It also specifies that the operation is descriptive only, leaving no ambiguity about what the tool does.
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 the tool should be used when you have a canonicalProductId and need product details, but it does not explicitly contrast with sibling tools like search_offers (which might search by criteria) or list_calibers. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_calibersList canonical calibersARead-onlyInspect
Enumerate every canonical caliber IronScout recognizes, each flagged with whether a current market snapshot exists and its sample count. Calibers without a snapshot are still listed (with hasSnapshot: false).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. Description adds that calibers without snapshots are still listed with hasSnapshot: false, providing useful behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with purpose, no extraneous words.
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 parameterless list tool, description covers the key output fields and behavior. Lacks detail on ordering or pagination, but annotations provide additional context.
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 has 0 parameters, so baseline is 4. Description adds no param info, but none is needed.
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?
Description clearly states the tool enumerates all canonical calibers with snapshot existence and sample count. It distinguishes from siblings like get_market_snapshot and list_retailers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Does not mention exclusions or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_retailersList eligible retailersARead-onlyInspect
List currently eligible/visible retailers. Ineligible retailers are omitted entirely (fail-closed, ADR-005). Descriptive directory only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and openWorldHint. The description adds that ineligible retailers are omitted entirely (fail-closed) and describes it as a 'descriptive directory only', providing behavioral context beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. The first sentence delivers the core purpose, the second adds behavioral nuance. No extraneous information. Front-loaded efficiently.
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 output schema, the description could be more explicit about the return format (e.g., list of retailer IDs and names). It calls it a 'descriptive directory', which is somewhat vague. However, for a simple list tool with good annotations, it is marginally adequate.
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?
There are zero parameters, so schema coverage is 100%. The baseline for 0 parameters is 4. The description adds no parameter-specific details, which is acceptable given no parameters exist; it focuses on what the output represents.
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?
Description clearly states the tool lists currently eligible/visible retailers. The verb 'list' and resource 'retailers' are specific, and the qualifier 'eligible/visible' adds precision. Indirectly distinguishes from siblings like get_market_snapshot or search_offers by focusing on a simple directory listing.
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 the directory of eligible retailers. However, it does not explicitly state when not to use it or suggest alternatives like get_market_snapshot for market-level data or search_offers for filtered results. Guidance is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_offersSearch ammunition offersARead-onlyInspect
Search canonical ammunition products and their current per-retailer offers. Results are descriptive only — prices, availability, $/round, observation time, and provenance, with no verdicts, scores, or recommendations. Use each offer's outUrl for outbound links (do not rewrite it). sort is a mechanical ordering, never a judgement.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text query over product name/brand/description. | |
| case | No | Case material, e.g. "Brass", "Steel". | |
| page | No | ||
| sort | No | Mechanical ordering only. Defaults to pricePerRoundAsc. | |
| brand | No | ||
| grain | No | Bullet weight in grains. | |
| caliber | No | Canonical caliber, e.g. "9mm" or ".223/5.56". | |
| inStock | No | When true, only products with in-stock offers are returned. | |
| pageSize | No | ||
| roundCountMax | No | ||
| roundCountMin | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint and openWorldHint, so the description needn't restate safety. It adds valuable behavioral context: results are descriptive only, return specific fields, outbound links must be preserved verbatim, and sort is mechanical rather than evaluative. This goes well beyond the annotations.
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?
Three tight sentences, front-loaded with the tool's core purpose followed by result semantics and usage cautions. Every sentence earns its place with no redundancy or filler.
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 search tool with no output schema and many optional filters, the description usefully enumerates return fields (prices, availability, $/round, observation time, provenance) and key behaviors. It could be more complete about pagination behavior or default pageSize, but the important selection and invocation context is present.
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 adds semantic value to the sort parameter by emphasizing it is 'a mechanical ordering, never a judgement.' However, with 11 parameters and only 55% schema coverage, the description does not compensate for undocumented params like page, pageSize, brand, roundCountMin, or roundCountMax; most burden still falls on self-explanatory names or the schema.
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?
States a specific verb ('Search'), a specific resource ('canonical ammunition products'), and the key output ('current per-retailer offers'). This clearly differentiates from siblings like get_product (single product), list_calibers/list_retailers (reference lists), and get_market_snapshot (aggregated view).
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?
Provides clear context: this is the tool for searching ammunition products and their offers. It adds explicit behavioral instructions ('Use each offer's outUrl for outbound links (do not rewrite it)') and cautions that results contain no verdicts or recommendations, though it does not explicitly name alternative tools or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
US Rx price comparison + foreign-brand US-equivalent lookup. Observed prices, read-only.
Price comparison across partner retailers. Read-only, 90-day history, disclosed affiliate.
Read-only U.S. mortgage market, lender, GSE performance, and servicing analytics.
Read-only shopping decisions, product search, offers, and price history for Greece.
Related MCP Servers
- AlicenseAqualityCmaintenanceRead-only MCP server for searching and browsing the Rangeview Sports product catalog, including firearms, ammunition, optics, and accessories.5MIT
- FlicenseNot gradedqualityBmaintenanceEnables read-only access to public U.S. healthcare market-intelligence datasets, including catalogs, schemas, metadata, checksums, and artifact URLs. It supports CMOs, analysts, researchers, and AI agents in discovering and consuming governed market observations without patient-level data.
- AlicenseNot gradedqualityDmaintenanceProvides guided prayers, semantic search, and pastoral care tools (encouragement, condolence, advice) via a read-only database without authentication.MIT
- AlicenseNot gradedqualityCmaintenanceProvides read-only access to normalized Amazon marketplace data, including product details, search, offers, reviews, sellers, categories, deals, best sellers, identifiers, stock, and sales estimates across 13 marketplaces.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct resource and action: market statistics, product lookup, caliber directory, retailer directory, and offer search. There is no meaningful overlap between get_product and search_offers because one is a direct single-item fetch and the other is a multi-result search.
All tools follow a consistent verb_noun pattern: get_ for single-item fetches, list_ for enumerations, and search_ for queries. The naming is uniform and predictable.
Five tools is well-scoped for a read-only market data service. Each tool covers a necessary capability without redundancy or bloat.
The tool set provides full coverage for its descriptive market-intelligence purpose: listing reference data (calibers, retailers), searching/fetching products and offers, and retrieving aggregate price statistics. No obvious CRUD or operational gaps exist because the service is explicitly read-only.