Server definition
- Hash
- sha256:68e7ae9c89a8f3ebbebe27bb41767fe34b535ff7e53cce36a1a34336b2b290e9
- What it is
- What a remote MCP server returned when asked what it offers: 7 tools
The blob, as servednamed by its sha256
{
"instructions": "Modelmeter: the changelog of record for the AI stack, agent-callable. check_model_dependencies answers \"is my stack okay?\" for a list of model ids; list_deprecations shows what dies when. Pricing: start with list_models to discover ids, then get_model or estimate_cost.",
"tools": [
{
"description": "Is my stack okay? Check a list of model ids against the record: scheduled retirements with days-remaining countdowns and migration targets, past retirements, and other breaking/action-required changes. Id matching tolerates dots vs dashes, dated snapshot suffixes, and bare or provider-prefixed forms. Call this at startup or in CI with the models you depend on.",
"inputSchema": {
"properties": {
"models": {
"description": "Model ids to check, e.g. [\"gpt-4o\", \"claude-sonnet-4-6\", \"gemini-2.5-flash\"].",
"items": {
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
}
},
"required": [
"models"
],
"type": "object"
},
"name": "check_model_dependencies",
"outputSchema": null
},
{
"description": "Estimate the USD cost of an LLM API call for a given model and token counts. Returns input/output/total cost, plus reseller markup vs. the upstream model when applicable.",
"inputSchema": {
"properties": {
"input_tokens": {
"description": "Number of input (prompt) tokens.",
"minimum": 0,
"type": "integer"
},
"model": {
"description": "Model id in provider/model form, e.g. anthropic/claude-opus-4-8. Use list_models to discover ids.",
"type": "string"
},
"output_tokens": {
"description": "Number of output (completion) tokens.",
"minimum": 0,
"type": "integer"
}
},
"required": [
"model",
"input_tokens",
"output_tokens"
],
"type": "object"
},
"name": "estimate_cost",
"outputSchema": null
},
{
"description": "Unified card for one model in a single call: normalized pricing, capabilities (context window, vision, reasoning, tags), availability, reseller markup vs. upstream, and a price-history summary (launch vs. current price, percent change, last change date, all-time low/high).",
"inputSchema": {
"properties": {
"id": {
"description": "Model id in provider/model form, e.g. openai/gpt-5-5.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_model",
"outputSchema": null
},
{
"description": "Historical pricing time-series for a model or provider. Each point is a dated snapshot of the per-Mtok rates.",
"inputSchema": {
"properties": {
"model": {
"description": "Model id to fetch history for.",
"type": "string"
},
"provider": {
"description": "Provider id to fetch history for (all its models).",
"type": "string"
},
"since": {
"description": "ISO date (YYYY-MM-DD); only points on/after this date.",
"type": "string"
},
"until": {
"description": "ISO date (YYYY-MM-DD); only points on/before this date.",
"type": "string"
}
},
"type": "object"
},
"name": "get_price_history",
"outputSchema": null
},
{
"description": "Per-model retirement rows from the record: which model dies when, with runway and migration target. Default shows scheduled (upcoming) retirements sorted by shutdown date.",
"inputSchema": {
"properties": {
"limit": {
"description": "Max rows. Default 100.",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"provider": {
"description": "Filter to one provider id.",
"type": "string"
},
"status": {
"description": "Default scheduled.",
"enum": [
"scheduled",
"retired",
"all"
],
"type": "string"
}
},
"type": "object"
},
"name": "list_deprecations",
"outputSchema": null
},
{
"description": "The changelog of record for the model layer: deprecations, price changes, launches, and the market events around them. Filter by severity to find what demands action: 'breaking' (model going away, ID changing), 'action_required' (price/rate-limit/context changes), 'informational' (releases, funding).",
"inputSchema": {
"properties": {
"limit": {
"description": "Max events. Default 50.",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"provider": {
"description": "Filter to events touching this provider.",
"type": "string"
},
"severity": {
"description": "Filter by what the event demands of consumers of the affected models.",
"enum": [
"breaking",
"action_required",
"informational"
],
"type": "string"
},
"since": {
"description": "ISO date (YYYY-MM-DD); events announced on/after.",
"type": "string"
},
"status": {
"description": "Verification status. Default 'verified' (human-confirmed). 'all' = verified + unverified.",
"enum": [
"verified",
"unverified",
"all",
"corrected"
],
"type": "string"
},
"type": {
"description": "Event type, e.g. model_deprecation, pricing_change, model_launch.",
"type": "string"
},
"until": {
"description": "ISO date (YYYY-MM-DD); events announced on/before.",
"type": "string"
}
},
"type": "object"
},
"name": "list_events",
"outputSchema": null
},
{
"description": "List available models with their current pricing. Optionally filter by provider.",
"inputSchema": {
"properties": {
"include_unavailable": {
"description": "Include deprecated/restricted/unavailable models. Default false.",
"type": "boolean"
},
"limit": {
"description": "Max rows to return. Default 200.",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"provider": {
"description": "Provider id, e.g. anthropic, openai, google, venice, openrouter.",
"type": "string"
}
},
"type": "object"
},
"name": "list_models",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:68e7ae9c89a8f3ebbebe27bb41767fe34b535ff7e53cce36a1a34336b2b290e9 | sha256sum