Permit Verdicts
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Building-permit verdicts by address, with cited records. SF, Seattle, Austin, NYC. Pay per call.
| Author | io.github.okwithit9-debug |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2665 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Permit Verdicts": {
"url": "https://permit-api-production-7375.up.railway.app/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (10)
list_jurisdictionsread-onlyList cities covered by the Permit Intelligence API, with pricing and payment details. Free. Full paid feeds for humans: https://permitverdict.com/pricing
Hints: read-only yes · destructive no · idempotent yes · open-world yes
check_permit_activityread-onlyFREE. Quick check on whether a street address has building-permit activity on record: how many permits, how many are open, and when the last activity was. No permit detail and no verdict — use get_permit_verdict for those. Full paid feeds for humans: https://permitverdict.com/pricing
Parameters:
jurisdiction(required) — string — Covered city, e.g. san_franciscoaddress(required) — string — Street address, e.g. '760 14th St'
Hints: read-only yes · destructive no · idempotent yes · open-world yes
find_active_projectsread-onlyFREE PREVIEW (5 results). Recently permitted construction projects in a covered city, filtered by declared budget. Use feed='investor' instead to surface expired and abandoned permits (stalled projects, often motivated owners). Full paid feeds for humans: https://permitverdict.com/pricing
Parameters:
jurisdiction(required) — string — Covered city, e.g. san_franciscodays— integer — Lookback window, default 30feed— string — contractor = newly filed/issued permits (default); investor = expired/stalledmax_cost— number — Maximum declared job value, 0 = no ceilingmin_cost— number — Minimum declared job value, default 50000
Hints: read-only yes · destructive no · idempotent yes · open-world yes
list_settlement_assetsread-onlyFREE. Which crypto assets, venues, operators and modes the settlement oracle supports, plus pricing. Full paid feeds for humans: https://permitverdict.com/pricing
Hints: read-only yes · destructive no · idempotent yes · open-world yes
resolve_price_eventread-onlySettlement verdict for a crypto price event. Answers 'did this asset trade or close above/below a threshold during a window?' with YES/NO/DISPUTED/UNRESOLVED, per-venue evidence from Hyperliquid, Coinbase and Kraken, and stated confidence. (Binance is configured but blocks this host's region; it is reported unavailable rather than silently counted.) Use mode='close' when a market settles on candle closes and mode='touch' when any intrabar print counts — they give different answers and that difference is the most common settlement dispute. Paid: $0.05 in USDC via x402.
Parameters:
asset(required) — string — Asset symbol, e.g. BTC, ETH, SOLoperator(required) — string — Comparison against the thresholdthreshold(required) — number — Price threshold in USDto— string — ISO-8601 window end. Defaults to now.from— string — ISO-8601 window start. Defaults to 24h before `to`.mode— string — touch = any intrabar print counts (default); close = only candle closes countpayment_header— string — X-PAYMENT header from a settled x402 payment. Omit on first call to receive payment requirements.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_crypto_spotread-onlyLive cross-venue spot price with venue agreement and spread. A wide spread means venues disagree and any settlement in that range is contestable. Paid: $0.01 in USDC via x402.
Parameters:
asset(required) — string — Asset symbol, e.g. BTC, ETH, SOLpayment_header— string — X-PAYMENT header from a settled x402 payment.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
decode_decision_idread-onlyFREE. Read what a Permit Verdict decision_id claims and check whether we actually issued it. The id is signed by the same wallet that receives payment, so forgery and after-the-fact editing are both detectable. Needs no payment. This tells you the record is genuine; it does NOT tell you the verdict is still correct — use verify_decision for that. Full paid feeds for humans: https://permitverdict.com/pricing
Parameters:
decision_id(required) — string — A decision_id of the form pv1.<payload>.<signature>
Hints: read-only yes · destructive no · idempotent yes · open-world yes
verify_decisionread-onlyRe-resolve an attested settlement against the price venues right now and report whether it still holds: CONFIRMED, CHANGED or INDETERMINATE. Call this whenever someone hands you a decision_id you are about to rely on — an attestation proves what was said at the time, but only a fresh resolution proves it is still true. Exchanges revise candle history, and a venue that was unreachable at issue time may answer differently now. Paid: $0.02 in USDC via x402 — cheaper than resolving fresh because you are checking someone else's answer rather than buying a new one.
Parameters:
decision_id(required) — string — A decision_id issued by /v1/oracle/attestpayment_header— string — X-PAYMENT header from a settled x402 payment. Omit on first call to receive payment requirements.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
attest_price_eventread-onlySettlement verdict plus a citable record: a signed decision_id, an integrity hash over the evidence, and every candle that determined the outcome. Use this when the answer may later have to be defended to a counterparty, not when you just need to know. KEEP THE decision_id — it is self-contained, so anyone you show it to can authenticate it for free and re-check it for $0.02 without you supplying anything else. Paid: $0.25 in USDC via x402.
Parameters:
asset(required) — string — Asset symbol, e.g. BTC, ETH, SOLoperator(required) — string — Comparison against the thresholdthreshold(required) — number — Price threshold in USDto— string — ISO-8601 window end. Defaults to now.from— string — ISO-8601 window start. Defaults to 24h before `to`.mode— string — touch (default) or closepayment_header— string — X-PAYMENT header from a settled x402 payment.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_permit_verdictread-onlyAddress-level building-permit intelligence for a covered city: normalized permit history + activity signals + a decision-ready verdict with cited public records. Paid: $2.00 in USDC on base via x402.
Parameters:
jurisdiction(required) — string — Covered city, e.g. san_franciscoaddress(required) — string — Street address, e.g. '760 14th St'payment_header— string — Optional X-PAYMENT header value from a completed x402 payment. Omit on first call to receive payment requirements.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.