DoorProfit Crime & Neighborhood Data

US crime scores, incidents, neighborhood demographics, rent data, and offender search by address.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
75%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

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

Costo de contexto

~2,507Tokens (definiciones de herramientas)
~5.8 KBTamaño de respuesta típico
Impacto moderado en la atención (1.96% 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": {
    "doorprofit": {
      "url": "https://api.doorprofit.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://api.doorprofit.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (4)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢get_crime_data(address, lat, lng)

Crime safety grade and nearby incident counts for one US address or coordinate pair. Returns a letter score (A+ safest through F), a short description of that grade, and — in cities where police publish incident data — counts by crime type within 1000ft for the same period the grade was built from (date_from/date_to; this varies by city and is not a live feed). incidents is null where we do not have incident data; a count of 0 means none were reported in that period. There is no national-average breakdown and no list of individual incidents. Use this for "is this address/neighborhood safe?" questions. Do NOT use it for demographics, income, rent or schools (use get_neighborhood_data) or for registered offenders (use search_offenders) — neither is included here. Pass either address or lat+lng, not both. US locations only; requires a DoorProfit API key and consumes 1 call from that key's quota, except for the free test address "500 Main St, Dallas, TX 75202".

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Full US street address, e.g. \"500 Adams St, Tulsa, OK\". Provide either address OR lat+lng."
    },
    "lat": {
      "type": "number",
      "description": "Latitude (use together with lng, as an alternative to address)."
    },
    "lng": {
      "type": "number",
      "description": "Longitude (use together with lat, as an alternative to address)."
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    },
    "test_mode": {
      "type": "boolean",
      "description": "True when querying the free test address."
    },
    "location": {
      "type": "object",
      "description": "The resolved location for the query.",
      "properties": {
        "address": {
          "type": [
            "string",
            "null"
          ],
          "description": "Formatted address."
        },
        "city": {
          "type": [
            "string",
            "null"
          ]
        },
        "state": {
          "type": [
            "string",
            "null"
          ],
          "description": "Two-letter state code."
        },
        "zipcode": {
          "type": [
            "string",
            "null"
          ]
        },
        "county": {
          "type": [
            "string",
            "null"
          ]
        },
        "lat": {
          "type": "number"
        },
        "lng": {
          "type": "number"
        }
      },
      "additionalProperties": true
    },
    "crime_score": {
      "type": [
        "string",
        "null"
      ],
      "description": "Letter safety grade from A+ (safest) to F."
    },
    "crime_numeric": {
      "type": [
        "number",
        "null"
      ],
      "description": "0-1 scale where 1 is safest."
    },
    "crime_description": {
      "type": [
        "string",
        "null"
      ],
      "description": "Human-readable explanation of the score."
    },
    "crime_score_source": {
      "type": [
        "string",
        "null"
      ],
      "description": "\"incidents\" when the grade comes from reported incidents on that block, \"block_group\" otherwise."
    },
    "incidents": {
      "type": [
        "object",
        "null"
      ],
      "description": "Incident counts within radius_feet for date_from through date_to. Null when this city does not publish incident data.",
      "properties": {
        "radius_feet": {
          "type": "integer"
        },
        "date_from": {
          "type": "string",
          "description": "YYYY-MM-DD start of the city scoring period."
        },
        "date_to": {
          "type": "string",
          "description": "YYYY-MM-DD end of the city scoring period."
        },
        "count": {
          "type": "integer",
          "description": "Sum of by_type."
        },
        "by_type": {
          "type": "object",
          "description": "Counts for the 12 types the grade uses. Every key is present; 0 means none reported.",
          "properties": {
            "murder": {
              "type": "integer"
            },
            "shooting": {
              "type": "integer"
            },
            "assault": {
              "type": "integer"
            },
            "sexual_offense": {
              "type": "integer"
            },
            "robbery": {
              "type": "integer"
            },
            "kidnapping": {
              "type": "integer"
            },
            "weapons": {
              "type": "integer"
            },
            "theft": {
              "type": "integer"
            },
            "burglary": {
              "type": "integer"
            },
            "drug_offense": {
              "type": "integer"
            },
            "vandalism": {
              "type": "integer"
            },
            "arson": {
              "type": "integer"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "success"
  ],
  "additionalProperties": true
}
🟢get_neighborhood_data(address, lat, lng)

Profile of the neighborhood (or census block group) containing one US address or coordinate pair: demographics, median household income, home values, rent by bedroom count, education attainment, cost-of-living indices, climate and natural-disaster risk. Use this when the question is about who lives in an area or what it costs to live there. Do NOT use it for crime or safety scores (use get_crime_data) — no crime data is returned here. Pass either address or lat+lng, not both. The neighborhood field is null where no data exists for the location. US locations only; requires a DoorProfit API key and consumes 1 call from that key's quota, except for the free test address "500 Main St, Dallas, TX 75202".

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Full US street address, e.g. \"500 Adams St, Tulsa, OK\". Provide either address OR lat+lng."
    },
    "lat": {
      "type": "number",
      "description": "Latitude (use together with lng, as an alternative to address)."
    },
    "lng": {
      "type": "number",
      "description": "Longitude (use together with lat, as an alternative to address)."
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    },
    "test_mode": {
      "type": "boolean",
      "description": "True when querying the free test address."
    },
    "location": {
      "type": "object",
      "description": "The resolved location for the query.",
      "properties": {
        "address": {
          "type": [
            "string",
            "null"
          ],
          "description": "Formatted address."
        },
        "city": {
          "type": [
            "string",
            "null"
          ]
        },
        "state": {
          "type": [
            "string",
            "null"
          ],
          "description": "Two-letter state code."
        },
        "zipcode": {
          "type": [
            "string",
            "null"
          ]
        },
        "county": {
          "type": [
            "string",
            "null"
          ]
        },
        "lat": {
          "type": "number"
        },
        "lng": {
          "type": "number"
        }
      },
      "additionalProperties": true
    },
    "neighborhood": {
      "type": [
        "object",
        "null"
      ],
      "description": "Neighborhood data; null when no data exists for the location.",
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Named neighborhood, when one exists."
        },
        "data_source": {
          "type": "string",
          "description": "\"neighborhood\" or \"block_group\"."
        },
        "demographics": {
          "type": "object",
          "description": "Population, density, median age, gender, race, and age distribution.",
          "additionalProperties": true
        },
        "income": {
          "type": "object",
          "description": "Median/average household income and income distribution.",
          "additionalProperties": true
        },
        "housing": {
          "type": "object",
          "description": "Median home value, households, year built, occupancy.",
          "additionalProperties": true
        },
        "education": {
          "type": "object",
          "description": "Education attainment percentages.",
          "additionalProperties": true
        },
        "cost_of_living": {
          "type": "object",
          "description": "Cost indices (100 = national average).",
          "additionalProperties": true
        },
        "rent": {
          "type": "object",
          "description": "Median/average rent, by bedroom count.",
          "additionalProperties": true
        },
        "weather": {
          "type": "object",
          "description": "Temperatures, precipitation, and natural disaster risk indices.",
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    }
  },
  "required": [
    "success"
  ],
  "additionalProperties": true
}
🟢search_offenders(address, lat, lng, radius, first_name, ...)

Search US registered offenders in one of two modes. Location mode: pass address or lat+lng, plus an optional radius in miles (default 1, capped at 3); results include each offender's distance from the search point. Name mode: pass at least one of first_name, last_name or dob, optionally narrowed by city/state/zipcode — those three filters alone are not accepted. Location parameters take precedence when both are supplied. Use this only for registered-offender questions; for an overall safety grade use get_crime_data instead. Results are paginated (page, limit, max 100 per page) and each page requested requires a DoorProfit API key and consumes 1 call from that key's quota.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Full US street address, e.g. \"500 Adams St, Tulsa, OK\". Provide either address OR lat+lng."
    },
    "lat": {
      "type": "number",
      "description": "Latitude (use together with lng, as an alternative to address)."
    },
    "lng": {
      "type": "number",
      "description": "Longitude (use together with lat, as an alternative to address)."
    },
    "radius": {
      "type": "number",
      "description": "Search radius in miles for location searches (default 1, max 3)."
    },
    "first_name": {
      "type": "string",
      "description": "First name for name-based searches."
    },
    "last_name": {
      "type": "string",
      "description": "Last name for name-based searches."
    },
    "dob": {
      "type": "string",
      "description": "Date of birth, YYYY-MM-DD."
    },
    "city": {
      "type": "string",
      "description": "City filter for name-based searches."
    },
    "state": {
      "type": "string",
      "description": "Two-letter state code filter, e.g. \"OK\"."
    },
    "zipcode": {
      "type": "string",
      "description": "Zipcode filter for name-based searches."
    },
    "page": {
      "type": "integer",
      "description": "Page number (default 1)."
    },
    "limit": {
      "type": "integer",
      "description": "Results per page (default 50, max 100)."
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    },
    "test_mode": {
      "type": "boolean"
    },
    "search_type": {
      "type": "string",
      "description": "\"gis\" for location searches, \"name\" for name searches."
    },
    "offenders": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "address": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "zipcode": {
            "type": [
              "string",
              "null"
            ]
          },
          "lat": {
            "type": [
              "number",
              "null"
            ]
          },
          "lng": {
            "type": [
              "number",
              "null"
            ]
          },
          "distance": {
            "type": [
              "number",
              "null"
            ],
            "description": "Miles from the search point."
          },
          "photo": {
            "type": [
              "string",
              "null"
            ],
            "description": "Photo URL."
          },
          "age": {
            "type": [
              "integer",
              "string",
              "null"
            ]
          },
          "risk_level": {
            "type": [
              "string",
              "null"
            ]
          },
          "offense": {
            "type": [
              "string",
              "null"
            ],
            "description": "Primary offense description."
          }
        },
        "additionalProperties": true
      }
    },
    "offenders_count": {
      "type": "integer",
      "description": "Results on this page."
    },
    "total_count": {
      "type": "integer",
      "description": "Total matching results."
    },
    "page": {
      "type": "integer"
    },
    "total_pages": {
      "type": "integer"
    },
    "radius": {
      "type": [
        "number",
        "null"
      ],
      "description": "Search radius in miles (location searches only)."
    }
  },
  "required": [
    "success"
  ],
  "additionalProperties": true
}
🟢get_api_usage

