Malaysia Open Data MCP Server
This MCP server provides seamless access to Malaysia's government open data, including datasets, weather forecasts, and public transportation information.
What it can do
- Datagovmy List Datasets Catalogue: Lists all datasets from the comprehensive catalogue with rich metadata
- Datagovmy Search Datasets Catalogue: ⚠️ CONSIDER USING search_all INSTEAD: This only searches datasets. For comprehensive results across datasets and dashboards, use search_all tool. ⚠️
- Datagovmy Filter Datasets Catalogue: Filter datasets by various criteria such as frequency, geography, etc.
What data it sees
Do you need an account
No: the server works without sign-in
This MCP server provides seamless access to Malaysia's government open data, including datasets, weather forecasts, and public transportation information. Enable efficient querying and retrieval of real-time and historical data with built-in rate limiting and error handling. Empower applications to integrate comprehensive Malaysian public data effortlessly.
Note: this is NOT an official MCP server by the Government of Malaysia or anyone from Malaysia's Open Data/Jabatan Digital Negara/Ministry of Digital team.
How to connect
How to connect Malaysia Open Data MCP Server to Claude
The server address to paste into Claude settings:
https://mcp-datagovmy--hithereiamaliff.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect Malaysia Open Data MCP Server to ChatGPT
The server address to paste into ChatGPT settings:
https://mcp-datagovmy--hithereiamaliff.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect Malaysia Open Data MCP Server to Cursor
The server address to paste into Cursor settings:
https://mcp-datagovmy--hithereiamaliff.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (31)
Raw names from tools/list. Only developers need these.
| datagovmy_list_datasets_catalogue | Lists all datasets from the comprehensive catalogue with rich metadata |
| datagovmy_search_datasets_catalogue | ⚠️ CONSIDER USING search_all INSTEAD: This only searches datasets. For comprehensive results across datasets and dashboards, use search_all tool. ⚠️ |
| datagovmy_filter_datasets_catalogue | Filter datasets by various criteria such as frequency, geography, etc. |
| datagovmy_get_dataset_filters | Get available filter options for datasets |
| datagovmy_get_dataset_details | Get comprehensive metadata for a dataset by ID |
| datagovmy_list_dosm_datasets | Lists available datasets from the Department of Statistics Malaysia |
| datagovmy_get_dosm_dataset | Gets data from a specific DOSM dataset |
| datagovmy_get_weather_forecast | Gets weather forecast for Malaysia |
| datagovmy_get_weather_warnings | Gets current weather warnings for Malaysia |
| datagovmy_get_earthquake_warnings | Gets earthquake warnings for Malaysia |
| datagovmy_list_dashboards | Lists all available dashboards from the Malaysia Open Data platform |
| datagovmy_search_dashboards | ⚠️ CONSIDER USING search_all INSTEAD: This only searches dashboards. For comprehensive results across datasets and dashboards, use search_all tool. ⚠️ |
| datagovmy_get_dashboard_details | Get comprehensive metadata for a dashboard by name |
| datagovmy_get_dashboard_charts | Get chart configurations for a specific dashboard |
| datagovmy_search_all | ⭐⭐⭐ PRIMARY SEARCH TOOL: Always use this first for any data or visualization queries. Searches across both datasets and dashboards with intelligent fallback. ⭐⭐⭐ |
| datagovmy_parse_parquet_file | Parse and display data from a Parquet file URL |
| datagovmy_get_parquet_info | Get metadata and structure information about a Parquet file |
| datagovmy_find_dashboard_for_parquet | Find the corresponding dashboard for a Parquet file |
| datagovmy_parse_gtfs_static | Parse GTFS Static data for a specific transport provider. IMPORTANT: For transit queries like "Show me routes from Rapid Penang", use get_transit_routes directly with the provider name. This is a low-level tool - prefer using get_transit_routes or get_transit_stops for most user queries. |
| datagovmy_parse_gtfs_realtime | Parse GTFS Realtime data for a specific transport provider. IMPORTANT: For transit queries like "Show me bus locations from Rapid Penang", use this tool directly with the provider name. Common names like "rapid penang", "rapid kuantan", or "mybas johor" are automatically mapped to the correct provider-category pairs. |
| datagovmy_get_transit_routes | Get transit routes from GTFS data. IMPORTANT: For transit route queries like "Show me bus routes for Rapid Penang", use this tool directly with the provider name. |
| datagovmy_get_transit_stops | Get transit stops from GTFS data. IMPORTANT: For transit stop queries like "Show me bus stops for Rapid Penang", use this tool directly with the provider name. The tool supports common names like "rapid penang", "rapid kuantan", "ktmb", or "mybas johor" which will be automatically mapped to the correct provider and category. No need to use list_transport_agencies first. |
| datagovmy_get_transit_arrivals | Get real-time transit arrivals at a specific stop. IMPORTANT: Use this tool directly for queries like "When will the next bus arrive at my stop?" or "Show me arrival times for Rapid Penang buses at stop X". |
| datagovmy_search_transit_stops_by_location | Search for transit stops near a named location. IMPORTANT: Use this tool for queries like "Show me bus stops near KLCC" or "What buses stop at KL Sentral?" This tool geocodes the location name to coordinates, then finds nearby stops. CRITICAL: For Rapid KL services, ALWAYS use specific terms in the provider parameter like "rapid kl bus", "rapid rail", "mrt feeder", "lrt", "mrt" instead of using "prasarana" with a separate category parameter. DO NOT use provider="prasarana" with category="rapid-rail-kl" as this causes 404 errors. Instead use provider="rapid rail" or provider="lrt" or provider="mrt" or provider="mrt feeder" or provider="rapid kl bus" without a category parameter. |
| datagovmy_find_nearest_transit_stops | Find the nearest transit stops to a given location. IMPORTANT: Use this tool directly for queries like "Where is the nearest bus stop to my location?" or "How do I get to the nearest Rapid Penang bus stop?" |
| datagovmy_list_transport_agencies | Lists available transport agencies with GTFS data |
| datagovmy_get_transport_data | Gets GTFS data for a specific transport agency |
| datagovmy_get_gtfs_static | Gets GTFS static data for a specific transport provider |
| datagovmy_get_gtfs_realtime_vehicle_position | Gets GTFS realtime vehicle position data for a specific transport provider |
| datagovmy_get_flood_warnings | Gets current flood warnings for Malaysia |
| datagovmy_hello | A simple test tool to verify that the MCP server is working correctly |