# com.kenoodl/verify

> Runs your code against a contract; HELD or BROKE at the exact input. Deterministic. 0.10 USDC/call.

- name: com.kenoodl/verify
- version: 1.0.1
- connection class: R0 (autonomous)
- trust: 77/100 flags: no-repository
- quality: 76/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.kenoodl%2Fverify
- tools: https://api.protogrid.dev/v1/servers/com.kenoodl%2Fverify/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "verify": {
      "type": "http",
      "url": "https://kenoodl.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 45
- drivers: +dns-namespace +reachable +uptime-100% ~updated-35d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 76/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 64 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: verify (readOnlyHint, destructiveHint, idempotentHint, openWorldHint)
- pass `tools.token_cost`: about 533 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 1, about 533 tokens to load them all
- tool set hash: f26d1434971b2d7bb1ba2fe1da432fa3
- badge: [![protogrid quality](https://protogrid.dev/badge/com.kenoodl/verify.svg)](https://protogrid.dev/servers/com.kenoodl/verify)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://kenoodl.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (1)

- `verify`: An outside check on code, executed in a sealed sandbox. Call it before code crosses a consequence boundary: before you merge it, deploy it, publish it, settle a payout on it, or report it done. A self-audit verifies consistency, never completeness: a check written inside the frame that produced the code passes on the code's own assumptions. This is the check that is not you. Also call it when a fix passes your own check but the target still fails; that means your check shares the code's assumption and cannot see the error.
INPUT: code (JavaScript/Node or Python 3 source, deterministic only) plus ONE of: contract {fn, examples:[{call,expected}]} (copy call and expected from the test or spec the consequence depends on), or assumption (plain-language claim, weaker read). It checks the code against the contract exactly as given.
VERDICTS (synchronous): BROKE: the code violates your contract, with the exact input and a rerunnable proof; do not proceed. HELD: the code meets the contract you gave; proceed on that contract, and nothing more. FINDINGS: a stated property strains under a generated input; check it before proceeding. DROP: not deterministically checkable.
PAYMENT: 0.10 USDC per call, x402 v2 on Base, no account. Every delivered verdict is charged, HELD and DROP included. If no verdict is produced, the payment authorization is cancelled and you are not charged.
