Anteproof
Dependency risk + calibrated, publicly scored forecasts on OSS packages. Docs: anteproof.com/docs
사용해야 할까요
품질 및 안전성
발견 사항 (2)
- HIGH
- INFOget_calibration에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"anteproof": {
"url": "https://api.anteproof.com/mcp"
}
}
}원격 엔드포인트
https://api.anteproof.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (6)
🟢search_entities(q, limit)
Find tracked entities (repositories, packages, companies) by name substring.
입력 스키마
{
"type": "object",
"properties": {
"q": {
"title": "Q",
"type": "string"
},
"limit": {
"default": 20,
"title": "Limit",
"type": "integer"
}
},
"required": [
"q"
],
"title": "search_entitiesArguments"
}🟢get_entity(entity_id)
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.
입력 스키마
{
"type": "object",
"properties": {
"entity_id": {
"title": "Entity Id",
"type": "integer"
}
},
"required": [
"entity_id"
],
"title": "get_entityArguments"
}🟢get_question(question_id)
One question with every live forecast ever issued for it and its resolution if settled.
입력 스키마
{
"type": "object",
"properties": {
"question_id": {
"title": "Question Id",
"type": "integer"
}
},
"required": [
"question_id"
],
"title": "get_questionArguments"
}🟢list_forecasts(limit, offset)
The public forecast log: newest live forecasts across all entities, with titles.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
}
},
"title": "list_forecastsArguments"
}🟢get_calibration(horizon)
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.
입력 스키마
{
"type": "object",
"properties": {
"horizon": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Horizon"
}
},
"title": "get_calibrationArguments"
}🟢dependency_risk(query)
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.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"title": "Query",
"type": "string"
}
},
"required": [
"query"
],
"title": "dependency_riskArguments"
}커뮤니티
증거