Server data from the Official MCP Registry
This MCP server provides seamless access to Malaysia's government open data, including datasets, w…
This MCP server provides seamless access to Malaysia's government open data, including datasets, w…
Remote endpoints: streamable-http: https://server.smithery.ai/@hithereiamaliff/mcp-datagovmy/mcp
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry. Trust signals: trusted author (3/3 approved).
Endpoint verified · Requires authentication · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"ai-smithery-hithereiamaliff-mcp-datagovmy": {
"url": "https://server.smithery.ai/@hithereiamaliff/mcp-datagovmy/mcp"
}
}
}From the project's GitHub README.
MCP Endpoint: https://mcp.techmavie.digital/datagovmy/mcp
Analytics Dashboard: https://mcp.techmavie.digital/datagovmy/analytics/dashboard
MCP (Model Context Protocol) server for Malaysia's open data APIs, with tools for datasets, dashboards, DOSM, weather, floods, parquet files, and GTFS transit data.
This is not an official MCP server from the Government of Malaysia, Jabatan Digital Negara, or the Ministry of Digital.
data-gov-my/datagovmy-metaGTFS location search now uses Nominatim (OpenStreetMap) only.
NOMINATIM_CONTACT_EMAILUse the hosted endpoint directly:
https://mcp.techmavie.digital/datagovmy/mcp
Example MCP client config:
{
"mcpServers": {
"malaysia-opendata": {
"transport": "streamable-http",
"url": "https://mcp.techmavie.digital/datagovmy/mcp"
}
}
}
No API keys or geocoding credentials are needed.
Detailed VPS instructions live in deploy/DEPLOYMENT.md.
npm install
npm run build
npm run start:http
search_alllist_datasets_cataloguesearch_datasets_cataloguefilter_datasets_catalogueget_dataset_filtersget_dataset_detailslist_dashboardssearch_dashboardsget_dashboard_detailsget_dashboard_chartslist_dosm_datasetsget_dosm_datasetparse_parquet_fileget_parquet_infofind_dashboard_for_parquetget_weather_forecastget_weather_warningsget_earthquake_warningsget_flood_warningslist_transport_agenciesget_transport_dataget_gtfs_staticget_gtfs_realtime_vehicle_positionparse_gtfs_staticparse_gtfs_realtimeget_transit_routesget_transit_stopsget_transit_arrivalssearch_transit_stops_by_locationfind_nearest_transit_stopshelloMore detail and usage guidance lives in TOOLS.md and PROMPT.md.
# Install dependencies
npm install
# Run the HTTP server in development mode
npm run dev:http
# Build and run the production server locally
npm run build
npm run start:http
# Verify the server
curl http://localhost:8080/health
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
The hosted server exposes:
/analytics for JSON stats/analytics/tools for tool usage stats/analytics/dashboard for the HTML dashboard| Variable | Default | Description |
|---|---|---|
PORT | 8080 | HTTP server port |
HOST | 0.0.0.0 | Bind address |
API_BASE_URL | https://api.data.gov.my | Malaysia Open Data API base URL |
CACHE_TTL | 3600000 | Metadata cache TTL in ms |
AXIOS_TIMEOUT | 30000 | HTTP timeout in ms |
GITHUB_FETCH_BATCH_SIZE | 20 | Concurrent GitHub metadata fetches |
GH_PAT | empty | Optional GitHub token for higher GitHub API rate limits |
ANALYTICS_RESET_KEY | empty | Secret key for analytics reset/import endpoints |
ANALYTICS_DIR | /app/data | Analytics storage directory |
FIREBASE_DATABASE_URL | empty | Firebase Realtime Database URL for analytics persistence |
FIREBASE_CREDENTIALS_PATH | .credentials/firebase-service-account.json | Firebase service account path |
NOMINATIM_CONTACT_EMAIL | empty | Optional contact email appended to Nominatim queries for self-hosted deployments |
Example .env:
GH_PAT=your_github_pat_here
NOMINATIM_CONTACT_EMAIL=your-email@example.com
ANALYTICS_RESET_KEY=your_analytics_reset_key_here
ANALYTICS_DIR=/app/data
FIREBASE_DATABASE_URL=your_firebase_database_url_here
FIREBASE_CREDENTIALS_PATH=.credentials/firebase-service-account.json
The server now depends on public Nominatim for GTFS location-name searches. The code includes:
User-Agentemail support via NOMINATIM_CONTACT_EMAILIf you expect sustained geocoding traffic, consider self-hosting a compatible geocoder or routing through your own approved service.
src/
index.ts
http-server.ts
config.ts
datacatalogue.tools.ts
dashboards.tools.ts
dosm.tools.ts
flood.tools.ts
gtfs.tools.ts
parquet.tools.ts
transport.tools.ts
unified-search.tools.ts
weather.tools.ts
firebase-analytics.ts
utils/
deploy/
DEPLOYMENT.md
nginx-mcp.conf
# Docker logs
docker compose logs -f
# Local health check
curl http://localhost:8080/health
# Hosted MCP tool list
curl -X POST https://mcp.techmavie.digital/datagovmy/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
MIT. See LICENSE.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.