City Atlas 城市圖譜
by cityatlas.tw · remote · no sign-in to list tools · v0.3.1 · published by tw.cityatlas
Greater Hsinchu, Taiwan open data on a 125 m grid: crashes, buses, schools, flood. Read-only.
10 tools: 4 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http cityatlas https://mcp.cityatlas.tw/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
10 tools
Changes things 4Claude Code: ask
filter_cells找出同時符合最多四個條件的 125 公尺格,回符合幾格、住了多少人,並照里 / 鄉鎮加總。例:離公車站超過 500 公尺、又住超過 100 人。Find grid cells that meet up to four conditions.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 找出同時符合最多四個條件的 125 公尺格,回符合幾格、住了多少人,並照里 / 鄉鎮加總。例:離公車站超過 500 公尺、又住超過 100 人。Find grid cells that meet up to four conditions.
Annotations the server declares
- title: 篩條件
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
need_ranking哪裡最多人被公車耽誤(被耽誤的人·分鐘、工作地、學校、公設的百分位加權);權重可帶,不帶用預設 60/20/10/10。Where the most people lose time on public transport compared with driving.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 哪裡最多人被公車耽誤(被耽誤的人·分鐘、工作地、學校、公設的百分位加權);權重可帶,不帶用預設 60/20/10/10。Where the most people lose time on public transport compared with driving.
Annotations the server declares
- title: 需要度
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
overlay_metrics兩條資料疊起來看:A(可換算)與 B 各切三等分成九宮格,回各格有幾個里 / 鄉鎮,並列出「兩樣都高」的。例:事故(每千居民)高、人行道少的里。Which places are high on two indicators at once.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 兩條資料疊起來看:A(可換算)與 B 各切三等分成九宮格,回各格有幾個里 / 鄉鎮,並列出「兩樣都高」的。例:事故(每千居民)高、人行道少的里。Which places are high on two indicators at once.
Annotations the server declares
- title: 兩樣疊
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
rank某條資料在里或鄉鎮排前幾名(跟網站 07 同一套算法:先加總再除、人少的地方往平均拉)。可換算每千居民 / 每公里道路 / 路 + 人 + 店(只有事故)/ 任何能當分母的代號;可只看某個鄉鎮、可加篩條件。只回前 N 名。里層資料(長者占比、里所得、選舉投票率…)一個里一個數,不能換算、單位只能是里(人數可加到鄉鎮)。沒編里的範圍不進排名。Rank neig…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 某條資料在里或鄉鎮排前幾名(跟網站 07 同一套算法:先加總再除、人少的地方往平均拉)。可換算每千居民 / 每公里道路 / 路 + 人 + 店(只有事故)/ 任何能當分母的代號;可只看某個鄉鎮、可加篩條件。只回前 N 名。里層資料(長者占比、里所得、選舉投票率…)一個里一個數,不能換算、單位只能是里(人數可加到鄉鎮)。沒編里的範圍不進排名。Rank neighbourhoods or districts by an indicator, optionally normalised.
Annotations the server declares
- title: 排名
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 6Claude Code: allow
compare_change兩個年份比,哪些里增加最多、減少最多(跟網站 07「看變化」同一套):里人口(97–114 年底,戶籍;97–106 只有新竹縣市、竹南、頭份,新設里設立前是估計、不拿來比)、事故場數(111–114)、里所得中位數(111→112)、投票率(總統 / 立委不分區政黨票 / 立委區域 / 縣市長,年份照選舉目錄)。門檻自己填(增加幾人 / 件 / 萬元 / …No findings
Why it is in this group
- The name "compare_change" says "compare": a word for reading.
Description, as the server wrote it 兩個年份比,哪些里增加最多、減少最多(跟網站 07「看變化」同一套):里人口(97–114 年底,戶籍;97–106 只有新竹縣市、竹南、頭份,新設里設立前是估計、不拿來比)、事故場數(111–114)、里所得中位數(111→112)、投票率(總統 / 立委不分區政黨票 / 立委區域 / 縣市長,年份照選舉目錄)。門檻自己填(增加幾人 / 件 / 萬元 / 個百分點以上才算增加很多);里界調整過、兩屆不是同一塊地的里不比、列出原因。只描述差多少,不做因果。Which neighbourhoods grew or shrank most between two years (population, crashes, income, turnout).
Annotations the server declares
- title: 看變化
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
compare_groups有 B 的格 vs 沒有 B 的格,A 差多少 —— 在居民 × 道路長度切成的 25 層裡各比一次(避免被市中心拉著走)。只描述,不做因果。Compare cells with vs without B, within strata of residents and road length.No findings
Why it is in this group
- The name "compare_groups" says "compare": a word for reading.
Description, as the server wrote it 有 B 的格 vs 沒有 B 的格,A 差多少 —— 在居民 × 道路長度切成的 25 層裡各比一次(避免被市中心拉著走)。只描述,不做因果。Compare cells with vs without B, within strata of residents and road length.
Annotations the server declares
- title: 分組比
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
describe_metric一條資料的完整出處(機關、資料集、網址、取得日、檔案、對帳)、涵蓋哪些鄉鎮、統計、以及「可能在講別的事」的但書。Full provenance and caveats of one indicator.No findings
Why it is in this group
- The name "describe_metric" says "describe": a word for reading.
Description, as the server wrote it 一條資料的完整出處(機關、資料集、網址、取得日、檔案、對帳)、涵蓋哪些鄉鎮、統計、以及「可能在講別的事」的但書。Full provenance and caveats of one indicator.
Annotations the server declares
- title: 看資料說明
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
lookup_place給地址(例:竹北市光明六路 10 號)、里名(例:竹北市東平里)或鄉鎮名 → 那裡各項數字,以及在大新竹排第幾;查里名時另附里人口、所得、65 歲以上與 14 歲以下。地址只定位到 125 公尺的格(用我們自己的門牌檔比對,不送外部服務、不記錄)。Numbers for an address, neighbourhood or district.No findings
Why it is in this group
- The name "lookup_place" says "lookup": a word for reading.
Description, as the server wrote it 給地址(例:竹北市光明六路 10 號)、里名(例:竹北市東平里)或鄉鎮名 → 那裡各項數字,以及在大新竹排第幾;查里名時另附里人口、所得、65 歲以上與 14 歲以下。地址只定位到 125 公尺的格(用我們自己的門牌檔比對,不送外部服務、不記錄)。Numbers for an address, neighbourhood or district.
Annotations the server declares
- title: 查某個地方
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_catalog用關鍵字找城市圖譜的資料:11 大類 82 項資料,細到 161 條指標(141 條格網:事故、公車、人行道、淹水、樹…;20 條里 / 鄉鎮 / 縣市:里人口、長者與兒童、里所得…),加上 47 屆選舉與公投(投票率、得票率);公開版少 Google 街景判讀的 2 項 4 條,實際查得到 80 項、157 條:回代號、名稱、單位、年份、出處機關、是不是推…No findings
Why it is in this group
- The name "search_catalog" says "search": a word for reading.
Description, as the server wrote it 用關鍵字找城市圖譜的資料:11 大類 82 項資料,細到 161 條指標(141 條格網:事故、公車、人行道、淹水、樹…;20 條里 / 鄉鎮 / 縣市:里人口、長者與兒童、里所得…),加上 47 屆選舉與公投(投票率、得票率);公開版少 Google 街景判讀的 2 項 4 條,實際查得到 80 項、157 條:回代號、名稱、單位、年份、出處機關、是不是推估、涵蓋幾區。Search the indicator catalog by keyword (82 datasets in 11 categories, 161 indicators: 141 grid + 20 neighbourhood/district/county, plus 47 elections; this public server omits 4 Street-View-derived indicators, so 157 are searchable).
Annotations the server declares
- title: 查資料目錄
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
show_map把一條資料(或「需要度」)畫成里 / 鄉鎮的五級地圖,在對話裡直接顯示,可拖曳縮放、滑過看數字;換算同「排名」。畫不出來的 AI 會拿到一個能點開的網址(請轉給使用者)。Draw an indicator as an interactive choropleth map of neighbourhoods; chats that cannot render …No findings
Why it is in this group
- The name "show_map" says "show": a word for reading.
Description, as the server wrote it 把一條資料(或「需要度」)畫成里 / 鄉鎮的五級地圖,在對話裡直接顯示,可拖曳縮放、滑過看數字;換算同「排名」。畫不出來的 AI 會拿到一個能點開的網址(請轉給使用者)。Draw an indicator as an interactive choropleth map of neighbourhoods; chats that cannot render it get a link that opens the map in a browser (pass it on to the user).
Annotations the server declares
- title: 畫地圖
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.3.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http cityatlas https://mcp.cityatlas.tw/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__cityatlas__search_catalog",
"mcp__cityatlas__describe_metric",
"mcp__cityatlas__lookup_place",
"mcp__cityatlas__compare_groups",
"mcp__cityatlas__compare_change",
"mcp__cityatlas__show_map"
],
"ask": [
"mcp__cityatlas__rank",
"mcp__cityatlas__need_ranking",
"mcp__cityatlas__overlay_metrics",
"mcp__cityatlas__filter_cells"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as cityatlas. Review it before you use it.