io.github.okwithit9-debug/permitverdict-mcp
REMOTE · PERMITVERDICT.COM · 2 COMPONENTS · SCANNED AUG 6
Crypto price-event settlement verdicts and US building-permit data, paid per call in USDC.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security74
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability68
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 1273 tokens (~127/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · permitverdict.com
claude mcp add --transport http okwithit9-debug-permitverdict-mcp https://permitverdict.com/mcp
[mcp_servers.okwithit9-debug-permitverdict-mcp] url = "https://permitverdict.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"okwithit9-debug-permitverdict-mcp": {
"type": "remote",
"url": "https://permitverdict.com/mcp",
"enabled": true
}
}
} openclaw mcp add okwithit9-debug-permitverdict-mcp --url https://permitverdict.com/mcp --transport streamable-http
mcp_servers:
okwithit9-debug-permitverdict-mcp:
url: "https://permitverdict.com/mcp" {
"mcpServers": {
"okwithit9-debug-permitverdict-mcp": {
"type": "http",
"url": "https://permitverdict.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 6 Aug 26 68
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 6 Aug 2026 · Probed https://permitverdict.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=permitverdict.com | CN=YE1,O=Let's Encrypt,C=US | 3 Aug 2026 | 1 Nov 2026 | ECDSA 256 | ECDSA-SHA384 | 5a5e7ac36cde9e481902ae01224e61197b9 |
| SANs: permitverdict.com | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
DNSSEC insecure
Validation of permitverdict.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| permitverdict.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://permitverdict.com/mcp | Verified | 200 | |
| http (plaintext) | http://permitverdict.com/mcp | HTTPS enforced | 301 | https://permitverdict.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
attest_price_event ~221
Settlement 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.
| Name | Type | Req | Description |
|---|---|---|---|
| asset | string | yes | Asset symbol, e.g. BTC, ETH, SOL |
| from | string | — | ISO-8601 window start. Defaults to 24h before `to`. |
| mode | string | — | touch (default) or close |
| operator | string | yes | Comparison against the threshold |
| payment_header | string | — | X-PAYMENT header from a settled x402 payment. |
| threshold | number | yes | Price threshold in USD |
| to | string | — | ISO-8601 window end. Defaults to now. |
No output schema declared.
No examples provided.
check_permit_activity ~95
FREE. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Street address, e.g. '760 14th St' |
| jurisdiction | string | yes | Covered city, e.g. san_francisco |
No output schema declared.
No examples provided.
decode_decision_id ~104
FREE. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| decision_id | string | yes | A decision_id of the form pv1.<payload>.<signature> |
No output schema declared.
No examples provided.
find_active_projects ~140
FREE 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).
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | — | Lookback window, default 30 |
| feed | string | — | contractor = newly filed/issued permits (default); investor = expired/stalled |
| jurisdiction | string | yes | Covered city, e.g. san_francisco |
| max_cost | number | — | Maximum declared job value, 0 = no ceiling |
| min_cost | number | — | Minimum declared job value, default 50000 |
No output schema declared.
No examples provided.
get_crypto_spot ~88
Live 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.
| Name | Type | Req | Description |
|---|---|---|---|
| asset | string | yes | Asset symbol, e.g. BTC, ETH, SOL |
| payment_header | string | — | X-PAYMENT header from a settled x402 payment. |
No output schema declared.
No examples provided.
get_permit_verdict ~120
Address-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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Street address, e.g. '760 14th St' |
| jurisdiction | string | yes | Covered city, e.g. san_francisco |
| payment_header | string | — | Optional X-PAYMENT header value from a completed x402 payment. Omit on first call to receive payment requirements. |
No output schema declared.
No examples provided.
list_jurisdictions ~28
List cities covered by the Permit Intelligence API, with pricing and payment details. Free.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_settlement_assets ~29
FREE. Which crypto assets, venues, operators and modes the settlement oracle supports, plus pricing.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
resolve_price_event ~268
Settlement 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.
| Name | Type | Req | Description |
|---|---|---|---|
| asset | string | yes | Asset symbol, e.g. BTC, ETH, SOL |
| from | string | — | ISO-8601 window start. Defaults to 24h before `to`. |
| mode | string | — | touch = any intrabar print counts (default); close = only candle closes count |
| operator | string | yes | Comparison against the threshold |
| payment_header | string | — | X-PAYMENT header from a settled x402 payment. Omit on first call to receive payment requirements. |
| threshold | number | yes | Price threshold in USD |
| to | string | — | ISO-8601 window end. Defaults to now. |
No output schema declared.
No examples provided.
verify_decision ~180
Re-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.
| Name | Type | Req | Description |
|---|---|---|---|
| decision_id | string | yes | A decision_id issued by /v1/oracle/attest |
| payment_header | string | — | X-PAYMENT header from a settled x402 payment. Omit on first call to receive payment requirements. |
No output schema declared.
No examples provided.