{"_id":"@altronis/sgdata-mcp","_rev":"12-f3a134268c8f59a7f70a94a7b69a4be4","name":"@altronis/sgdata-mcp","dist-tags":{"latest":"0.5.4"},"versions":{"0.1.0":{"name":"@altronis/sgdata-mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","singapore","data.gov.sg","acra","hdb","ura","singstat","open-data","altronis"],"author":{"url":"https://altronis.sg","name":"Altronis","email":"hello@altronis.sg"},"license":"MIT","_id":"@altronis/sgdata-mcp@0.1.0","maintainers":[{"name":"altronis","email":"sypherin@gmail.com"}],"homepage":"https://altronis.sg","bugs":{"url":"https://github.com/sypherin/sgdata-mcp/issues"},"bin":{"sgdata-mcp":"dist/mcp-server.js"},"dist":{"shasum":"f05c17643872292d452a0c212a9e8e580e09dfda","tarball":"https://registry.npmjs.org/@altronis/sgdata-mcp/-/sgdata-mcp-0.1.0.tgz","fileCount":107,"integrity":"sha512-Ukk2GMNpGD00l8eBUI98F+DNSJUE0LijPEe1gydZVqKMChbP/+b2I+iDy6zIgUr5LuASRT1zgBhkLh+SG3W6Eg==","signatures":[{"sig":"MEUCIQD80GuL84+OLDbJm+9gQ/J/h1+Cn8+xGK83qi7IXLY1HAIgQErb2bHL/fCRH2QqG4nEKOTlfzLgwBmkArdlr3x8Vg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":335379},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"}},"gitHead":"7252ecd299bec266e6e8cedf6cae8f01ae252d0a","scripts":{"dev":"tsx src/mcp-server.ts","build":"tsc","test:smoke":"tsx test/smoke.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"altronis","email":"sypherin@gmail.com"},"repository":{"url":"git+https://github.com/sypherin/sgdata-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Comprehensive Singapore government data MCP server — ACRA, HDB, URA, Singstat, MOM, IRAS, and more. Built by Altronis.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.23.8","csv-parse":"^5.5.6","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.3","@types/node":"^22.9.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/sgdata-mcp_0.1.0_1775666532714_0.32182047237916955","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@altronis/sgdata-mcp","version":"0.2.0","keywords":["mcp","model-context-protocol","singapore","data.gov.sg","acra","hdb","ura","singstat","open-data","altronis"],"author":{"url":"https://altronis.sg","name":"Altronis","email":"hello@altronis.sg"},"license":"MIT","_id":"@altronis/sgdata-mcp@0.2.0","maintainers":[{"name":"altronis","email":"sypherin@gmail.com"}],"homepage":"https://altronis.sg","bugs":{"url":"https://github.com/sypherin/sgdata-mcp/issues"},"bin":{"sgdata-mcp":"dist/mcp-server.js"},"dist":{"shasum":"7263e88dcab49f21173f208b98c781c5a5a9c78d","tarball":"https://registry.npmjs.org/@altronis/sgdata-mcp/-/sgdata-mcp-0.2.0.tgz","fileCount":107,"integrity":"sha512-LJvvbD/jlz3JtvE2UVWf/UaYnDygVtWMsbp1d2zPxdoiYtCkB4PGjSDMDI6xJfnoW5hcUlRAcaziudaIhEXIJw==","signatures":[{"sig":"MEQCIGf0mAKb9MortrUvY9ZKfCauV3u5gjxSb/WfWJ6udGHDAiA1q56XM8sY55svYtzSZGdvw1A/2U361dqkIoBLmLQujw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336638},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js"},"./datasets":{"types":"./dist/datasets/index.d.ts","import":"./dist/datasets/index.js"}},"gitHead":"98d9e3f57bd2f273c548379ae566a9692b68b5ea","scripts":{"dev":"tsx src/mcp-server.ts","build":"tsc","test:smoke":"tsx test/smoke.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"altronis","email":"sypherin@gmail.com"},"repository":{"url":"git+https://github.com/sypherin/sgdata-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Comprehensive Singapore government data MCP server — ACRA, HDB, URA, Singstat, MOM, IRAS, and more. Built by Altronis.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.23.8","csv-parse":"^5.5.6","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.3","@types/node":"^22.9.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/sgdata-mcp_0.2.0_1775669030687_0.43251239397039787","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@altronis/sgdata-mcp","version":"0.3.0","keywords":["mcp","model-context-protocol","singapore","data.gov.sg","acra","hdb","ura","singstat","open-data","altronis","visualization","sparkline","cli"],"author":{"url":"https://altronis.sg","name":"Altronis","email":"hello@altronis.sg"},"license":"MIT","_id":"@altronis/sgdata-mcp@0.3.0","maintainers":[{"name":"altronis","email":"sypherin@gmail.com"}],"homepage":"https://altronis.sg","bugs":{"url":"https://github.com/sypherin/sgdata-mcp/issues"},"bin":{"sgdata-cli":"dist/cli.js","sgdata-mcp":"dist/mcp-server.js"},"dist":{"shasum":"9556a38c5e81e886dc77359cd02722f9b6e25eb8","tarball":"https://registry.npmjs.org/@altronis/sgdata-mcp/-/sgdata-mcp-0.3.0.tgz","fileCount":155,"integrity":"sha512-IVGWEKFm+15MgMtpzmPohtq7oMtt5HlVpHEWu34dTkeL8oNisJ3kUc01NFOPD8JDwt66phRjef00Cnhwpr/Ovw==","signatures":[{"sig":"MEUCIQCh+oA7Qh84aqNCCmISWwrliXLSsXpPw3ah7qYouNlMmAIgVRbbx5W5UfhQJrht9DWBRyom2YVjwsLSlIwAGiSHpPE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":465346},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js"},"./datasets":{"types":"./dist/datasets/index.d.ts","import":"./dist/datasets/index.js"}},"gitHead":"a65b5c98c3c51e0a4c2cc31fbc4bde1a8495f289","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/mcp-server.ts","build":"tsc","test:smoke":"tsx test/smoke.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"altronis","email":"sypherin@gmail.com"},"repository":{"url":"git+https://github.com/sypherin/sgdata-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Comprehensive Singapore government data MCP server — ACRA, HDB, URA, Singstat, MOM, IRAS, and more. Built by Altronis.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.23.8","csv-parse":"^5.5.6","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.3","@types/node":"^22.9.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/sgdata-mcp_0.3.0_1775825073454_0.6712370835644614","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@altronis/sgdata-mcp","version":"0.3.1","keywords":["mcp","model-context-protocol","singapore","data.gov.sg","acra","hdb","ura","singstat","open-data","altronis","visualization","sparkline","cli"],"author":{"url":"https://altronis.sg","name":"Altronis","email":"hello@altronis.sg"},"license":"MIT","_id":"@altronis/sgdata-mcp@0.3.1","maintainers":[{"name":"altronis","email":"sypherin@gmail.com"}],"homepage":"https://altronis.sg","bugs":{"url":"https://github.com/sypherin/sgdata-mcp/issues"},"bin":{"sgdata-cli":"dist/cli.js","sgdata-mcp":"dist/mcp-server.js"},"dist":{"shasum":"3464df9f94f593f1f9643c65d5300ee155e0e4f1","tarball":"https://registry.npmjs.org/@altronis/sgdata-mcp/-/sgdata-mcp-0.3.1.tgz","fileCount":159,"integrity":"sha512-rv8tWCTmuk5qJHgUh5VXA2gL49g51PDbx2wOdb+cjV/MRp1iUd9ZzbQdwg2KN6hO4S4K62p5ErqtLzKxZIpYEQ==","signatures":[{"sig":"MEYCIQD5gqKOs8X10EpDAEcwBkrCx196SyXC7ouJCFN2QJ86qAIhAIvZriv7guw2rCBmHGebG/5oRhEaCKn4vgF69u/qxwgL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":488709},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js"},"./datasets":{"types":"./dist/datasets/index.d.ts","import":"./dist/datasets/index.js"}},"gitHead":"d33db44d074b340b56645d254cb5cf13ed63e257","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/mcp-server.ts","build":"tsc","test:smoke":"tsx test/smoke.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"altronis","email":"sypherin@gmail.com"},"repository":{"url":"git+https://github.com/sypherin/sgdata-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Comprehensive Singapore government data MCP server — ACRA, HDB, URA, Singstat, MOM, IRAS, and more. Built by Altronis.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.23.8","csv-parse":"^5.5.6","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.3","@types/node":"^22.9.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/sgdata-mcp_0.3.1_1775833774126_0.5679639518937651","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@altronis/sgdata-mcp","version":"0.3.2","keywords":["mcp","model-context-protocol","singapore","data.gov.sg","acra","hdb","ura","singstat","open-data","altronis","visualization","sparkline","cli"],"author":{"url":"https://altronis.sg","name":"Altronis","email":"hello@altronis.sg"},"license":"MIT","_id":"@altronis/sgdata-mcp@0.3.2","maintainers":[{"name":"altronis","email":"sypherin@gmail.com"}],"homepage":"https://altronis.sg","bugs":{"url":"https://github.com/sypherin/sgdata-mcp/issues"},"bin":{"sgdata-cli":"dist/cli.js","sgdata-mcp":"dist/mcp-server.js"},"dist":{"shasum":"971cc6157ff38301a8a1725523e36a6da62dc717","tarball":"https://registry.npmjs.org/@altronis/sgdata-mcp/-/sgdata-mcp-0.3.2.tgz","fileCount":159,"integrity":"sha512-ylPi0I9A5QS5Q2E8QcdfwoQ+qbBkaNAe7zfEO9OBes1Gdp5eAyz2QPL95r7ip/vqRR0dTNVNXXgTL4fCBPaHzQ==","signatures":[{"sig":"MEQCIB51IV6Xmxi/OLcQpAMviQ0WXlXyVSghM87WAi0kAQkpAiAGNk0CbT1wmbTet46DA3qNi/InzYD5aHmzoqsxUGk8Kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":508941},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js"},"./datasets":{"types":"./dist/datasets/index.d.ts","import":"./dist/datasets/index.js"}},"gitHead":"3b07b6fac3f66dd01be878b145ecc0a88265aa52","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/mcp-server.ts","build":"tsc","test:smoke":"tsx test/smoke.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"altronis","email":"sypherin@gmail.com"},"repository":{"url":"git+https://github.com/sypherin/sgdata-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Comprehensive Singapore government data MCP server — ACRA, HDB, URA, Singstat, MOM, IRAS, and more. Built by Altronis.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.23.8","csv-parse":"^5.5.6","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.3","@types/node":"^22.9.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/sgdata-mcp_0.3.2_1775834997830_0.6212494197767577","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@altronis/sgdata-mcp","version":"0.4.0","keywords":["mcp","model-context-protocol","singapore","data.gov.sg","acra","hdb","ura","singstat","open-data","altronis","visualization","sparkline","cli"],"author":{"url":"https://altronis.sg","name":"Altronis","email":"hello@altronis.sg"},"license":"MIT","_id":"@altronis/sgdata-mcp@0.4.0","maintainers":[{"name":"altronis","email":"sypherin@gmail.com"}],"homepage":"https://altronis.sg","bugs":{"url":"https://github.com/sypherin/sgdata-mcp/issues"},"bin":{"sgdata-cli":"dist/cli.js","sgdata-mcp":"dist/mcp-server.js"},"dist":{"shasum":"9657714ba6a1a629480f481833df2f273865b79f","tarball":"https://registry.npmjs.org/@altronis/sgdata-mcp/-/sgdata-mcp-0.4.0.tgz","fileCount":164,"integrity":"sha512-WgyLTxChVS2BhdkwWT37pckQrCuuQ0VC+B3bbbdmczx7E9uvJspCRpSD/3oYlOV/DDpgEN7292sITc0Jl4AHIQ==","signatures":[{"sig":"MEQCIG9+TOOH7FwdvAzEY0nsf87KfjTzXsBY8HooM2/SPmO3AiBgptCFqh7lq5sn7DKilF/aGVPbqUn+Q0G5IL4AGSciqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":532059},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js"},"./datasets":{"types":"./dist/datasets/index.d.ts","import":"./dist/datasets/index.js"}},"gitHead":"3b07b6fac3f66dd01be878b145ecc0a88265aa52","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/mcp-server.ts","build":"tsc","test:smoke":"tsx test/smoke.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"altronis","email":"sypherin@gmail.com"},"repository":{"url":"git+https://github.com/sypherin/sgdata-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Comprehensive Singapore government data MCP server — ACRA, HDB, URA, Singstat, MOM, IRAS, and more. Built by Altronis.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.23.8","csv-parse":"^5.5.6","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.3","@types/node":"^22.9.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/sgdata-mcp_0.4.0_1779189661386_0.1450411898084576","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@altronis/sgdata-mcp","version":"0.4.1","keywords":["mcp","model-context-protocol","singapore","data.gov.sg","acra","hdb","ura","singstat","open-data","altronis","visualization","sparkline","cli"],"author":{"url":"https://altronis.sg","name":"Altronis","email":"hello@altronis.sg"},"license":"MIT","_id":"@altronis/sgdata-mcp@0.4.1","maintainers":[{"name":"altronis","email":"sypherin@gmail.com"}],"homepage":"https://altronis.sg","bugs":{"url":"https://github.com/sypherin/sgdata-mcp/issues"},"bin":{"sgdata-cli":"dist/cli.js","sgdata-mcp":"dist/mcp-server.js"},"dist":{"shasum":"db437d2bba7b34bc584c3aae2d6342d447cee625","tarball":"https://registry.npmjs.org/@altronis/sgdata-mcp/-/sgdata-mcp-0.4.1.tgz","fileCount":164,"integrity":"sha512-qoJ3Xfo2PqcFQcPZ1DpRwzUETrPvB9ItrtOkg2KoBDLnSrk0uzWavdwfSi0gHJqbJmTuM24JG8dH3/VfJj9G7w==","signatures":[{"sig":"MEQCICJrmG1v/dQLB2AXJzBuHF8Vm0immdNAmDR/hOl1LxbDAiAZkrcWJYsE6rPK71VdZwyVVaiM1sPTuRiczKz6ITns9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":543159},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js"},"./datasets":{"types":"./dist/datasets/index.d.ts","import":"./dist/datasets/index.js"}},"gitHead":"81f1bb13e81276d6c21cd9954c8ae4501ed1d791","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/mcp-server.ts","build":"tsc","test:smoke":"tsx test/smoke.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"altronis","email":"sypherin@gmail.com"},"repository":{"url":"git+https://github.com/sypherin/sgdata-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Comprehensive Singapore government data MCP server — ACRA, HDB, URA, Singstat, MOM, IRAS, and more. Built by Altronis.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.23.8","csv-parse":"^5.5.6","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.3","@types/node":"^22.9.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/sgdata-mcp_0.4.1_1780578187815_0.4303246343476579","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@altronis/sgdata-mcp","version":"0.5.0","keywords":["mcp","model-context-protocol","singapore","data.gov.sg","acra","hdb","ura","singstat","open-data","altronis","visualization","sparkline","cli"],"author":{"url":"https://altronis.sg","name":"Altronis","email":"hello@altronis.sg"},"license":"MIT","_id":"@altronis/sgdata-mcp@0.5.0","maintainers":[{"name":"altronis","email":"sypherin@gmail.com"}],"homepage":"https://altronis.sg","bugs":{"url":"https://github.com/sypherin/sgdata-mcp/issues"},"bin":{"sgdata-cli":"dist/cli.js","sgdata-mcp":"dist/mcp-server.js"},"dist":{"shasum":"ad6793080b113203fc48bb0cac208c4fdb84143c","tarball":"https://registry.npmjs.org/@altronis/sgdata-mcp/-/sgdata-mcp-0.5.0.tgz","fileCount":176,"integrity":"sha512-O9SV/6DFSy3Ur3LOFgwxp8zjOJm5gMaP2Uoz/3q2yIOveRLA5auz6vPAmsPaLSoRGwBY76kG2yVq7Dcbo9uUFQ==","signatures":[{"sig":"MEUCIQC93uPgK+neCD1SKlVGg2ftH7J941LJ+CVNIq3cqq3ukgIgG3VrCU8D6HLz9fhLbz7h4yosRN2g04dEI03b0ifcVMw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":656623},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js"},"./datasets":{"types":"./dist/datasets/index.d.ts","import":"./dist/datasets/index.js"}},"gitHead":"ceac8ab6721fae22b8cfd457f1360cfba9567295","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/mcp-server.ts","build":"tsc","test:smoke":"tsx test/smoke.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"altronis","email":"sypherin@gmail.com"},"repository":{"url":"git+https://github.com/sypherin/sgdata-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Comprehensive Singapore government data MCP server — ACRA, HDB, URA, Singstat, MOM, IRAS, and more. Built by Altronis.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.23.8","csv-parse":"^5.5.6","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.3","@types/node":"^22.9.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/sgdata-mcp_0.5.0_1780585175693_0.6497555587184467","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@altronis/sgdata-mcp","version":"0.5.1","keywords":["mcp","model-context-protocol","singapore","data.gov.sg","acra","hdb","ura","singstat","open-data","altronis","visualization","sparkline","cli"],"author":{"url":"https://altronis.sg","name":"Altronis","email":"hello@altronis.sg"},"license":"MIT","_id":"@altronis/sgdata-mcp@0.5.1","maintainers":[{"name":"altronis","email":"sypherin@gmail.com"}],"homepage":"https://altronis.sg","bugs":{"url":"https://github.com/sypherin/sgdata-mcp/issues"},"bin":{"sgdata-cli":"dist/cli.js","sgdata-mcp":"dist/mcp-server.js"},"dist":{"shasum":"17d1a942989f6553821a4ecca27f9d73e831f370","tarball":"https://registry.npmjs.org/@altronis/sgdata-mcp/-/sgdata-mcp-0.5.1.tgz","fileCount":176,"integrity":"sha512-HM30MchN/dWey+kfbZCSYTfp6C14rDLoFmd7AEl16iDATMX8IXkCacCeUxU3ogXol4D2XNrhKwmZllsGJgm9wQ==","signatures":[{"sig":"MEYCIQDuYdtkRmEqzsh1BgIDeB0L4MjnVkUgcWlfjT5LJ3Q9ugIhANM5H2p/8JrlSBshLwBkvKPoFh2SfHLJ31J8/BQcyo4J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":667289},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js"},"./datasets":{"types":"./dist/datasets/index.d.ts","import":"./dist/datasets/index.js"}},"gitHead":"ceac8ab6721fae22b8cfd457f1360cfba9567295","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/mcp-server.ts","build":"tsc","test:smoke":"tsx test/smoke.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"altronis","email":"sypherin@gmail.com"},"repository":{"url":"git+https://github.com/sypherin/sgdata-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Comprehensive Singapore government data MCP server — ACRA, HDB, URA, Singstat, MOM, IRAS, and more. Built by Altronis.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.23.8","csv-parse":"^5.5.6","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.3","@types/node":"^22.9.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/sgdata-mcp_0.5.1_1782749584230_0.7671363341433406","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@altronis/sgdata-mcp","version":"0.5.2","keywords":["mcp","model-context-protocol","singapore","data.gov.sg","acra","hdb","ura","singstat","open-data","altronis","visualization","sparkline","cli"],"author":{"url":"https://altronis.sg","name":"Altronis","email":"hello@altronis.sg"},"license":"MIT","_id":"@altronis/sgdata-mcp@0.5.2","maintainers":[{"name":"altronis","email":"sypherin@gmail.com"}],"homepage":"https://altronis.sg","bugs":{"url":"https://github.com/sypherin/sgdata-mcp/issues"},"bin":{"sgdata-cli":"dist/cli.js","sgdata-mcp":"dist/mcp-server.js"},"dist":{"shasum":"059b64c2431d57ab5319c1b0eb36ec8ac0803c3c","tarball":"https://registry.npmjs.org/@altronis/sgdata-mcp/-/sgdata-mcp-0.5.2.tgz","fileCount":180,"integrity":"sha512-PoPHRH4n096GPE1QnDqLx/KyS7LFtjKWPcx5UuKqVw1Nxqe3gkHVFlZs1OfDudesn2W3cP8Q10zvoCrAZ6+9EQ==","signatures":[{"sig":"MEQCICvemC10uKd9B17lMnJkUwMmg5TKFKAi4DgUCzskfPgaAiBb4cMVp3ZNYp3/Cq1ZKruhgUvImxPs4vFyw/KawF1MaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":668454},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js"},"./datasets":{"types":"./dist/datasets/index.d.ts","import":"./dist/datasets/index.js"}},"gitHead":"dc05f25b1389d31d04a485bce749ff250dc7c3b7","mcpName":"io.github.sypherin/sgdata-mcp","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/mcp-server.ts","build":"tsc","test:smoke":"tsx test/smoke.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"altronis","email":"sypherin@gmail.com"},"repository":{"url":"git+https://github.com/sypherin/sgdata-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Comprehensive Singapore government data MCP server — ACRA, HDB, URA, Singstat, MOM, IRAS, and more. Built by Altronis.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.23.8","csv-parse":"^5.5.6","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.3","@types/node":"^22.9.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/sgdata-mcp_0.5.2_1784404918926_0.7435272882362047","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@altronis/sgdata-mcp","version":"0.5.3","keywords":["mcp","model-context-protocol","singapore","data.gov.sg","acra","hdb","ura","singstat","open-data","altronis","visualization","sparkline","cli"],"author":{"url":"https://altronis.sg","name":"Altronis","email":"hello@altronis.sg"},"license":"MIT","_id":"@altronis/sgdata-mcp@0.5.3","maintainers":[{"name":"altronis","email":"sypherin@gmail.com"}],"homepage":"https://altronis.sg","bugs":{"url":"https://github.com/sypherin/sgdata-mcp/issues"},"bin":{"sgdata-cli":"dist/cli.js","sgdata-mcp":"dist/mcp-server.js"},"dist":{"shasum":"70efd9a2ceb50913b0c08f74ffc3bb74cc4e3255","tarball":"https://registry.npmjs.org/@altronis/sgdata-mcp/-/sgdata-mcp-0.5.3.tgz","fileCount":180,"integrity":"sha512-gqYQdcBIHAsy9NmiNSF60yWjcfckCRTM1CXwWNcyeLLZp4UZti5paQvQVtkff9bi4O+HiKNcHj/II2GsAAnQJQ==","signatures":[{"sig":"MEUCIQCGZkC6EYTUq6snRlZTJXBNjKKSJwL+FsHRcHKn1ETj5AIgVxDp7rBCNZLbeQoY4cf2Ut9kjrnkoCSflsDmqJo1cI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":674938},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js"},"./datasets":{"types":"./dist/datasets/index.d.ts","import":"./dist/datasets/index.js"}},"gitHead":"66c3cd7eec3f16efbb93d94bbb7c9c7408408d93","mcpName":"io.github.sypherin/sgdata-mcp","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/mcp-server.ts","build":"tsc","test:smoke":"tsx test/smoke.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"altronis","email":"sypherin@gmail.com"},"repository":{"url":"git+https://github.com/sypherin/sgdata-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Comprehensive Singapore government data MCP server — ACRA, HDB, URA, Singstat, MOM, IRAS, and more. Built by Altronis.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.23.8","csv-parse":"^5.5.6","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.3","@types/node":"^22.9.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/sgdata-mcp_0.5.3_1784425341942_0.5670854746696694","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@altronis/sgdata-mcp","version":"0.5.4","mcpName":"io.github.sypherin/sgdata-mcp","description":"Comprehensive Singapore government data MCP server — ACRA, HDB, URA, Singstat, MOM, IRAS, and more. Built by Altronis.","type":"module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"sgdata-mcp":"dist/mcp-server.js","sgdata-cli":"dist/cli.js"},"exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./core":{"import":"./dist/core/index.js","types":"./dist/core/index.d.ts"},"./tools":{"import":"./dist/tools/index.js","types":"./dist/tools/index.d.ts"},"./datasets":{"import":"./dist/datasets/index.js","types":"./dist/datasets/index.d.ts"}},"scripts":{"build":"tsc","dev":"tsx src/mcp-server.ts","cli":"tsx src/cli.ts","test:smoke":"tsx test/smoke.ts","prepublishOnly":"npm run build"},"keywords":["mcp","model-context-protocol","singapore","data.gov.sg","acra","hdb","ura","singstat","open-data","altronis","visualization","sparkline","cli"],"author":{"name":"Altronis","email":"hello@altronis.sg","url":"https://altronis.sg"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/sypherin/sgdata-mcp.git"},"homepage":"https://altronis.sg","engines":{"node":">=20"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","better-sqlite3":"^11.3.0","csv-parse":"^5.5.6","zod":"^3.23.8"},"devDependencies":{"@types/better-sqlite3":"^7.6.11","@types/node":"^22.9.0","tsx":"^4.19.0","typescript":"^5.6.3"},"_id":"@altronis/sgdata-mcp@0.5.4","gitHead":"489c4584bcaada9ed612f3779231d7bad34ca38f","bugs":{"url":"https://github.com/sypherin/sgdata-mcp/issues"},"_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-Rur9amGdRtITmXUjYOGdKN6z0cm5RHj8s40pYpnF7IuJqT7ykoM3sfsWu7NNXrB89HuMpvQEy1avixUKTVEgiA==","shasum":"408062cbd1e4f3ceee83edcf9b8e92727ade70e3","tarball":"https://registry.npmjs.org/@altronis/sgdata-mcp/-/sgdata-mcp-0.5.4.tgz","fileCount":180,"unpackedSize":683611,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFlBzj3k9SvSC/Y8EXiHrwPDJkNvbtkXvsuv+peB1tXEAiB1JG01Y8ogJcmQLOLcnHnBfyVNSqaUW7q+QiIFBOP3dg=="}]},"_npmUser":{"name":"altronis","email":"sypherin@gmail.com"},"directories":{},"maintainers":[{"name":"altronis","email":"sypherin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sgdata-mcp_0.5.4_1788240122862_0.9868872091322571"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-08T16:42:12.594Z","modified":"2026-09-01T05:22:03.242Z","0.1.0":"2026-04-08T16:42:12.866Z","0.2.0":"2026-04-08T17:23:50.843Z","0.3.0":"2026-04-10T12:44:33.627Z","0.3.1":"2026-04-10T15:09:34.280Z","0.3.2":"2026-04-10T15:29:57.972Z","0.4.0":"2026-05-19T11:21:01.554Z","0.4.1":"2026-06-04T13:03:07.997Z","0.5.0":"2026-06-04T14:59:35.846Z","0.5.1":"2026-06-29T16:13:04.436Z","0.5.2":"2026-07-18T20:01:59.182Z","0.5.3":"2026-07-19T01:42:22.110Z","0.5.4":"2026-09-01T05:22:03.056Z"},"bugs":{"url":"https://github.com/sypherin/sgdata-mcp/issues"},"author":{"name":"Altronis","email":"hello@altronis.sg","url":"https://altronis.sg"},"license":"MIT","homepage":"https://altronis.sg","keywords":["mcp","model-context-protocol","singapore","data.gov.sg","acra","hdb","ura","singstat","open-data","altronis","visualization","sparkline","cli"],"repository":{"type":"git","url":"git+https://github.com/sypherin/sgdata-mcp.git"},"description":"Comprehensive Singapore government data MCP server — ACRA, HDB, URA, Singstat, MOM, IRAS, and more. Built by Altronis.","maintainers":[{"name":"altronis","email":"sypherin@gmail.com"}],"readme":"# @altronis/sgdata-mcp\n\n> 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.**\n> 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.\n> No API keys. Runs anywhere MCP runs. Full write-up: https://altronis.sg/blog/sgdata-mcp\n\n[![npm version](https://img.shields.io/npm/v/@altronis/sgdata-mcp.svg)](https://www.npmjs.com/package/@altronis/sgdata-mcp)\n[![license: MIT](https://img.shields.io/badge/license-MIT-green.svg)](./LICENSE)\n[![node](https://img.shields.io/badge/node-%3E%3D20-brightgreen.svg)](https://nodejs.org)\n[![MCP](https://img.shields.io/badge/MCP-2024--11--05-blue.svg)](https://modelcontextprotocol.io)\n\n`@altronis/sgdata-mcp` is an [MCP](https://modelcontextprotocol.io) server that\nlets Claude, Cursor, Continue, or any other MCP-compatible client query\nSingapore government open data directly from data.gov.sg — corporate registry,\nreal estate, labour, prices, public services, capital flows, crime, health,\ndemographics, energy, and more.\n\nIt runs as a local stdio process on your machine. No hosted backend, no API\nkeys. Small curated datasets cache locally at `~/.sgdata-mcp/sgdata.sqlite`;\nlarge datasets (ACRA, HDB resale) and real-time feeds query data.gov.sg\nserver-side so they never download a whole dataset onto your disk.\n\n**v0.5.0:** 13 new tools + a smaller footprint. **Real-time feeds** — `sg_psi`\n(air quality), `sg_weather_forecast`, `sg_air_temperature`, `sg_rainfall`,\n`sg_carpark_availability`, and `sg_dengue_clusters` (live NEA clusters — current\ndengue, vs the frozen weekly-bulletin feed). **SingStat tables** —\n`sg_household_income`, `sg_wages`, `sg_deaths`, `sg_marriages`, `sg_divorces`,\n`sg_trade`, `sg_labour_force`. **`sg_search_datasets` now actually searches**\n(data.gov.sg's `q` param is a no-op upstream, so it filters a cached catalog\nlocally). **ACRA + HDB-resale tools query server-side** (`datastore_search`)\ninstead of ingesting the full 56 MB / 23 MB datasets — no more multi-GB local\ncache. FX tools fixed (upstream metadata endpoint 404s; they now read live data\nvia `datastore_search`).\n\n> ⚠️ **`sg_acra_formations_by_ssic` is a heavy tool.** ACRA's SSIC+year filter\n> can't be pushed server-side, so it crawls 27 shards with rate-limit backoff —\n> expect ~1–3 minutes, and for older years the count is a lower bound\n> (`bounded: true`). For fast formation **counts** by SSIC use the SingStat\n> `sg_formations_history` / `sg_formations_compare` / `sg_formations_monthly`\n> tools instead.\n\n**v0.4.1:** `sg_dataset_query` no longer hangs on very large datasets\n(size-gated server-side paging via `datastore_search` + a 60s ingest guard);\n`sg_fx_rate` / `sg_fx_history` now accept ISO currency codes (`USD`, `GBP`,\n`JPY`, `EUR`, …); `sg_tourism_latest` now emits `data_freshness` (its upstream\nstops at 2014); and the `_history` tools return an `available` label list on a\nno-match so callers can self-correct.\n\n**v0.4.0 highlights:** `data_freshness` metadata block emitted on every\n`_latest` tool — `last_period`, `last_record_date`, `age_days`, and a\ncategorical `level` of `fresh` / `ok` / `stale` / `frozen` so agents can\ndetect when an upstream data.gov.sg feed has gone silent. Fixes silent\nstale-data on `sg_disease_latest` (MOH stopped publishing the Weekly\nInfectious Disease Bulletin via data.gov.sg around epi week 2022-W52).\n\n**v0.3.2:** Monthly business formations + cessations + net growth tools via\nSingStat Table Builder. Track month-by-month company creation vs closure\nfor any SSIC industry. 74 tools total.\n\n**v0.3.1:** Annual formation counts by industry via SingStat Table Builder.\n\n**v0.3.0:** 8 new datasets, CLI mode, ASCII sparkline visualization,\ncross-dataset correlation queries, natural language query routing.\n\n## Data freshness\n\n`@altronis/sgdata-mcp` is only as fresh as data.gov.sg. Some datasets are\nupdated weekly (COE bidding, CPI), some monthly (unemployment, CPI sub-items),\nsome quarterly (URA private property), and some have effectively stopped\nupdating. Starting in v0.4.0 every `_latest` tool returns a `data_freshness`\nblock so you can detect drift programmatically:\n\n```json\n{\n  \"datasetId\": \"d_ca168b2cb763640d72c4600a68f9909e\",\n  \"epi_week\": \"2022-W52\",\n  \"cases\": [...],\n  \"data_freshness\": {\n    \"last_period\": \"2022-W52\",\n    \"last_record_date\": \"2023-01-01\",\n    \"age_days\": 1234,\n    \"level\": \"frozen\",\n    \"warning\": \"Upstream dataset appears frozen — latest record is 2022-W52...\"\n  }\n}\n```\n\n**Known frozen datasets (as of v0.4.1):**\n\n| Tool | Upstream dataset | Last update | Recommended action |\n|---|---|---|---|\n| `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. |\n| `sg_tourism_latest`, `sg_tourism_history` | STB Annual Tourism Receipts | 2014 | Cross-check `stb.gov.sg` / SingStat for newer receipts. PRs welcome. |\n\nIf you find another upstream feed has gone silent, please open an issue —\nwe'll add it to this table and surface the warning in the tool description.\n\n---\n\n## What you can ask Claude\n\nDrop this server into Claude Desktop and you immediately unlock questions like:\n\n- *\"Find all AI/ML companies (SSIC 62019) incorporated in Singapore in 2025.\"*\n- *\"What's the median resale price of 4-room HDB flats in Punggol over the last 6 months?\"*\n- *\"What is the latest COE Category A premium, and how has it trended over 12 months?\"*\n- *\"How many dengue cases were reported this week?\"*\n- *\"What's Singapore's unemployment rate? Show me the trend.\"*\n- *\"Compare GDP growth vs crime rates over the last 5 years.\"*\n- *\"How many scam cases were recorded in 2024?\"*\n- *\"What is Singapore's population and how fast is it growing?\"*\n- *\"How much electricity did Singapore generate last month?\"*\n- *\"Are birth rates declining? Show me the last 12 months.\"*\n- *\"What were Singapore's tourism receipts by component?\"*\n- *\"Find hawker centres near Tampines.\"*\n- *\"Which CPI categories are running hottest vs headline inflation?\"*\n- *\"Look up DBS Bank by UEN 196800306E.\"*\n\nYour model picks the right tool, fills in the filters, and returns structured\nrows. You never write a URL.\n\n---\n\n## Quick start\n\n### Claude Desktop\n\nEdit `~/Library/Application Support/Claude/claude_desktop_config.json`\n(macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"sg-data\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@altronis/sgdata-mcp\"]\n    }\n  }\n}\n```\n\nRestart Claude Desktop. The 74 `sg_*` tools appear in the MCP tools menu.\n\n### Cursor\n\nAdd to `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"sg-data\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@altronis/sgdata-mcp\"]\n    }\n  }\n}\n```\n\n### Claude Code\n\n```bash\nclaude mcp add sg-data -- npx -y @altronis/sgdata-mcp\n```\n\n### CLI mode (new in v0.3.0)\n\nQuery Singapore data directly from the terminal — no MCP client needed:\n\n```bash\n# Natural language query\nnpx @altronis/sgdata-mcp query \"What is Singapore's unemployment rate?\"\nnpx @altronis/sgdata-mcp query \"How many dengue cases this week?\"\nnpx @altronis/sgdata-mcp query \"Latest COE prices\"\n\n# Call a specific tool\nnpx @altronis/sgdata-mcp tool sg_crime_compare '{\"year\":\"2024\"}'\nnpx @altronis/sgdata-mcp tool sg_hawker_search '{\"query\":\"bedok\"}'\n\n# List available tools and datasets\nnpx @altronis/sgdata-mcp list\nnpx @altronis/sgdata-mcp datasets\n```\n\n### Standalone (kick the tyres)\n\n```bash\n# Run the MCP server directly\nnpx -y @altronis/sgdata-mcp\n\n# Smoke-test via stdio\nprintf '%s\\n' \\\n  '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2024-11-05\",\"capabilities\":{},\"clientInfo\":{\"name\":\"test\",\"version\":\"0\"}}}' \\\n  '{\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\"}' \\\n  '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\"}' \\\n  | npx -y @altronis/sgdata-mcp\n```\n\n---\n\n## What's in the box\n\n### Datasets (24)\n\n| # | Dataset | Agency | Tools |\n|---|---------|--------|-------|\n| 1 | ACRA Corporate Entities (~2M+) | ACRA | 3 |\n| 2 | HDB Resale Flat Prices (2017+) | HDB | 2 |\n| 3 | COE Bidding Results | LTA | 3 |\n| 4 | MOE Schools | MOE | 3 |\n| 5 | HDB Carpark Information | HDB | 3 |\n| 6 | GDP YoY Growth (quarterly) | SingStat | 3 |\n| 7 | Consumer Price Index (monthly) | SingStat | 3 |\n| 8 | MOM Median Gross Monthly Income | MOM | 2 |\n| 9 | Employment by Sector (annual) | SingStat | 3 |\n| 10 | URA Private Residential Transactions | URA | 3 |\n| 11 | International Visitor Arrivals | STB | 3 |\n| 12 | Retail Sales Index (monthly) | SingStat | 3 |\n| 13 | MAS Exchange Rates (monthly avg) | MAS | 3 |\n| 14 | IRAS Tax Collection (annual) | IRAS | 3 |\n| 15 | ECDA Childcare & Kindergarten Centres | ECDA | 3 |\n| 16 | **Unemployment Rate (quarterly)** | MOM | 2 |\n| 17 | **Population Indicators (annual)** | SingStat | 2 |\n| 18 | **Infectious Disease Cases (weekly)** | MOH | 3 |\n| 19 | **Electricity Generation (monthly)** | EMA | 2 |\n| 20 | **Live-Births by Sex/Ethnicity (monthly)** | SingStat | 2 |\n| 21 | **Crime Cases Recorded (annual)** | SPF | 3 |\n| 22 | **Tourism Receipts (annual)** | STB | 2 |\n| 23 | **Government Hawker Centres** | NEA | 2 |\n| 24 | **Business Entity Formations & Cessations** | ACRA/DOS | 6 |\n\nPlus **3 generic fallback tools**, **1 visualization tool**, **2 cross-dataset tools**, and **1 natural language query tool**. Total: **74 tools.**\n\n---\n\n### New in v0.3.0\n\n#### Data visualization — `sg_visualize`\n\nGenerate ASCII sparkline charts and summary statistics from any time series.\nReturns sparklines, min/max/mean/latest, period-over-period change, and\nchart-ready JSON for frontend rendering.\n\n```\nSG Unemployment Rate (SA): ▁█████▄▄████\nLatest: 2 % | Change: +0 (+0%) | Range: 1.8–2 | Mean: 1.97\n```\n\n#### Cross-dataset queries — `sg_cross_dataset`\n\nCompare any two datasets side-by-side over time. Automatically aligns\ndifferent time granularities (monthly, quarterly, annual):\n\n```json\n{\n  \"dataset_a\": \"cpi_monthly\",\n  \"dataset_b\": \"retail_sales\",\n  \"limit\": 5\n}\n```\n\nReturns aligned rows with both values for correlation analysis.\n\n#### Natural language queries — `sg_ask`\n\nAsk questions in plain English — the tool routes to the right dataset\nautomatically:\n\n```\n\"What is Singapore's unemployment rate?\" → sg_unemployment_latest\n\"How many dengue cases?\" → sg_disease_latest\n\"COE prices\" → sg_coe_latest\n\"Crime statistics\" → sg_crime_latest\n```\n\n#### CLI mode — no MCP client needed\n\nQuery data directly from your terminal:\n\n```bash\nsgdata-cli query \"Singapore population growth\"\nsgdata-cli tool sg_crime_compare '{\"year\":\"2024\"}'\nsgdata-cli datasets\n```\n\n---\n\n### Tools (74)\n\n#### Meta tools\n\n| Tool | Description |\n|------|-------------|\n| `sg_ask` | Natural language query — ask any question about Singapore data in plain English |\n| `sg_visualize` | ASCII sparkline + summary stats + chart-ready JSON from any numeric series |\n| `sg_cross_dataset` | Compare two datasets over time with automatic period alignment |\n| `sg_list_datasets` | List all 24 curated datasets with IDs, names, and agencies |\n\n#### Generic tools — any data.gov.sg dataset\n\n| Tool | Description |\n|------|-------------|\n| `sg_search_datasets` | Full-text discovery across all data.gov.sg datasets |\n| `sg_dataset_schema` | Column labels, agency, format for any dataset ID |\n| `sg_dataset_query` | Query any dataset with filters, auto-downloads and caches |\n\n#### Curated dataset tools (67)\n\n**ACRA** (3): `sg_acra_search_entities`, `sg_acra_get_entity`, `sg_acra_formations_by_ssic`\n\n**HDB Resale** (2): `sg_hdb_resale_search`, `sg_hdb_resale_stats`\n\n**COE** (3): `sg_coe_latest`, `sg_coe_history`, `sg_coe_demand_supply`\n\n**MOE Schools** (3): `sg_moe_search_schools`, `sg_moe_school_by_name`, `sg_moe_schools_near`\n\n**HDB Carparks** (3): `sg_hdb_carpark_lookup`, `sg_hdb_carparks_by_address`, `sg_hdb_carparks_by_type`\n\n**GDP** (3): `sg_gdp_latest`, `sg_gdp_history`, `sg_gdp_industry_compare`\n\n**CPI** (3): `sg_cpi_latest`, `sg_cpi_history`, `sg_cpi_yoy`\n\n**Income** (2): `sg_median_income_lookup`, `sg_median_income_history`\n\n**Employment** (3): `sg_employment_by_sector`, `sg_employment_sector_history`, `sg_employment_growth`\n\n**URA Property** (3): `sg_ura_private_txn_latest`, `sg_ura_private_txn_history`, `sg_ura_new_sale_pipeline`\n\n**Visitor Arrivals** (3): `sg_visitors_latest`, `sg_visitors_history`, `sg_visitors_top_sources`\n\n**Retail Sales** (3): `sg_retail_sales_latest`, `sg_retail_sales_history`, `sg_retail_sales_yoy`\n\n**MAS FX** (3): `sg_fx_rate`, `sg_fx_history`, `sg_fx_basket`\n\n**IRAS Tax** (3): `sg_iras_collection`, `sg_iras_collection_history`, `sg_iras_tax_mix`\n\n**ECDA Childcare** (3): `sg_ecda_search_centres`, `sg_ecda_centres_near`, `sg_ecda_vacancy_summary`\n\n**Unemployment** (2): `sg_unemployment_latest`, `sg_unemployment_history`\n\n**Population** (2): `sg_population_latest`, `sg_population_history`\n\n**Disease/Health** (3): `sg_disease_latest`, `sg_disease_trend`, `sg_disease_list`\n\n**Electricity** (2): `sg_electricity_latest`, `sg_electricity_history`\n\n**Births** (2): `sg_births_latest`, `sg_births_history`\n\n**Crime** (3): `sg_crime_latest`, `sg_crime_history`, `sg_crime_compare`\n\n**Tourism** (2): `sg_tourism_latest`, `sg_tourism_history`\n\n**Hawker Centres** (2): `sg_hawker_search`, `sg_hawker_stats`\n\n**Business Formations & Cessations** (6): `sg_formations_latest`, `sg_formations_history`, `sg_formations_compare`, `sg_formations_monthly`, `sg_cessations_monthly`, `sg_net_formations`\n\n---\n\n## Architecture\n\n```\n┌─────────────────┐    spawn    ┌──────────────────────┐\n│ Claude Desktop  │ ──────────▶ │ sgdata-mcp (node)   │\n│ /Cursor/Code    │ ◀── stdio ─▶│ runs on your machine │\n└─────────────────┘             └──────┬───────────────┘\n                                       │ HTTPS (first fetch only)\n                                       ▼\n                              api.data.gov.sg/v2/...\n                                       │\n                                       ▼\n                            ~/.sgdata-mcp/sgdata.sqlite\n                            (shared local SQLite cache)\n```\n\n---\n\n## Caching policy\n\n- **Location.** `~/.sgdata-mcp/sgdata.sqlite` by default.\n- **Override.** Set `SGDATA_MCP_CACHE_DIR=/custom/path`.\n- **Refresh cadence.** Per-dataset — daily for ECDA, weekly for HDB/COE/disease,\n  monthly for ACRA/CPI/GDP/FX/retail/visitors/births/electricity, quarterly for\n  MOE/URA/employment/unemployment, annually for IRAS/income/crime/population/tourism.\n- **Wipe.** `rm ~/.sgdata-mcp/sgdata.sqlite` — next query rebuilds.\n- **Disk.** ~480 MB with ACRA, under 20 MB without.\n\n---\n\n## Comparison\n\n| | `@altronis/sgdata-mcp` | `sgdata-mcp` (by vdineshk) |\n|---|---|---|\n| Tools | **74** | 5 |\n| Coverage | Corporate registry, real estate, prices, labour, tourism, FX, tax, public services, crime, health, demographics, energy | Real-time weather, traffic, carpark availability |\n| CLI mode | Yes | No |\n| Data visualization | Yes (sparklines + chart-ready JSON) | No |\n| Cross-dataset queries | Yes | No |\n| NL query routing | Yes | No |\n| Caching | Yes (SQLite) | No |\n| API keys | None | None |\n\nBoth packages complement each other — install both for the full picture.\n\n---\n\n## Disclaimer\n\nThis tool fetches and caches data from [data.gov.sg](https://data.gov.sg).\nWhile we take care to preserve data integrity during ingestion, **you should\nindependently verify any data before making decisions based on it**.\n\n- **Data accuracy.** All data originates from Singapore government agencies via\n  data.gov.sg. We do not alter source values, but column mappings, wide-to-long\n  transformations, and caching may introduce discrepancies. Always cross-check\n  critical figures against the [official source](https://data.gov.sg).\n- **Not professional advice.** This tool is not a substitute for professional\n  financial, legal, medical, or policy advice. GDP figures, crime statistics,\n  disease counts, property prices, and other data are provided for informational\n  purposes only.\n- **Staleness.** Cached data may be hours to weeks behind the source depending\n  on the dataset's refresh window. Check `ingestedAt` timestamps if freshness\n  matters.\n- **No warranty.** This software is provided \"as is\" under the MIT licence,\n  without warranty of any kind.\n\n---\n\n## FAQ\n\n**Do I need an API key?** No. data.gov.sg open datasets are public.\n\n**Where is the data stored?** On your machine, in `~/.sgdata-mcp/sgdata.sqlite`.\n\n**How often is data refreshed?** Per-dataset, from daily to annually.\n\n**Is this production-ready?** Yes. 74 tools, all tested against live data.\nFile issues on GitHub if you hit anything sharp.\n\n**Can I add my own dataset?** Yes — either use the generic tools for ad-hoc\nqueries, or open a PR adding a handler under `src/datasets/`.\n\n---\n\n## License\n\nMIT\n\n## Attribution\n\nContains information from [data.gov.sg](https://data.gov.sg) under the\n[Singapore Open Data Licence v1.0](https://beta.data.gov.sg/open-data-licence).\n\n---\n\n## Contributing\n\nFound a bug? Want a dataset added? Open an issue or PR on\n[GitHub](https://github.com/sypherin/sgdata-mcp).\n","readmeFilename":"README.md"}