Permit Verdicts

Building-permit verdicts by address, with cited records. SF, Seattle, Austin, NYC. Pay per call.

¿Debería usar esto?

Calidad y seguridad

B
Calidad de la descripción
98%
Integridad del esquema
86%
Calidad de los nombres
94%
Riesgo de envenenamiento
0%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (6)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainen list_jurisdictions
  • MEDIUMTool description contains URL to non-standard domainen check_permit_activity
  • MEDIUMTool description contains URL to non-standard domainen find_active_projects
  • MEDIUMTool description contains URL to non-standard domainen list_settlement_assets
  • MEDIUMTool description contains URL to non-standard domainen decode_decision_id

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,290Tokens (definiciones de herramientas)
~1.3 KBTamaño de respuesta típico
Impacto moderado en la atención (1.79% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "permit-verdicts": {
      "url": "https://permit-api-production-7375.up.railway.app/mcp"
    }
  }
}

Puntos de conexión remotos

https://permit-api-production-7375.up.railway.app/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (10)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢list_jurisdictions

List cities covered by the Permit Intelligence API, with pricing and payment details. Free. Full paid feeds for humans: https://permitverdict.com/pricing

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_permit_activity(jurisdiction, address)

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. Full paid feeds for humans: https://permitverdict.com/pricing

Esquema de entrada

{
  "type": "object",
  "properties": {
    "jurisdiction": {
      "type": "string",
      "enum": [
        "san_francisco",
        "seattle",
        "austin",
        "nyc",
        "chicago",
        "los_angeles",
        "new_orleans"
      ],
      "description": "Covered city, e.g. san_francisco"
    },
    "address": {
      "type": "string",
      "minLength": 3,
      "description": "Street address, e.g. '760 14th St'"
    }
  },
  "required": [
    "jurisdiction",
    "address"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢find_active_projects(jurisdiction, feed, days, min_cost, max_cost)

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). Full paid feeds for humans: https://permitverdict.com/pricing

Esquema de entrada

{
  "type": "object",
  "properties": {
    "jurisdiction": {
      "type": "string",
      "enum": [
        "san_francisco",
        "seattle",
        "austin",
        "nyc",
        "chicago",
        "los_angeles",
        "new_orleans"
      ],
      "description": "Covered city, e.g. san_francisco"
    },
    "feed": {
      "description": "contractor = newly filed/issued permits (default); investor = expired/stalled",
      "type": "string",
      "enum": [
        "contractor",
        "investor"
      ]
    },
    "days": {
      "description": "Lookback window, default 30",
      "type": "integer",
      "minimum": 1,
      "maximum": 180
    },
    "min_cost": {
      "description": "Minimum declared job value, default 50000",
      "type": "number",
      "minimum": 0
    },
    "max_cost": {
      "description": "Maximum declared job value, 0 = no ceiling",
      "type": "number",
      "minimum": 0
    }
  },
  "required": [
    "jurisdiction"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_settlement_assets

FREE. Which crypto assets, venues, operators and modes the settlement oracle supports, plus pricing. Full paid feeds for humans: https://permitverdict.com/pricing

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢resolve_price_event(asset, operator, threshold, from, to, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "asset": {
      "type": "string",
      "description": "Asset symbol, e.g. BTC, ETH, SOL"
    },
    "operator": {
      "type": "string",
      "enum": [
        "above",
        "at_or_above",
        "below",
        "at_or_below"
      ],
      "description": "Comparison against the threshold"
    },
    "threshold": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Price threshold in USD"
    },
    "from": {
      "description": "ISO-8601 window start. Defaults to 24h before `to`.",
      "type": "string"
    },
    "to": {
      "description": "ISO-8601 window end. Defaults to now.",
      "type": "string"
    },
    "mode": {
      "description": "touch = any intrabar print counts (default); close = only candle closes count",
      "type": "string",
      "enum": [
        "touch",
        "close"
      ]
    },
    "payment_header": {
      "description": "X-PAYMENT header from a settled x402 payment. Omit on first call to receive payment requirements.",
      "type": "string"
    }
  },
  "required": [
    "asset",
    "operator",
    "threshold"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_crypto_spot(asset, payment_header)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "asset": {
      "type": "string",
      "description": "Asset symbol, e.g. BTC, ETH, SOL"
    },
    "payment_header": {
      "description": "X-PAYMENT header from a settled x402 payment.",
      "type": "string"
    }
  },
  "required": [
    "asset"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢decode_decision_id(decision_id)

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. Full paid feeds for humans: https://permitverdict.com/pricing

Esquema de entrada

{
  "type": "object",
  "properties": {
    "decision_id": {
      "type": "string",
      "description": "A decision_id of the form pv1.<payload>.<signature>"
    }
  },
  "required": [
    "decision_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢verify_decision(decision_id, payment_header)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "decision_id": {
      "type": "string",
      "description": "A decision_id issued by /v1/oracle/attest"
    },
    "payment_header": {
      "description": "X-PAYMENT header from a settled x402 payment. Omit on first call to receive payment requirements.",
      "type": "string"
    }
  },
  "required": [
    "decision_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢attest_price_event(asset, operator, threshold, from, to, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "asset": {
      "type": "string",
      "description": "Asset symbol, e.g. BTC, ETH, SOL"
    },
    "operator": {
      "type": "string",
      "enum": [
        "above",
        "at_or_above",
        "below",
        "at_or_below"
      ],
      "description": "Comparison against the threshold"
    },
    "threshold": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Price threshold in USD"
    },
    "from": {
      "description": "ISO-8601 window start. Defaults to 24h before `to`.",
      "type": "string"
    },
    "to": {
      "description": "ISO-8601 window end. Defaults to now.",
      "type": "string"
    },
    "mode": {
      "description": "touch (default) or close",
      "type": "string",
      "enum": [
        "touch",
        "close"
      ]
    },
    "payment_header": {
      "description": "X-PAYMENT header from a settled x402 payment.",
      "type": "string"
    }
  },
  "required": [
    "asset",
    "operator",
    "threshold"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_permit_verdict(jurisdiction, address, payment_header)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "jurisdiction": {
      "type": "string",
      "enum": [
        "san_francisco",
        "seattle",
        "austin",
        "nyc",
        "chicago",
        "los_angeles",
        "new_orleans"
      ],
      "description": "Covered city, e.g. san_francisco"
    },
    "address": {
      "type": "string",
      "minLength": 3,
      "description": "Street address, e.g. '760 14th St'"
    },
    "payment_header": {
      "description": "Optional X-PAYMENT header value from a completed x402 payment. Omit on first call to receive payment requirements.",
      "type": "string"
    }
  },
  "required": [
    "jurisdiction",
    "address"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada10 herramientas
verificadoversión no registrada10 herramientas