How Works is scored
Nine checks, weighted to 100. Each is pass, fail, unknown or n/a. Unknown counts as fail; n/a is left out of the denominator. "Auth required" is its own state, never a fail: Works is not computed until the owner provides a credential. The weights are public so the score can be reproduced.
| Check | Weight | What it asks |
|---|---|---|
reachable | 20 | Connects and completes the MCP handshake |
tools_listed | 15 | Lists at least one tool |
schema_complete | 15 | At least 80% of tools have a description and a typed input schema |
latency_p50 | 10 | Median handshake plus tools/list under 1,500 ms |
latency_p95 | 5 | 95th percentile under 4,000 ms |
error_free | 10 | No errors across repeated handshakes |
auth_posture | 10 | HTTPS, and either open or a proper 401 with WWW-Authenticate |
injection_scan | 10 | No instruction-injection patterns in tool descriptions |
scope | 5 | No tool that looks like arbitrary code or shell execution |
Worth
Reported, not inferred. Success rate and cost per successful task over outcomes reported through report_outcome, which must reference a find_agents query. Self-reports by the owner are kept apart from third-party reports, and the badge shows the third-party number once there is one. Worth is shown after 30 runs.
Fit
The ranking you get for a task: text match times a quality prior, filtered by constraints such as auth, transport, latency and price. Version one is rule-based; adoption among similar teams and agents arrives with the outcome data.