Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Singapore government data for AI agents: ACRA, HDB, COE, URA, SingStat, MAS, IRAS. 87 tools.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"sgdata": {
"command": "npx",
"args": [
"-y",
"@altronis/sgdata-mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add sgdata -- npx -y @altronis/sgdata-mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"sgdata": {
"command": "npx",
"args": [
"-y",
"@altronis/sgdata-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"sgdata": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@altronis/sgdata-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub sypherin ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.5.2) เข้า registry 4 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Fomu MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Kenya government form guides: checklists, draft letters, eCitizen, Huduma, timelines. Sample data.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A Singapore government data MCP server. 87 tools — 24 curated datasets + 7 SingStat tables + 6 live real-time feeds, CLI mode, data visualization, cross-dataset queries, natural language queries.
Covering ACRA + HDB + URA + COE + CPI + GDP + employment + IRAS + MAS FX + MOE + ECDA + tourism + retail + population + crime + health + energy + hawkers + air quality + weather + carparks + live dengue.
No API keys. Runs anywhere MCP runs. Full write-up: https://altronis.sg/blog/sgdata-mcp
@altronis/sgdata-mcp is an MCP server that lets Claude, Cursor, Continue, or any other MCP-compatible client query Singapore government open data directly from data.gov.sg — corporate registry, real estate, labour, prices, public services, capital flows, crime, health, demographics, energy, and more.
It runs as a local stdio process on your machine. No hosted backend, no API keys. Small curated datasets cache locally at ~/.sgdata-mcp/sgdata.sqlite; large datasets (ACRA, HDB resale) and real-time feeds query data.gov.sg server-side so they never download a whole dataset onto your disk.
v0.5.5: two helper tools for small-context clients. sg_tool_catalog lists the tools (filter by keyword to get their input schemas) and sg_dispatch calls any of them by name, so a client can expose just these two instead of all 87 schemas. Dispatched calls are checked against the target tool's schema, the same as a direct call.
v0.5.0: 13 new tools + a smaller footprint. Real-time feeds — sg_psi (air quality), sg_weather_forecast, sg_air_temperature, sg_rainfall, sg_carpark_availability, and sg_dengue_clusters (live NEA clusters — current dengue, vs the frozen weekly-bulletin feed). SingStat tables — sg_household_income, sg_wages, sg_deaths, sg_marriages, sg_divorces, sg_trade, sg_labour_force. `sg_search_datasets` now actually searches (data.gov.sg's q param is a no-op upstream, so it filters a cached catalog locally). ACRA + HDB-resale tools query server-side (datastore_search) instead of ingesting the full 56 MB / 23 MB datasets — no more multi-GB local cache. FX tools fixed (upstream metadata endpoint 404s; they now read live data via datastore_search).
⚠️ `sg_acra_formations_by_ssic` is a heavy tool. ACRA's SSIC+year filter
can't be pushed server-side, so it crawls 27 shards with rate-limit backoff —
expect ~1–3 minutes, and for older years the count is a lower bound
(
bounded: true). For fast formation counts by SSIC use the SingStat
sg_formations_history/sg_formations_compare/sg_formations_monthly
tools instead.
v0.4.1: sg_dataset_query no longer hangs on very large datasets (size-gated server-side paging via datastore_search + a 60s ingest guard); sg_fx_rate / sg_fx_history now accept ISO currency codes (USD, GBP, JPY, EUR, …); sg_tourism_latest now emits data_freshness (its upstream stops at 2014); and the _history tools return an available label list on a no-match so callers can self-correct.
v0.4.0 highlights: data_freshness metadata block emitted on every _latest tool — last_period, last_record_date, age_days, and a categorical level of fresh / ok / stale / frozen so agents can detect when an upstream data.gov.sg feed has gone silent. Fixes silent stale-data on sg_disease_latest (MOH stopped publishing the Weekly Infectious Disease Bulletin via data.gov.sg around epi week 2022-W52).
v0.3.2: Monthly business formations + cessations + net growth tools via SingStat Table Builder. Track month-by-month company creation vs closure for any SSIC industry. 74 tools total.
v0.3.1: Annual formation counts by industry via SingStat Table Builder.
v0.3.0: 8 new datasets, CLI mode, ASCII sparkline visualization, cross-dataset correlation queries, natural language query routing.
@altronis/sgdata-mcp is only as fresh as data.gov.sg. Some datasets are updated weekly (COE bidding, CPI), some monthly (unemployment, CPI sub-items), some quarterly (URA private property), and some have effectively stopped updating. Starting in v0.4.0 every _latest tool returns a data_freshness block so you can detect drift programmatically:
{
"datasetId": "d_ca168b2cb763640d72c4600a68f9909e", "epi_week": "2022-W52", "cases": [...], "data_freshness": { "last_period": "2022-W52", "last_record_date": "2023-01-01", "age_days": 1234, "level": "frozen", "warning": "Upstream dataset appears frozen — latest record is 2022-W52..." } }
Known frozen datasets (as of v0.4.1):
| Tool | Upstream dataset | Last update | Recommended action |
|---|---|---|---|
sg_disease_latest, sg_disease_trend, sg_disease_list | MOH Weekly Infectious Disease Bulletin | 2022-W52 | Cross-check moh.gov.sg weekly bulletin PDFs. PRs welcome to swap in a live source. |
sg_tourism_latest, sg_tourism_history | STB Annual Tourism Receipts | 2014 | Cross-check stb.gov.sg / SingStat for newer receipts. PRs welcome. |
If you find another upstream feed has gone silent, please open an issue — we'll add it to this table and surface the warning in the tool description.
Drop this server into Claude Desktop and you immediately unlock questions like:
Your model picks the right tool, fills in the filters, and returns structured rows. You never write a URL.
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "sg-data": { "command": "npx", "args": ["-y", "@altronis/sgdata-mcp"] } } }
Restart Claude Desktop. The 74 sg_* tools appear in the MCP tools menu.
Add to ~/.cursor/mcp.json:
{
"mcpServers": { "sg-data": { "command": "npx", "args": ["-y", "@altronis/sgdata-mcp"] } } }
claude mcp add sg-data -- npx -y @altronis/sgdata-mcp
Query Singapore data directly from the terminal — no MCP client needed:
# Natural language query
npx @altronis/sgdata-mcp query "What is Singapore's unemployment rate?" npx @altronis/sgdata-mcp query "How many dengue cases this week?" npx @altronis/sgdata-mcp query "Latest COE prices"
npx @altronis/sgdata-mcp tool sg_crime_compare '{"year":"2024"}' npx @altronis/sgdata-mcp tool sg_hawker_search '{"query":"bedok"}'
npx @altronis/sgdata-mcp list npx @altronis/sgdata-mcp datasets
# Run the MCP server directly
npx -y @altronis/sgdata-mcp
printf '%s\n' \ '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0"}}}' \ '{"jsonrpc":"2.0","method":"notifications/initialized"}' \ '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \ | npx -y @altronis/sgdata-mcp
| # | Dataset | Agency | Tools |
|---|---|---|---|
| 1 | ACRA Corporate Entities (~2M+) | ACRA | 3 |
| 2 | HDB Resale Flat Prices (2017+) | HDB | 2 |
| 3 | COE Bidding Results | LTA | 3 |
| 4 | MOE Schools | MOE | 3 |
| 5 | HDB Carpark Information | HDB | 3 |
| 6 | GDP YoY Growth (quarterly) | SingStat | 3 |
| 7 | Consumer Price Index (monthly) | SingStat | 3 |
| 8 | MOM Median Gross Monthly Income | MOM | 2 |
| 9 | Employment by Sector (annual) | SingStat | 3 |
| 10 | URA Private Residential Transactions | URA | 3 |
| 11 | International Visitor Arrivals | STB | 3 |
| 12 | Retail Sales Index (monthly) | SingStat | 3 |
| 13 | MAS Exchange Rates (monthly avg) | MAS | 3 |
| 14 | IRAS Tax Collection (annual) | IRAS | 3 |
| 15 | ECDA Childcare & Kindergarten Centres | ECDA | 3 |
| 16 | Unemployment Rate (quarterly) | MOM | 2 |
| 17 | Population Indicators (annual) | SingStat | 2 |
| 18 | Infectious Disease Cases (weekly) | MOH | 3 |
| 19 | Electricity Generation (monthly) | EMA | 2 |
| 20 | Live-Births by Sex/Ethnicity (monthly) | SingStat | 2 |
| 21 | Crime Cases Recorded (annual) | SPF | 3 |
| 22 | Tourism Receipts (annual) | STB | 2 |
| 23 | Government Hawker Centres | NEA | 2 |
| 24 | Business Entity Formations & Cessations | ACRA/DOS | 6 |
Plus 3 generic fallback tools, 1 visualization tool, 2 cross-dataset tools, and 1 natural language query tool: 74 tools. The 6 real-time feeds and 7 SingStat tables from v0.5.0 bring it to 87 data tools, plus the 2 helpers from v0.5.5.
sg_visualizeGenerate ASCII sparkline charts and summary statistics from any time series. Returns sparklines, min/max/mean/latest, period-over-period change, and chart-ready JSON for frontend rendering.
SG Unemployment Rate (SA): ▁█████▄▄████
Latest: 2 % | Change: +0 (+0%) | Range: 1.8–2 | Mean: 1.97
sg_cross_datasetCompare any two datasets side-by-side over time. Automatically aligns different time granularities (monthly, quarterly, annual):
{
"dataset_a": "cpi_monthly", "dataset_b": "retail_sales", "limit": 5 }
Returns aligned rows with both values for correlation analysis.
sg_askAsk questions in plain English — the tool routes to the right dataset automatically:
"What is Singapore's unemployment rate?" → sg_unemployment_latest
"How many dengue cases?" → sg_disease_latest "COE prices" → sg_coe_latest "Crime statistics" → sg_crime_latest
Query data directly from your terminal:
sgdata-cli query "Singapore population growth"
sgdata-cli tool sg_crime_compare '{"year":"2024"}' sgdata-cli datasets
The tables below list 74 of them; the 13 added in v0.5.0 are listed at the top.
| Tool | Description |
|---|---|
sg_tool_catalog | List the tools with descriptions; filter by keyword to get their input schemas |
sg_dispatch | Call any tool by name with a JSON args object, checked against that tool's schema |
sg_ask | Natural language query — ask any question about Singapore data in plain English |
sg_visualize | ASCII sparkline + summary stats + chart-ready JSON from any numeric series |
sg_cross_dataset | Compare two datasets over time with automatic period alignment |
| sg_list_datasets | List all 24 curat
ตัดมาแค่ช่วงต้น อ่านต่อใน repo