Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,539Letters: 14Defects: 1,323counted just now
teppi

Server definition

Hash
sha256:295e5ea00c6a02ce76482b231e4bc1a2e97253522ffab13270aab32682e670a2
What it is
What a remote MCP server returned when asked what it offers: 6 tools

The blob, as servednamed by its sha256

{ "instructions": "Anteproof publishes calibrated probability forecasts about software projects, packages and companies, and scores every forecast against what happened. Use search_entities to find an entity, get_entity for its open questions and latest forecasts, get_question for one question's full forecast history, list_forecasts for the newest forecasts across everything, and get_calibration to judge how much to trust a number, and dependency_risk for a one-call maintenance-risk answer about a package or repository. Probabilities are estimates, not advice.", "tools": [ { "description": "Calibrated, timestamped maintenance-risk forecast for an open-source package or GitHub repository, for choosing or auditing a dependency. Pass an npm, PyPI or crates.io package name, a GitHub owner/repo or URL, or a prefixed name (npm:express, pypi:requests, crate:serde, repo:owner/name). Returns the latest open forecasts that the repository keeps its commit pace (commits_90d) and ships a release (release_90d) in the next 90 days — each with its question id, probability, issue time and resolution date; 90 days of commit, release and star activity summarised (commits last 30 vs prior 30 days, days since last commit and last release, releases in the last year); a velocity block that now carries only the day the entity was last scored — both the `composite` score and the `stage` label are withheld, arriving as null with a `withheld` sibling naming them, and they are not figures we failed to compute, so do not describe a project's momentum on our behalf; plain-language signals derived from those numbers (e.g. 'no commits in 60 days', 'release cadence slowing'); and a calibration note with the family's resolved-forecast count and Brier score, or 'no track record yet'. A package is linked to its repository when the archive knows the link; repo_link says how (self, source_repo = the registry's recorded repository, external_ids, name_match = a labelled guess, unknown). Nothing is estimated on the fly: every number comes from the archive and the answer names what is missing. Not found = no tracked match; try the exact package name or owner/repo.", "inputSchema": { "properties": { "query": { "title": "Query", "type": "string" } }, "required": [ "query" ], "title": "dependency_riskArguments", "type": "object" }, "name": "dependency_risk", "outputSchema": null }, { "description": "The calibration record: Brier skill by question family for the pastcast pool and the live track, with the launch-gate verdict for the horizon asked for. horizon: 7, 30, 90, long, or all (default: the horizon the latest verdict scopes on); the 90-day maintenance families (commits_90d, release_90d) are at 90. regime.gate is the verdict evaluated on THAT horizon, or null when no gate has been run on it — never another horizon's verdict, so null means those families are unjudged, not that they failed. regime.latest_gate is the newest verdict overall whatever its horizon, carrying its own domain and horizon_days; read applies_to_this_view before treating it as a verdict on the families returned. SHAPE: `pastcast` and `live` each carry the track's own statistics plus `families`, a list of per-family blocks (family, label, n, brier, brier_skill_score, base_rate, mean_p, z_bias, hit_rate, bins, enough_to_judge). Every one of those blocks, and each track, also carries a `withheld` sibling: null when the numbers are real, otherwise an object {reason, metrics, degraded_from, detail}. WHEN `withheld` IS NON-NULL, EVERY NUMBER IN THAT BLOCK IS JSON null — n included. null there means 'we refuse to publish this', NOT zero and NOT 'nothing resolved'; do not coerce it to 0, do not average over it, and do not report it as a score. A real n=0 with `withheld: null` is the honest 'nothing has resolved yet'. EACH TRACK also carries `partial_withheld`: null normally, otherwise an object with the same {reason, metrics, degraded_from, detail} keys plus `excluded_families` (the families left out of this pooled figure, each with its own reason) and a computed `note`. It means the track's numbers ARE REAL and ARE SOUND, and were pooled over only the families that are individually publishable — partial coverage, not a withheld number. Report the numbers; quote `note` or `detail` alongside them so the scope travels with the figure. `withheld` and `partial_withheld` are never both non-null on the same block. The families over GH Archive activity series — commits_90d, release_90d and the legacy daily families commits_hourly, release_published and stars_hourly — are withheld unconditionally today, with reason 'resolutions_untrusted': every one of those questions was resolved by counting a GH Archive series whose capture collapsed, so no score over that pool is sound at any horizon. `detail` is a sentence you can quote to the user. Other reasons a number can be withheld are 'source_degraded', 'source_collapsed' and 'insufficient_data'. Every other family (news tone, Wikipedia pageviews, Hacker News points, job postings, crates and PyPI downloads, prediction-market questions) publishes real numbers as before.", "inputSchema": { "properties": { "horizon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Horizon" } }, "title": "get_calibrationArguments", "type": "object" }, "name": "get_calibration", "outputSchema": null }, { "description": "One entity's public record: identity, the day it was last velocity-scored, 30-day metric history, and every live question about it with its latest forecast. Every FIGURE in the velocity block — `composite`, `layer_scores` and the `stage` label — is withheld (null, with a `withheld` sibling saying why), so do not report a velocity number and do not describe the project as emerging or fading on our behalf. A velocity block that is present with null figures means we scored the entity and withheld the result; a velocity of null means we never scored it.", "inputSchema": { "properties": { "entity_id": { "title": "Entity Id", "type": "integer" } }, "required": [ "entity_id" ], "title": "get_entityArguments", "type": "object" }, "name": "get_entity", "outputSchema": null }, { "description": "One question with every live forecast ever issued for it and its resolution if settled.", "inputSchema": { "properties": { "question_id": { "title": "Question Id", "type": "integer" } }, "required": [ "question_id" ], "title": "get_questionArguments", "type": "object" }, "name": "get_question", "outputSchema": null }, { "description": "The public forecast log: newest live forecasts across all entities, with titles.", "inputSchema": { "properties": { "limit": { "default": 25, "title": "Limit", "type": "integer" }, "offset": { "default": 0, "title": "Offset", "type": "integer" } }, "title": "list_forecastsArguments", "type": "object" }, "name": "list_forecasts", "outputSchema": null }, { "description": "Find tracked entities (repositories, packages, companies) by name substring.", "inputSchema": { "properties": { "limit": { "default": 20, "title": "Limit", "type": "integer" }, "q": { "title": "Q", "type": "string" } }, "required": [ "q" ], "title": "search_entitiesArguments", "type": "object" }, "name": "search_entities", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:295e5ea00c6a02ce76482b231e4bc1a2e97253522ffab13270aab32682e670a2 | sha256sum