CityAlert
Free live public-safety incident map: global crime, fire, disaster, weather and news feeds
我该使用它吗
质量与安全性
发现(3)
- LOW在 get_crime_year 中
- LOW在 get_news 中
- LOW在 submit_report 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"cityalert": {
"url": "https://cityalert.live/api/mcp"
}
}
}远程端点
https://cityalert.live/api/mcpstreamable-http它能做什么
工具清单
工具(8)
🟢list_regions
List CityAlert focus regions (key, label, center, zoom, bbox). Use region keys with get_incidents.
输入模式
{
"type": "object",
"properties": {}
}🟢get_incidents(region, category, groups, minSeverity, q, ...)
Merged live incidents from all feeds plus manual reports. Filter by region key, category, group, severity, source, or bbox. Anonymous and free-key calls get a shared ~1-minute snapshot; a pro/business x-api-key header (from cityalert.live/account) unlocks real-time refresh and higher limits.
输入模式
{
"type": "object",
"properties": {
"region": {
"description": "Focus-region key, e.g. 'vancouver' (see list_regions)",
"type": "string"
},
"category": {
"description": "Incident category",
"type": "string",
"enum": [
"crime",
"fire",
"disaster",
"weather",
"unrest",
"health",
"infra",
"alert",
"report"
]
},
"groups": {
"description": "Normalized subtypes to include, e.g. ['violent','property','collision','wildfire']. See group keys in the /api/incidents OpenAPI doc.",
"type": "array",
"items": {
"type": "string"
}
},
"minSeverity": {
"description": "Minimum severity (low < medium < high < critical)",
"type": "string",
"enum": [
"low",
"medium",
"high",
"critical"
]
},
"q": {
"description": "Case-insensitive substring match on type/title/neighbourhood",
"type": "string",
"maxLength": 100
},
"source": {
"description": "Feed source, e.g. 'usgs', 'gdacs', 'eccc', 'vpd', 'bcws', 'vernon-media', 'manual'",
"type": "string"
},
"bbox": {
"description": "[minLon, minLat, maxLon, maxLat]",
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 4,
"maxItems": 4
},
"limit": {
"description": "Max incidents to return (default 250)",
"type": "integer",
"minimum": 1,
"maximum": 5000
},
"refresh": {
"description": "Bypass the feed cache and re-fetch sources",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_trends
Historical aggregates: VPD crime by year/month/type (6y), USGS M4+ quakes per region (10y), GDACS global events (3y), report and live snapshot stats.
输入模式
{
"type": "object",
"properties": {}
}🟢get_crime_year(year, includeIncidents)
Full-year VPD crime data: totals and ranked neighbourhood stats. Vancouver only, 2003-present.
输入模式
{
"type": "object",
"properties": {
"year": {
"type": "integer",
"minimum": 2003,
"maximum": 2026,
"description": "Year, 2003 to present"
},
"includeIncidents": {
"description": "Include every incident point (large; default false)",
"type": "boolean"
}
},
"required": [
"year"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_news(place, refresh)
Per-region safety news items, or news for an arbitrary place name.
输入模式
{
"type": "object",
"properties": {
"place": {
"description": "Place name for ad-hoc news, e.g. 'Kelowna'",
"type": "string",
"maxLength": 60
},
"refresh": {
"description": "Bypass the news cache (pro/business keys only)",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡submit_report(title, lat, lon, category, severity, ...)
File a manual geolocated incident report (same as POST /api/reports).
输入模式
{
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90
},
"lon": {
"type": "number",
"minimum": -180,
"maximum": 180
},
"category": {
"type": "string",
"enum": [
"crime",
"fire",
"disaster",
"weather",
"unrest",
"health",
"infra",
"alert",
"report"
]
},
"severity": {
"type": "string",
"enum": [
"low",
"medium",
"high",
"critical"
]
},
"description": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"title",
"lat",
"lon"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_dashboard(id)
Read a saved dashboard by id (shareable, read-only).
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡create_dashboard(name, config)
Create a shareable dashboard. Returns {id, token} — the token grants write access via PUT /api/dashboards, so save it.
输入模式
{
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 100
},
"config": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "Dashboard config object, e.g. {areas, categories, defaultTab}"
}
},
"required": [
"config"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}推荐提示词
get_incidentsget_incidentslist_regionslist_regionslist_regionsget_incidents社区
证据