roadsafety-mcp
An MCP service that lets AI assistants query Taiwan traffic accident data and accident hotspots (such as CBI). Public, read-only, no login required.
Unofficial: this service has no affiliation with the Ministry of Transportation and Communications (交通部) or the National Police Agency, Ministry of the Interior (警政署). It only reads public data on your behalf.
Ask your AI to install it with one sentence
Paste this sentence to the AI assistant you use (Claude, ChatGPT, Cursor and others). It finds the install method for your tool and asks you before running anything.
Please help me install the roadsafety MCP server at https://roadsafety.taux.io/mcp (Streamable HTTP, no login or token needed). Pick the right way to add it for the tool I am using; setup instructions are at https://roadsafety.taux.io/llms.txt. Tell me the command you plan to run first, and run it only after I agree.
Example questions
- Which intersections ranked highest among Pingtung County's accident hotspots last year?
- Has the number of accidents at this intersection gone up or down over the past few years?
- Where do accidents most often occur around this elementary school?
- How do this year's casualties up to the latest month compare with the same period last year?
- Which townships in Pingtung County have the most drunk-driving accidents?
- Where did the accidents at this intersection happen, and what mainly caused them?
- What caused the accidents around this Pingtung County intersection, and which vehicles were involved?
- How far along are the sidewalk and school-zone improvements in each county and city?
- Has drunk-driving data improved across Taiwan?
Looks up nationwide drunk-driving casualties compared with the same period last year. Drunk-driving citations per county can also be listed. Those are administrative citations, not accident counts, so the two cannot be compared with each other. - What are the nationwide drugged-driving figures?
Looks up nationwide drugged-driving (driving under the influence of drugs) accidents. They have been counted since ROC year 115 (2026); the start year was supplied by the project maintainer and not checked against an official notice. Earlier periods are marked as not counted, which does not mean none occurred. Drugged-driving citations per county are also available, and they are citations, not accident counts. - Top 3 most dangerous intersections in each of the six special municipalities
Looks up the most dangerous intersections in 臺北市, 新北市, 桃園市, 臺中市, 臺南市 and 高雄市 and takes the top 3 of each. CBI is ranked within each county or city, not across the six, so values cannot be compared across them directly. City names must be written with "臺", not "台".
Connect
claude mcp add --transport http roadsafety https://roadsafety.taux.io/mcp
The URL is https://roadsafety.taux.io/mcp. Streamable HTTP, stateless, JSON-RPC batching is not supported.
Install in other AI tools
The URL is always https://roadsafety.taux.io/mcp; no token or headers are needed. Expand the tool you use:
Claude Code
Run this in a terminal:
claude mcp add --transport http roadsafety https://roadsafety.taux.io/mcp
Claude web and desktop (custom connector)
- Open Customize > Connectors.
- Click + Add, then choose Add custom connector.
- Enter any name, paste the URL below as the remote MCP server URL, and click Continue.
- For authentication choose No sign in (this service needs no login), then click Add.
https://roadsafety.taux.io/mcp
Cursor
Add the following to ~/.cursor/mcp.json (global) or the project's .cursor/mcp.json:
{
"mcpServers": {
"roadsafety": {
"url": "https://roadsafety.taux.io/mcp"
}
}
}
VS Code (GitHub Copilot)
Add the following to mcp.json (the top level in VS Code's format is servers). You can also run MCP: Add Server from the Command Palette and follow the prompts:
{
"servers": {
"roadsafety": {
"type": "http",
"url": "https://roadsafety.taux.io/mcp"
}
}
}
Codex CLI
Add the following to ~/.codex/config.toml:
[mcp_servers.roadsafety] url = "https://roadsafety.taux.io/mcp"
Gemini CLI
Run this in a terminal (by default it writes to the project's .gemini/settings.json):
gemini mcp add --transport http roadsafety https://roadsafety.taux.io/mcp
Clients that only support stdio (general method)
Add the following stdio entry to the client's MCP settings; mcp-remote bridges it to the remote URL:
{
"mcpServers": {
"roadsafety": {
"command": "npx",
"args": ["mcp-remote", "https://roadsafety.taux.io/mcp"]
}
}
}
Tools
ping: Check that the service is reachable.list_areas: List the correct spelling of counties, cities and their townships.get_cbi_hotspots: Rank accident hotspots for a county or city in a given year, sorted by CBI, case count, deaths or injuries.get_hotspot_detail: Distribution of causes and collision types for a ranked hotspot.get_location_history: Yearly accident cases, deaths and injuries for an intersection or road segment.get_location_accident_points: Accident locations for an intersection or road segment in a given year.get_location_overview: One call for a single hotspot: causes, collision types, yearly cases and accident locations.get_location_trend: Yearly cases for an intersection, with causes and collision types compared year by year.get_location_npa_cases: Summary of National Police Agency accident cases within 30 meters of 17 intersections in Pingtung County (bundled data).list_schools: List schools of each type and their locations in a county, city or township.get_school_hotspots: Accident statistics by category within a chosen radius around a school.get_school_rank: List the schools the upstream publishes as top-ranked for accidents nearby. This is not a complete ranking.get_school_accident_points: Accident locations within a chosen radius around a school.get_period_comparison: Same-period comparison of deaths, injuries, drunk-driving and drugged-driving accidents for a county or city.get_township_drunk_ranking: Drunk-driving accidents per township for one county or city (Pingtung County by default) for ROC year 114 (National Police Agency basis, bundled data, no cross-county comparison).get_county_drunk_enforcement: Drunk-driving and drugged-driving citation counts per county or city for ROC year 114 (bundled data).get_improvement_progress: Expected and completed improvement counts per county or city for six improvement programs such as pedestrian safety at intersections.get_crosswalk_setback_count: Current count of crosswalk setbacks per county or city (the site gives no unit).list_speed_enforcement_points: Speed enforcement locations for one county or city (or national freeways): address, coordinates, speed limit (National Police Agency dataset, bundled data, fixed and mobile not distinguished).
Data sources
Most tools read data live from the Road Safety site (道安總動員, roadsafety.tw) run by the Ministry of Transportation and Communications, Department of Railways, Highways, and Road Safety (交通部路政及道安司). Accident records originate from the National Police Agency, Ministry of the Interior (警政署) and cause-of-death data from the Ministry of Health and Welfare (衛福部). get_location_npa_cases, get_township_drunk_ranking, get_county_drunk_enforcement and list_speed_enforcement_points use bundled public data from the National Police Agency and do not contact the upstream site.
Update time and provisional figures
Figures for the latest year are cumulative provisional values covering only some months, not a full year. Tools that return statistics (hotspot rankings, yearly history, accident locations, school areas, period comparison, improvement progress) include dataPeriod in their output, which states the data update date and the cumulative range. Rely on it, and do not read a drop in the latest year as a trend. The other tools (lists, hotspot cause breakdowns, bundled offline data) do not have this field.
Known limitations
- The upstream has no public documentation and may change. Road segments (as opposed to intersections) have been verified online with only one real sample (聚英路 in Lienchiang County, 連江縣); other segments are unverified.
- In some years accident points repeat the same coordinate per intersection, so they are not exact per-case locations.
- To avoid adding load to the government site, upstream requests have a global rate limit. When it is exceeded the tool fails and says the rate limit was exceeded; try again later.
- When a wrong hotspot or location ID is passed, the upstream returns no error, only an empty result. An empty result does not mean there were no accidents.