CitySignal AI
Live road, transit, weather, power and water signals for US cities, plus your own spots and routes.
我該用這個嗎
品質與安全性
發現項目(11)
- HIGH
- MEDIUM在 city_now 中
- MEDIUM在 city_events 中
- MEDIUM在 get_signal 中
- MEDIUM在 city_pictures 中
- INFO在 city_now 中
- INFO在 city_events 中
- INFO在 get_signal 中
- INFO在 city_pictures 中
- INFO在 my_detours 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"citysignal": {
"url": "https://citysignalai.com/mcp"
}
}
}遠端端點
https://citysignalai.com/mcpstreamable-http它能做什麼
工具清單
工具(23)
🟢list_cities
The cities CitySignal covers, with their slug, timezone, center point, the official sources it reads, and status: live, or preview (still being checked, open to sign-ups, trackers not yet public). Call this when unsure which city slug to pass.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"cities": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
},
"required": [
"cities"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢city_now(city, category, limit)
Live alerts in a city, deduplicated from official feeds (roads, transit, weather, power, water, construction) and placed by the app's own rule into four buckets: now (live and current), ongoing (live for more than two days, or unconfirmed), ahead (starts later, within 7 days, grouped by day) and recap (ended in the last 12 hours). Each item carries a stable signal_id. Use this for any 'what is going on in <city>' or 'anything I should know before I head out' question. Events and games are in city_events. Items with a real picture carry picture_url. Images in the result are visible to the assistant only: give the person picture_url as a tappable markdown link next to the item. Never say an image is shown. Show only CitySignal pictures for an incident (picture_url, gallery_url, placeholder_url): never add images from the web or any other source, not even as illustrations. In apps that show CitySignal cards natively, the cards appear on their own; still add one line per card.
輸入結構描述
{
"type": "object",
"properties": {
"city": {
"default": "atlanta",
"type": "string",
"description": "City slug. One of: atlanta, nashville, charlotte, dallas, austin, seattle, chicago, san-francisco, raleigh-durham, houston, greensboro, birmingham, pensacola, louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami. Defaults to atlanta. In preview (still being checked, open to sign-ups, trackers not yet public): louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami."
},
"category": {
"description": "Only this category: road, transit, weather, power, water, construction, emergency, film, sanitation, government_notice. Omit for all.",
"type": "string"
},
"limit": {
"description": "Max items per bucket (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"gallery_url": {
"type": "string"
},
"city": {
"type": "string"
},
"as_of": {
"type": "string"
},
"now": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"ongoing": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"ahead": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"recap": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"counts": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"preview": {
"type": "boolean"
},
"express_lanes": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
},
"required": [
"city",
"as_of",
"now",
"ongoing",
"ahead",
"recap",
"counts"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢city_near(city, lat, lon, radius_mi, category, ...)
Alerts within a radius of a latitude and longitude in a city, nearest first, each with its distance in miles: live ones (bucket now, ongoing or ahead) and ones that ended in the last 12 hours (bucket recap, so 'was there anything here this afternoon' can be answered). Default radius 3 miles, max 25. Use when the person names a place, an address or 'near me' and you have coordinates. It does not geocode: resolve the address to lat and lon first.
輸入結構描述
{
"type": "object",
"properties": {
"city": {
"default": "atlanta",
"type": "string",
"description": "City slug. One of: atlanta, nashville, charlotte, dallas, austin, seattle, chicago, san-francisco, raleigh-durham, houston, greensboro, birmingham, pensacola, louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami. Defaults to atlanta. In preview (still being checked, open to sign-ups, trackers not yet public): louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami."
},
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90
},
"lon": {
"type": "number",
"minimum": -180,
"maximum": 180
},
"radius_mi": {
"type": "number",
"minimum": 0.1,
"maximum": 25
},
"category": {
"description": "Only this category: road, transit, weather, power, water, construction, emergency, film, sanitation, government_notice. Omit for all.",
"type": "string"
},
"limit": {
"description": "Max items per bucket (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"lat",
"lon"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"as_of": {
"type": "string"
},
"center": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"radius_mi": {
"type": "number"
},
"items": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"preview": {
"type": "boolean"
}
},
"required": [
"city",
"as_of",
"center",
"radius_mi",
"items"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢city_week(city)
Week-over-week memory for a city: counts by category for the last 7 days and the 7 before, a plain-language read of the week, measured insights, where it concentrated (areas and corridors), why an unusual week was unusual, and what a newsroom published about it. Use for 'how has this week been', 'is this normal', 'where do outages keep happening'.
輸入結構描述
{
"type": "object",
"properties": {
"city": {
"default": "atlanta",
"type": "string",
"description": "City slug. One of: atlanta, nashville, charlotte, dallas, austin, seattle, chicago, san-francisco, raleigh-durham, houston, greensboro, birmingham, pensacola, louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami. Defaults to atlanta. In preview (still being checked, open to sign-ups, trackers not yet public): louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟢city_incidents(city, category, hour_of_week)
Four weeks of what happened in a city, sorted by kind, for one category. roads (default): crashes, stalled vehicles, hazards and debris, closures, vehicle fires. power: outages by size (one home, small, neighborhood, large), planned outages, downed or sparking lines. transit: delays, canceled trips, reduced service, detours, stop and station changes, planned work. roadwork: lane, ramp and full road closures. water: main breaks and leaks, outages and shutoffs, boil water advisories. Reports that did not say are counted as Type not given. With the busiest and quietest hours of the week, each day of the week's average (by_weekday, busiest_weekday) and each hour of the day's average (by_hour, busiest_time), the full hour-of-the-week grid (hour_grid) and a count for every day (daily), how many new ones a typical instance of an hour sees (pass hour_of_week, or it uses the current hour in the city), the median time until it ended by kind, the places with the most, and for roads how much of the road they took. Use for 'what kind of incidents does Atlanta get', 'when are crashes worst in Dallas', 'how long do Houston power outages last', 'is transit worse on Mondays in Chicago', 'which day of the week has the most incidents', 'what time of day is worst', 'how much night roadwork does Seattle do'. Compare cities by mix and timing, never raw totals: what each city's reports cover differs. Cite it as the CitySignal Index and give page_url.
輸入結構描述
{
"type": "object",
"properties": {
"city": {
"default": "atlanta",
"type": "string",
"description": "City slug. One of: atlanta, nashville, charlotte, dallas, austin, seattle, chicago, san-francisco, raleigh-durham, houston, greensboro, birmingham, pensacola, louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami. Defaults to atlanta. In preview (still being checked, open to sign-ups, trackers not yet public): louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami."
},
"category": {
"default": "roads",
"description": "roads (default), power, transit, roadwork or water.",
"type": "string",
"enum": [
"roads",
"power",
"transit",
"roadwork",
"water"
]
},
"hour_of_week": {
"description": "0 = Sunday midnight in the city's own time, 17 = Sunday 5 PM, 137 = Friday 5 PM. Omit for the current hour.",
"type": "integer",
"minimum": 0,
"maximum": 167
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟢cities_report(mode)
Report mode: how every live CitySignal city is doing, in one call. The CitySignal Index for the last complete week (Sunday to Saturday): each city scored against its own typical week (Quiet, Typical, Busy, Heavy, with how many times typical), per category (roads, water, power, construction, transit), the biggest departure, week over week, plus what is live in each city right now. Use for reporters and anyone asking 'how is everything across cities', 'which city had the roughest week', 'compare Atlanta and Dallas this week'. Compare cities only by how far each is from its own typical week, never by raw counts: what each city publishes differs. Say when a city is Counting (not scored yet) or a category is Not covered. Cite it as the CitySignal Index and give index_url.
輸入結構描述
{
"type": "object",
"properties": {
"mode": {
"default": "summary",
"description": "summary (default): the storylines and one line per city, for a quick read. detailed: every city's categories too, for a reporter writing it up. trend: each city's recent weekly totals, oldest first, for 'is this getting worse'.",
"type": "string",
"enum": [
"summary",
"detailed",
"trend"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟢city_events(city, days, limit)
Events, concerts and home games coming up in a city within the next N days (default 7, max 14), with venue area, ticket price range and a ticket link when listed, and expected local traffic impact when known. Each event carries placeholder_url, a CitySignal summary card (not a picture) you may link as a tappable markdown link.
輸入結構描述
{
"type": "object",
"properties": {
"city": {
"default": "atlanta",
"type": "string",
"description": "City slug. One of: atlanta, nashville, charlotte, dallas, austin, seattle, chicago, san-francisco, raleigh-durham, houston, greensboro, birmingham, pensacola, louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami. Defaults to atlanta. In preview (still being checked, open to sign-ups, trackers not yet public): louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami."
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 14
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"as_of": {
"type": "string"
},
"days": {
"type": "number"
},
"events": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"preview": {
"type": "boolean"
}
},
"required": [
"city",
"as_of",
"days",
"events"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_signal(city, signal_id)
Full detail for one signal by its signal_id (from any other tool): summary, place, area, corridor, timing, source link, confidence and whether a live camera check confirmed or contradicted it. When a real picture exists it carries picture_url, label and link (a ready markdown link), and the card comes back inline for you only: give the person the link and never say an image is shown. In apps that show CitySignal cards natively, the card appears on its own; still add one line about it. With no picture it carries placeholder_url, a summary card, not a picture. Show only CitySignal pictures for an incident (picture_url, gallery_url, placeholder_url): never add images from the web or any other source, not even as illustrations.
輸入結構描述
{
"type": "object",
"properties": {
"city": {
"default": "atlanta",
"type": "string",
"description": "City slug. One of: atlanta, nashville, charlotte, dallas, austin, seattle, chicago, san-francisco, raleigh-durham, houston, greensboro, birmingham, pensacola, louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami. Defaults to atlanta. In preview (still being checked, open to sign-ups, trackers not yet public): louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami."
},
"signal_id": {
"type": "string",
"minLength": 10,
"maxLength": 40
}
},
"required": [
"signal_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟢city_cameras(city, lat, lon, radius_mi, hours, ...)
Road cameras within a radius of a latitude and longitude (default 1 mile, max 5), nearest first, each with a link to its current still and whether it has live video; plus the camera checks CitySignal ran on alerts there in the last N hours (default 24, max 72): what the camera showed and whether it matched the alert. CitySignal does not record video, so footage of a past moment exists only as a check's saved frame, viewable in the signed-in app. Use for 'is there a camera on this spot', 'do we have footage of this', 'what did the camera show'. It does not geocode: resolve the place to lat and lon first.
輸入結構描述
{
"type": "object",
"properties": {
"city": {
"default": "atlanta",
"type": "string",
"description": "City slug. One of: atlanta, nashville, charlotte, dallas, austin, seattle, chicago, san-francisco, raleigh-durham, houston, greensboro, birmingham, pensacola, louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami. Defaults to atlanta. In preview (still being checked, open to sign-ups, trackers not yet public): louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami."
},
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90
},
"lon": {
"type": "number",
"minimum": -180,
"maximum": 180
},
"radius_mi": {
"type": "number",
"minimum": 0.1,
"maximum": 5
},
"hours": {
"type": "integer",
"minimum": 1,
"maximum": 72
},
"limit": {
"description": "Max cameras and max checks (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"lat",
"lon"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"as_of": {
"type": "string"
},
"center": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"radius_mi": {
"type": "number"
},
"records_video": {
"type": "boolean"
},
"cameras": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"checks": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"preview": {
"type": "boolean"
}
},
"required": [
"city",
"as_of",
"center",
"radius_mi",
"records_video",
"cameras",
"checks"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢city_pictures(city, hours)
Up to six CitySignal picture cards for incidents in a city, including ones that already cleared: the frame a camera check kept, or a live view while the incident is still going. Each card has a headline, time, city, and a Cleared / Earlier today tag when it's over. Incidents with no picture are left out. Images in this tool's result are visible to the assistant only, not to the person. To show a card, give the person its picture_url as a tappable markdown link with a short label (road, cross street, time), e.g. [I-20 WB at US-29 (live)](picture_url). Never tell the person a picture is "shown" or "above." Describe what each image shows in one line next to its link. In apps that show CitySignal cards natively, the cards appear on their own; still add one line per card. If gallery_url is present, give it first as the one link that opens all cards. Show only CitySignal pictures for an incident (picture_url, gallery_url, placeholder_url): never add images from the web or any other source, not even as illustrations. Use for "show me what's happening," "any pictures," "what did it look like." hours (default 12, max 72) is how far back camera checks count.
輸入結構描述
{
"type": "object",
"properties": {
"city": {
"default": "atlanta",
"type": "string",
"description": "City slug. One of: atlanta, nashville, charlotte, dallas, austin, seattle, chicago, san-francisco, raleigh-durham, houston, greensboro, birmingham, pensacola, louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami. Defaults to atlanta. In preview (still being checked, open to sign-ups, trackers not yet public): louisville, san-jose, memphis, knoxville, wilmington, asheville, salt-lake-city, ogden, provo-orem, las-vegas, phoenix, madison, milwaukee, los-angeles, riverside-san-bernardino, san-diego, sacramento, columbus-oh, cincinnati, cleveland, toledo, akron, charleston, greenville-sc, columbia, myrtle-beach, denver, colorado-springs, savannah, augusta, columbus-ga, macon, portland, chattanooga, el-paso, new-york, minneapolis, stockton, fresno, bakersfield, oxnard, spokane, orlando, tampa, jacksonville, sarasota, lakeland, daytona, melbourne, miami."
},
"hours": {
"description": "How far back, in hours (default 12).",
"type": "integer",
"minimum": 1,
"maximum": 72
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"gallery_url": {
"type": "string"
},
"city": {
"type": "string"
},
"as_of": {
"type": "string"
},
"hours": {
"type": "number"
},
"items": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"preview": {
"type": "boolean"
}
},
"required": [
"city",
"as_of",
"hours",
"items"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_profile
The connected CitySignal account: a stable opaque id and display name. Call this to confirm which account is linked before reading personal tools.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟢my_day
The connected person's own Now / Ongoing / Ahead / Recap: live signals that touch their saved spots and routes, in the same buckets the app shows, plus today's calendar line. Use for 'anything I should know today', 'what's near my places', 'is my area affected'. Needs a connected account.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟢my_brief
Today's written brief for the connected person: top alerts, citywide items, what is near their spots with why it matters and a recommended action, events, what is ongoing, what came and went since the last brief. Use when they ask for their briefing or a summary of their day. Needs a connected account.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟢my_routes_now
Each of the connected person's saved routes with its current state (Clear, Minor delay, Expect delays, Consider another route) and what changes how the road drives on its corridor now and ahead: crashes, lane closures, roadwork, weather over the route's counties, and event crowds around the trip time. Power, water and other at-a-place notices are NOT route delays; they belong to the person's spots (see my_brief, near_your_spots), except a large outage along the way, listed in along_the_way_notes because traffic lights may be dark. Use for 'how is my commute', 'should I leave now', 'anything on the way to work'. Needs a connected account.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟢my_along_the_way
Errands on the connected person's list that fit a trip they already make today, with the store, the detour in minutes, why that store, and a price line when one is known. Use for 'what can I pick up on the way', 'any errands I can do today'. Needs a connected account.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟢my_list
The connected person's shopping list as Scout priced it at their home Kroger: each item with product, size, price and whether it is on sale, plus the running total. Non-private lists include a revocable share link that expires after seven days. Use for 'what's on my list', 'how much will groceries be', 'is anything on sale'. Needs a connected account.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟢my_spots_and_routes
The connected person's saved spots (name, kind, part of town, alert radius) and routes (name, from, to, schedule). Use to understand what 'home', 'work' or 'my commute' refer to before answering about them. Addresses are not included. Needs a connected account.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟡add_errand(text, by)
Adds one errand to the connected person's own list, in their words ('milk and eggs', 'pick up lotion at the pharmacy'), the way the app, Siri and a text to Scout do: Scout reads the store kind from the words and fits the errand into a drive they already make. Optional 'by': a day word (today, tomorrow, Friday) or a date (YYYY-MM-DD). Returns the item as the list shows it, a confirmation line, and whether a stop on one of today's drives already fits; a stop is named only when Scout matched one, never guessed. Call this only when the person asks to add something. Needs a connected account.
輸入結構描述
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 140,
"description": "What they need, in their words. A store named after 'at' or 'from' is kept and honoured."
},
"by": {
"description": "A day word (today, tomorrow, Friday, next Monday) or an ISO date. Omit when they named no day.",
"type": "string",
"maxLength": 40
}
},
"required": [
"text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟡save_spot(address, kind, name, lat, lon)
Saves a spot (a place that matters to the connected person, where Scout looks out for them) at an address they typed, with a kind: home, work, school, church, gym or other, and an optional name. The address must resolve to one confident, house-level match in their home city; when it does not, nothing is saved and the result lists the top suggestions with their lat and lon. Then ask the person which one they meant and call save_spot again with that suggestion's lat and lon (never coordinates from anywhere else). Ten spots per account; a spot already within a tenth of a mile is reported, not duplicated. Call this only when the person asks to save a place. Needs a connected account.
輸入結構描述
{
"type": "object",
"properties": {
"address": {
"type": "string",
"minLength": 3,
"maxLength": 200,
"description": "The street address or place name they typed."
},
"kind": {
"type": "string",
"enum": [
"home",
"work",
"school",
"church",
"gym",
"other"
],
"description": "home, work, school, church, gym or other."
},
"name": {
"description": "A nickname. Defaults to the kind (Home, Work, School, Church, Gym); required for other.",
"type": "string",
"maxLength": 60
},
"lat": {
"description": "Only from a suggestion this tool returned, to confirm it.",
"type": "number",
"minimum": -90,
"maximum": 90
},
"lon": {
"description": "Only from a suggestion this tool returned, to confirm it.",
"type": "number",
"minimum": -180,
"maximum": 180
}
},
"required": [
"address",
"kind"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟢my_detours
Scout's detour offers on the connected person's drives today, as the Scout page shows them: the streak line (how many drives or weeks straight home), the offer (worth it: an event they marked interest in, near a drive, as a stop; dodge it: a big crowd a drive passes, with the way around), the DETOUR-XXX code and what the code opens. The route's own state never changes because of an event. Use for 'any detours today', 'what is that DETOUR code', 'anything worth stopping for on the way home'. Empty when there is no offer. Needs a connected account.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟢get_detour(code)
Resolves a DETOUR-XXX code for the connected person: which drive it is on, the event, whether it is worth it (a stop) or dodge it (a way around), the streak and offer lines, and the link that opens it. Codes are per person and per day; a code that has passed says so. Use when the person says or pastes a code. Needs a connected account.
輸入結構描述
{
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 6,
"maxLength": 12,
"description": "The code, like DETOUR-KQM."
}
},
"required": [
"code"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟢circle_needs(person, category)
Open errands and list items of people in the connected person's Circle, for people who turned on assistant access for them, with how long each has waited and whether it was already asked of or accepted by the connected person. When an errand lists what it is for, 'items' names them (a 'Groceries' errand with items oat milk, eggs, paper towels): name those items in the answer. An empty 'items' means no items are shared for that errand. Use for 'what does everyone need', 'what has Mom asked for', 'did anyone already get the milk'. People who did not turn on access do not appear. Needs a connected account with Circle access.
輸入結構描述
{
"type": "object",
"properties": {
"person": {
"description": "First name to narrow to one person.",
"type": "string",
"maxLength": 40
},
"category": {
"description": "A kind of errand or a word from it: grocery, pharmacy, returns, milk.",
"type": "string",
"maxLength": 40
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}🟢circle_along_the_way(category, day)
Trips people in the connected person's Circle already plan today or tomorrow that fit an errand: a store run someone's item could ride along on, a return or post office stop, a trip they both make. Returns the person's first name, the trip label, an approximate time only if they share times, the kind of store, and which of the connected person's items could ride along. Never a location. Use for 'is anyone passing a pharmacy today', 'who could grab the milk', 'anyone going to Target'. Asking the person happens in the CitySignal app. Needs a connected account with Circle access.
輸入結構描述
{
"type": "object",
"properties": {
"category": {
"description": "A store kind or word: pharmacy, grocery, Target, post office.",
"type": "string",
"maxLength": 40
},
"day": {
"type": "string",
"enum": [
"today",
"tomorrow"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}社群
證據