verifier

MCP tool observatory: do registry servers answer, and are their answers true? No key.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
78%
이름 품질
88%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,300토큰 (도구 정의)
~651 B일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.02%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "verifier": {
      "url": "https://robinsaige.com/mcp"
    }
  }
}

원격 엔드포인트

https://robinsaige.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (8)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
⚪registry_pulse

Call this FIRST for the state of the MCP tool ecosystem in one shot: how many servers exist, how many actually answer a real handshake, how many are behind a login, the largest costume-farm concentration, AND the Tier-2 truth summary (how many server answers were re-derived against a public primary source and matched). Every number is re-derivable; grades observed/reported/derived. No arguments.

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟢should_i_use(name, names)

THE GATE — call this before your agent depends on a tool you don't already trust. Give an exact server registry name and get a one-word verdict — allow / warn / block — with the reason, plus the full rating underneath. 'block' = dead/unreachable/costume-farm-shaped, don't depend on it; 'warn' = usable but look first; 'allow' = safe to depend on. If you have a NEED not a name, use find_tools; if you have a fuzzy name, use resolve_server_name. Argument: name, e.g. 'com.trimtabist/us-tariff-ledger'.

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "exact registry name, e.g. io.github.you/your-mcp"
    },
    "names": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "description": "batch form: vet a whole config at session start (max 20)"
    }
  }
}
🟢find_tools(need, verdict, free_only, open_only, max_latency_ms, ...)

Find and RANK the trustworthy tool for a NEED. Describe the task in plain words ('screen a company for sanctions', 'US tariff data', 'vessel tracking') — the search is full-text over tool names AND their stored descriptions (stemmed, BM25-ranked), so your words need not appear in any tool's name. Servers come best-rated first, and EACH ROW carries its verdict (allow/warn/block), cluster, distinctiveness and the matching tool names, so you can pick without a second call. Alive, non-costume, current-protocol servers rank on top; dead / costume-farm / walled ones sink. Argument: need.

입력 스키마

{
  "type": "object",
  "properties": {
    "need": {
      "type": "string",
      "description": "what the tool should do, in plain words"
    },
    "verdict": {
      "type": "string",
      "enum": [
        "allow",
        "warn",
        "block"
      ],
      "description": "only servers with this verdict"
    },
    "free_only": {
      "type": "boolean",
      "description": "exclude servers that demand payment at the handshake"
    },
    "open_only": {
      "type": "boolean",
      "description": "exclude auth-walled servers"
    },
    "max_latency_ms": {
      "type": "integer",
      "description": "only servers at or under this probe latency"
    },
    "nature": {
      "type": "string",
      "enum": [
        "retrieval-public",
        "retrieval-private",
        "action",
        "generative",
        "predictive",
        "computational",
        "orchestration"
      ],
      "description": "only servers whose dominant tool nature is this (see robinsaige.com/verification)"
    }
  },
  "required": [
    "need"
  ]
}
🟢resolve_server_name(query)

Resolve a partial or misspelled server name to its EXACT registry id before calling should_i_use / check_server. Matches a fragment against registry NAMES only (not capabilities — for 'which tool does X' use find_tools). Returns candidate exact names with each one's latest liveness outcome. Empty query rejected.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "a fragment of a registry name, e.g. 'tariff'"
    }
  },
  "required": [
    "query"
  ]
}
🟢check_server(name)

The FULL evidence behind the verdict for ONE server, by exact registry name — call should_i_use first for the one-word decision; call this when you want the whole record. Leads with the verdict (allow/warn/block), then the `rating` grouped as REACH (answers, latency vs population, protocol, auth), USE (tool count vs population, capability breadth, harness readiness) and TRUST (costume-farm?, duplicate inventory?, verifiability grade, drift / rug-pull, and where checkable whether its ANSWERS are true vs a public primary), a cluster tag, a distinctiveness score, and an explicit not_claimed block. Argument: name.

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "exact registry name, e.g. io.github.you/your-mcp"
    }
  },
  "required": [
    "name"
  ]
}
🟡report_call(server, tool, ok, latency_ms, cost_tokens, ...)

AFTER your agent calls a tool, fire-and-forget how it went — success/failure, latency, cost — so the observatory accumulates realized reliability (the one thing outside-in probing can't see: did it actually work for a real call). Anchored against our own probe: a 'worked' report on a server we saw dead is discarded. Does NOT change the current rating yet (probing stays load-bearing) — this is accumulate-ahead-of-demand. Args: server (required), tool, ok, latency_ms, cost_tokens, call_hash (a hash binding the report to a real call).

입력 스키마

{
  "type": "object",
  "properties": {
    "server": {
      "type": "string",
      "description": "exact registry name"
    },
    "tool": {
      "type": "string"
    },
    "ok": {
      "type": "boolean"
    },
    "latency_ms": {
      "type": "integer"
    },
    "cost_tokens": {
      "type": "integer"
    },
    "call_hash": {
      "type": "string"
    }
  },
  "required": [
    "server"
  ]
}
🟢changes_since(since)

What changed in the tool economy since a date: verdict flips, deaths, revivals, new servers, confirmed drift — the census diff as data. Poll this weekly to keep a local view current without re-crawling.

입력 스키마

{
  "type": "object",
  "properties": {
    "since": {
      "type": "string",
      "description": "YYYY-MM-DD; omit for the whole latest diff"
    }
  }
}
🟢list_findings

The observatory's ruled findings — each with its claim and its falsification test — plus the public corrections log (what we published, then corrected, never deleted). Call this to cite what has been established, or to see where we were wrong. No arguments.

입력 스키마

{
  "type": "object",
  "properties": {}
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 8개
검증됨버전이 기록되지 않음도구 8개