Report the plan, monthly and daily call usage, remaining quota, reset times, rate limit and overage status for the DoorProfit API key authenticating this session. Takes no arguments — it always describes the calling key, never another account. Call it when the user asks how many calls they have left, or after any other tool returns QUOTA_EXCEEDED or DAILY_LIMIT_EXCEEDED, to confirm the limit and reset time before suggesting an upgrade. This is the only tool that never consumes quota.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "properties": {
        "plan": {
          "type": "object",
          "description": "Plan type, name, and monthly price.",
          "additionalProperties": true
        },
        "monthly": {
          "type": "object",
          "description": "Monthly limit, used, remaining, and reset time.",
          "additionalProperties": true
        },
        "daily": {
          "type": "object",
          "description": "Daily limit, used, remaining, and reset time.",
          "additionalProperties": true
        },
        "rate_limit": {
          "type": "object",
          "description": "Requests-per-second limit.",
          "additionalProperties": true
        },
        "overage": {
          "type": "object",
          "description": "Overage billing status (paid plans).",
          "additionalProperties": true
        },
        "account": {
          "type": "object",
          "description": "Account and subscription status.",
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    }
  },
  "required": [
    "success"
  ],
  "additionalProperties": true
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada4 herramientas
verificadoversión no registrada4 herramientas
verificadoversión no registrada4 herramientas