Server definition
- Hash
- sha256:c8776e011268315270d7eec39079a3842ebe784d451b5ef9431835d69146ca60
- What it is
- What a remote MCP server returned when asked what it offers: 5 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"caliber": {
"description": "Canonical caliber, e.g. \"9mm\".",
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"windowDays": {
"anyOf": [
{
"const": 7,
"type": "number"
},
{
"const": 30,
"type": "number"
}
],
"description": "Rolling window in days. 7 or 30; defaults to 30."
}
},
"required": [
"caliber"
],
"type": "object"
},
"name": "get_market_snapshot",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"canonicalProductId": {
"description": "Canonical product id (CUID) from search results.",
"maxLength": 64,
"minLength": 1,
"type": "string"
}
},
"required": [
"canonicalProductId"
],
"type": "object"
},
"name": "get_product",
"outputSchema": null
},
{
"description": "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`).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_calibers",
"outputSchema": null
},
{
"description": "List currently eligible/visible retailers. Ineligible retailers are omitted entirely (fail-closed, ADR-005). Descriptive directory only.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_retailers",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"brand": {
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"caliber": {
"description": "Canonical caliber, e.g. \"9mm\" or \".223/5.56\".",
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"case": {
"description": "Case material, e.g. \"Brass\", \"Steel\".",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"grain": {
"description": "Bullet weight in grains.",
"exclusiveMinimum": 0,
"maximum": 2000,
"type": "integer"
},
"inStock": {
"description": "When true, only products with in-stock offers are returned.",
"type": "boolean"
},
"page": {
"exclusiveMinimum": 0,
"maximum": 1000,
"type": "integer"
},
"pageSize": {
"exclusiveMinimum": 0,
"maximum": 50,
"type": "integer"
},
"q": {
"description": "Free-text query over product name/brand/description.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"roundCountMax": {
"exclusiveMinimum": 0,
"maximum": 100000,
"type": "integer"
},
"roundCountMin": {
"exclusiveMinimum": 0,
"maximum": 100000,
"type": "integer"
},
"sort": {
"description": "Mechanical ordering only. Defaults to pricePerRoundAsc.",
"enum": [
"pricePerRoundAsc",
"pricePerRoundDesc",
"observedAtDesc"
],
"type": "string"
}
},
"type": "object"
},
"name": "search_offers",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:c8776e011268315270d7eec39079a3842ebe784d451b5ef9431835d69146ca60 | sha256sum