Server data from the Official MCP Registry
Read-only MCP for 385 Malaysian public datasets: freshness, licence, provenance.
About
Read-only MCP for 385 Malaysian public datasets: freshness, licence, provenance.
Remote endpoints: streamable-http: https://mcp.data-pulse.my/mcp
Security Report
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry. Trust signals: trusted author (4/4 approved).
Endpoint verified ยท Open access ยท No issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
How to Connect
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"io-github-r3dz4r-datapulse-my": {
"url": "https://mcp.data-pulse.my/mcp"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
DataPulse MY
Live dashboard: https://www.data-pulse.my
๐ค AI-agent-ready โ Wire DataPulse MY into Claude Desktop, Cursor, Cline, or any MCP-compatible client with one config block. Your agent gets 389 official Malaysian datasets โ including 30 GTFS transit feeds (KTMB, Prasarana, BAS.MY) โ with declared licences and an honest ten-status trust taxonomy instead of a blanket green checkmark.
DataPulse MY is an open-source trust layer for Malaysian public data. It makes official datasets easier to assess and reuse by publishing a small manifest, human-readable health reports, and machine-readable health envelopes.
It does not replace the official source. It documents what is available, whether it is fresh, how its schema behaves, and which collection quirks users need to handle.
Who it is for
- Journalists and researchers checking whether a public dataset is usable.
- Civic technologists building reproducible data pipelines.
- Public servants improving the discoverability and reliability of open data.
- Developers who need stable, machine-readable dataset health metadata.
Use this for
- Journalist fact-check: before citing a fuel price figure, check fuelprice freshness to make sure it's current.
- Pipeline health gate: fail the build when a required dataset probe has remained unavailable for more than 24 hours.
- RAG knowledge base: consume the JSON envelopes as structured context for a chatbot answering "what's the latest BNM rate?"
Dataset health
Health is reported as fresh, aging, stale, discontinued, degraded,
browser-dependent, unreachable, unknown, unknown-freshness, or
reference. Unknown freshness means the URL and content shape work, but neither
a Last-Modified header nor a parseable content date proves when the data was
updated. Reference means versioned lookup data is reachable and its record count
is measured, while date-based freshness does not apply. The public
_trust_summary shows the distribution and explicitly
counts missing freshness and row-count signals.
Discontinued โ The source has stopped publishing new data. The data is frozen at the last known content date. This is not a freshness failure โ it's a publisher decision.
Current distribution (_trust_summary): 84 fresh ยท 134 aging ยท 153 stale ยท 1 discontinued ยท 1 degraded ยท 5 browser-dependent ยท 11 reference
Subscribe: RSS feed โ get notified when dataset health changes.
โ ๏ธ Status: active development. Dashboards and health snapshots update as probes complete. Per-dataset reports under
data/{id}.mdmay briefly lag behind the live health snapshot inhealth/latest.json(a regeneration gap that is being closed). Coverage and quality improve with each tagged release; expect rough edges. Track progress via the GitHub Releases page โv0.4.0is the current milestone.
Browser-dependent datasets
Five sources (currently 1.4% of the catalogue) require a real browser to probe because their
source pages render client-side JavaScript: eperolehan-diklankan,
doe_apims, doe_rqims, doe_mqims, and kkm_idengue.
DataPulse uses Camofox, a
self-hosted patched headless-Chromium sidecar, to probe these. The probe path
is check.sh โ Camofox sidecar โ DOM snapshot โ
content-date extraction.
To enable browser probing:
- Run the Camofox Docker sidecar on a reachable address (default
http://localhost:9377). The probe script and the GitHub Actions workflow pick this up from theCAMOFOX_BASE_URLenvironment variable; nothing in this repo encodes a public IP. - Set
CAMOFOX_BASE_URLto that address. - Restart the timer with
systemctl restart datapulse-health.timer.
Without Camofox, those five datasets will sit at browser-dependent โ the
honest status: DataPulse cannot probe them without a browser, so it says
so rather than failing silently. See
scripts/smoke_browser_probes.sh for
isolated smoke tests.
Legal
DataPulse probes publicly-published open-data sources. We do not bypass authentication, CAPTCHAs, or terms-of-service restrictions. Every source we probe is publicly available without login; the data is aggregate/non-personal; and the probe respects each dataset's declared refresh frequency.
All scraping is rate-limited (5-minute cadence, dataset-tier cadence applied)
and identifies itself via User-Agent. Sources we cannot probe without
authentication, CAPTCHA bypass, or ToS violation are marked unreachable or
browser-dependent โ never silently scraped through a workaround.
If you are a data source maintainer and would like DataPulse to adjust its probe cadence, exclude a dataset, or remove it from the manifest, please open a GitHub issue or contact the maintainers.
AI-agent-ready โ what it means for you
Give your organisation's AI tools current, licensed, and verified Malaysian public data without first building a custom integration. DataPulse MY makes the full portfolio discoverable from one self-describing index, ready for agents, RAG systems, and internal knowledge tools to consume.
What being AI-ready gives you
- Zero integration work: an AI agent or LLM/RAG system fetches one
llms.txtand can use the entire portfolio immediately โ no scraping, API-key setup, or data-format reverse-engineering. - Honest freshness signals: a 5-minute timer probes datasets when their
cadence tier is due, separating HTTP
reachability, browser dependency, schema validity, and source freshness so
missing evidence is visible instead of being labelled healthy.
Consumers can also use
anomaly_detectedas an explainable, orthogonal freshness-delta signal without changing the ten-status taxonomy. - Machine-readable and licence-clear: every dataset has a JSON envelope with its schema, licence, and refresh cadence, giving legal and engineering teams the information they need to approve and integrate it.
- Trustworthy for AI: verified official sources and explicit licences let agents cite and use the data without permission ambiguity.
- RAG and knowledge-base ready: drop the envelopes into a retrieval pipeline to ground chatbots and AI tools in current Malaysian public data.
Every manifest dataset declares either CC BY 4.0 or OGL licensing and is
assessed with the honest ten-status trust taxonomy. Each entry retains its
human-readable steward and supplies a stable custodian ID resolved through
custodians.json for publisher-level provenance.
Why this matters now. AI agents are increasingly the buyers of structured public data โ they retrieve and act on resources at machine speed, and the proportion of traffic that hits the human web from agents is already displacing the old "crawl โ index โ human visits โ ad impression" bargain that funded open publishers. The workloads that survive that shift are the ones that publish clean, attested, licence-clear resources an agent can consume without re-deriving trust from scratch. DataPulse MY is built for that: one self-describing index, one MCP endpoint, ten honest health statuses, and signed probe attestations โ so an agent can answer a question about Malaysian public data without first having to verify the data exists, is current, and is licensed for the use it is about to make of it.
MCP server (read-only)
DataPulse MY also exposes an AI-ready, read-only MCP server so agents can query the catalogue natively:
-
Endpoint:
https://mcp.data-pulse.my/mcp(Streamable HTTP, no auth) Verified by mcpgrade: 100/100 (Grade A), 18 tools, last audited 2026-08-17 (re-audit due โ count changed 16โ18 since; canonical count lives inmcp.json). -
18 tools:
search_datasets,get_dataset,find_stale,find_anomalies,find_deteriorating,find_recovering,find_unreliable,find_schema_drift,check_reconciliation,get_provenance,get_evidence,verify_dataset,get_freshness_summary,verify_evidence,trust_verdict,verify_attestation,find_by_licence,usage_summary
The public endpoint serves all 18 read-only tools over the 389-dataset catalogue.
- 8 resources plus 1 resource template, including
datapulse://attestationsand the signed daily probe-attestation index.
get_evidence exposes pipeline receipts; verify_evidence performs cached
transport-only live checks and does not update health.
Connect from Claude Desktop:
{
"mcpServers": {
"datapulse-my": {
"transport": "streamable-http",
"url": "https://mcp.data-pulse.my/mcp"
}
}
}
See llms.txt for the full
discovery index, and docs/mcp-deploy.md for the
deployment architecture.
Authenticated buyer API
Paying integrations use the separate, versioned /api/v1/ buyer API. It uses
X-API-Key authentication, durable per-key request limits, and audit logs;
the public MCP endpoint above remains intentionally unauthenticated. See the
buyer API reference for endpoint and operator
details.
How to consume the data
For humans wiring their own agents: see the MCP server
section below for the Claude Desktop / Cursor / Cline config block, or the full
integration guide at docs/mcp-deploy.md.
Wire it into Claude Desktop via claude_desktop_config.json (30 seconds, no
API key):
{
"mcpServers": {
"datapulse-my": {
"transport": "streamable-http",
"url": "https://mcp.data-pulse.my/mcp"
}
}
}
Restart Claude Desktop, confirm the hammer icon shows "datapulse-my" with 13 tools in the runtime order above. Cursor / Cline use the same JSON in their MCP config panel.
Included datasets
- Malaysian Fuel Prices โ Samples: CSV, JSON
- ePerolehan Tender Notices (DIIKLANKAN) โ Sample JSON
- PriceCatcher (Grocery Prices) โ Samples: main CSV, item lookup, premise lookup
Daily reference data
Daily-published reference datasets from official Malaysian sources. Each
agency publishes on its own schedule, declared in refresh_frequency; the
dashboard combines the date-only source value with the publication time and
does not infer a time from midnight or UTC conversion.
Bank Negara Malaysia (BNM)
- BNM Daily Exchange Rates (0900) โ Sample JSON
- BNM Daily Exchange Rates (1130) โ Sample JSON
- BNM Daily Exchange Rates (1200) โ Sample JSON
- BNM Daily Exchange Rates (1700) โ Sample JSON
- Overnight Policy Rate (OPR)
- Base Rates / BLR / Effective LR
- Kuala Lumpur USD/MYR Reference Rate
- Interest Rates: Banking Institutions
- Interest Volume: Banking Institutions
- Interbank Swap
- Kijang Emas (Gold Reference Price)
- Malaysia Overnight Rate (MYOR)
MET Malaysia
- MET Malaysia Weather Forecast โ Samples: CSV, JSON
Department of Environment (DOE)
- DOE APIMS Air Quality (Hourly) โ Sample JSON
- DOE RQIMS River Water Quality (Continuous) โ Sample JSON
- DOE MQIMS Marine Water Quality (Monthly) โ Sample JSON
KKM (Ministry of Health)
OpenDOSM (DOSM open data portal)
- OpenDOSM Crime by District (Annual) โ Sample JSON
- OpenDOSM Monthly CPI by State โ Sample JSON
- OpenDOSM Annual Real GDP by State โ Sample JSON
- OpenDOSM Quarterly Real GDP โ Sample JSON
- OpenDOSM Annual Real GDP by Supply Sector โ Sample JSON
- OpenDOSM Monthly Trade Headline โ Sample JSON
- OpenDOSM Monthly CPI Inflation by Division โ Sample JSON
- OpenDOSM Monthly Trade by End Use (BEC) โ Sample JSON
- OpenDOSM Quarterly Labour Force Statistics โ Sample JSON
- OpenDOSM Quarterly Labour Force Statistics by State โ Sample JSON
- OpenDOSM Annual Employment by Sector and Sex โ Sample JSON
- OpenDOSM Annual Population by State โ Sample JSON
- OpenDOSM Annual Nominal GDP by Supply Sector โ Sample JSON
- OpenDOSM Quarterly Nominal GDP โ Sample JSON
- OpenDOSM Quarterly Real GDP (Seasonally Adjusted) โ Sample JSON
- OpenDOSM Annual Nominal GDP and GNI โ Sample JSON
- OpenDOSM Monthly Core CPI Inflation by Division โ Sample JSON
- OpenDOSM Monthly CPI Inflation by State and Division โ Sample JSON
- OpenDOSM Monthly Producer Price Index โ Sample JSON
- OpenDOSM Annual Labour Force Statistics โ Sample JSON
- OpenDOSM Monthly Labour Force Statistics โ Sample JSON
- OpenDOSM Monthly Trade by SITC Section โ Sample JSON
- OpenDOSM IPI for Export-Oriented Divisions โ Sample JSON
- OpenDOSM IPI for Domestic-Oriented Divisions โ Sample JSON
- OpenDOSM Annual Births by State โ Sample JSON
- OpenDOSM Annual Deaths by State โ Sample JSON
- OpenDOSM Annual Maternal Deaths by State โ Sample JSON
- OpenDOSM Annual Marriages by State and Sex โ Sample JSON
- OpenDOSM Household Income, Malaysia โ Sample JSON
- OpenDOSM Household Income by State โ Sample JSON
- OpenDOSM Household Income by District โ Sample JSON
- OpenDOSM Poverty, Malaysia โ Sample JSON
- OpenDOSM Poverty by State โ Sample JSON
- OpenDOSM Poverty by District โ Sample JSON
- OpenDOSM Income Inequality, Malaysia โ Sample JSON
- OpenDOSM Income Inequality by State โ Sample JSON
- OpenDOSM Income Inequality by District โ Sample JSON
- OpenDOSM Household Expenditure by DUN โ Sample JSON
- OpenDOSM Household Expenditure by Parliamentary Constituency โ Sample JSON
- OpenDOSM Annual Population, Malaysia โ Sample JSON
- OpenDOSM Annual Population by Parliamentary Constituency โ Sample JSON
- OpenDOSM Annual Deaths by District and Sex โ Sample JSON
- OpenDOSM Annual Marriages by State, Age, and Sex โ Sample JSON
- OpenDOSM Annual Fertility โ Sample JSON
- OpenDOSM Annual Maternal Deaths, Malaysia โ Sample JSON
data.gov.my
- data.gov.my Monthly Interest Rates โ Sample JSON
- data.gov.my Quarterly Federal Government Revenue โ Sample JSON
- data.gov.my Quarterly Federal Operating Expenditure โ Sample JSON
- data.gov.my Monthly Money Aggregates โ Sample JSON
- data.gov.my Monthly Payment Systems โ Sample JSON
- data.gov.my Monthly Payment Instruments โ Sample JSON
- data.gov.my Monthly Payment Channels โ Sample JSON
- data.gov.my Annual Interest Rates โ Sample JSON
- data.gov.my Annual EPF Dividend Rates โ Sample JSON
- data.gov.my Monthly Vehicle Registrations by Type and Fuel โ Sample JSON
- data.gov.my Daily FPX Transactions โ Sample JSON
- data.gov.my Healthcare Staff by State and Staff Type โ Sample JSON
- data.gov.my Daily Blood Donations by Blood Group and State โ Sample JSON
- data.gov.my Infant Immunisation Coverage โ Sample JSON
- data.gov.my Sexually Transmitted Diseases by State โ Sample JSON
- data.gov.my Daily PeKaB40 Health Screenings by State โ Sample JSON
- data.gov.my Malaysian National Health Accounts Expenditure โ Sample JSON
- data.gov.my Monthly Electricity Supply โ Sample JSON
- data.gov.my Water Production by State โ Sample JSON
- data.gov.my Access to Treated Water by State and Strata โ Sample JSON
- data.gov.my Monthly KTMB Ridership โ Sample JSON
- data.gov.my Cellular Subscribers by Plan Type โ Sample JSON
- data.gov.my Prisoners by State and Sex โ Sample JSON
- data.gov.my Drug Addicts by State and Age Group โ Sample JSON
- data.gov.my Female Representation in Local Authorities โ Sample JSON
- data.gov.my Female Representation in Parliament โ Sample JSON
- data.gov.my Monthly Marine Fish Landings by State โ Sample JSON
- data.gov.my Crop Area and Production by State โ Sample JSON
- data.gov.my Public Education Institutions by District โ Sample JSON
GTFS transit feeds
The transport namespace adds 16 GTFS Static schedule ZIPs and 14 GTFS Realtime
vehicle-position protobuf feeds for KTMB, Prasarana, and BAS.MY services. Static
samples are under samples/gtfs-static/ and realtime
snapshots are under samples/gtfs-realtime/.
DataPulse MY currently tracks the portfolio declared in datapulse.json.
Current coverage
Refresh cadence
| Dataset | Refresh cadence |
|---|---|
Malaysian Fuel Prices (fuelprice) | Weekly |
ePerolehan Tender Notices (eperolehan-diklankan) | Hourly |
PriceCatcher (pricecatcher) | Monthly |
BNM Daily Exchange Rates (exchangerates_daily_0900) | Daily on weekdays at 0900 MYT |
BNM Daily Exchange Rates (exchangerates_daily_1130) | Daily on weekdays at 1130 MYT |
BNM Daily Exchange Rates (exchangerates_daily_1200) | Daily on weekdays at 1200 MYT |
BNM Daily Exchange Rates (exchangerates_daily_1700) | Daily on weekdays at 1700 MYT |
MET Malaysia Weather Forecast (met_weather) | Daily |
DOE APIMS Air Quality (doe_apims) | Hourly |
DOE RQIMS River Water Quality (doe_rqims) | Hourly |
DOE MQIMS Marine Water Quality (doe_mqims) | Monthly |
KKM iDengue (kkm_idengue) | Daily |
OpenDOSM Crime by District (dosm_crime_district) | Annual |
OpenDOSM CPI by State (dosm_cpi_state) | Monthly |
OpenDOSM GDP by State (dosm_gdp_state_real_supply) | Annual |
OpenDOSM Quarterly Real GDP (dosm_gdp_qtr_real) | Quarterly |
OpenDOSM Annual Real GDP by Supply Sector (dosm_gdp_annual_real_supply) | Annual |
OpenDOSM Trade Headline (dosm_trade_headline) | Monthly |
OpenDOSM CPI Inflation by Division (dosm_cpi_inflation) | Monthly |
OpenDOSM Trade by End Use (dosm_trade_enduse_bec) | Monthly |
OpenDOSM Labour Force Statistics (dosm_lfs_qtr) | Quarterly |
OpenDOSM Labour Force Statistics by State (dosm_lfs_qtr_state) | Quarterly |
OpenDOSM Employment by Sector and Sex (dosm_employment_sector) | Annual |
OpenDOSM Population by State (dosm_population_state) | Annual |
OpenDOSM Nominal GDP by Supply Sector (dosm_gdp_annual_nominal_supply) | Annual |
OpenDOSM Quarterly Nominal GDP (dosm_gdp_qtr_nominal) | Quarterly |
OpenDOSM Seasonally Adjusted Real GDP (dosm_gdp_qtr_real_sa) | Quarterly |
OpenDOSM Annual Nominal GDP and GNI (dosm_gdp_gni_annual_nominal) | Annual |
OpenDOSM Core CPI Inflation (dosm_cpi_core_inflation) | Monthly |
OpenDOSM State CPI Inflation (dosm_cpi_state_inflation) | Monthly |
OpenDOSM Producer Price Index (dosm_ppi) | Monthly |
OpenDOSM Annual Labour Force Statistics (dosm_lfs_year) | Annual |
OpenDOSM Monthly Labour Force Statistics (dosm_lfs_month) | Monthly |
OpenDOSM Trade by SITC Section (dosm_trade_sitc_1d) | Monthly |
OpenDOSM Export-Oriented IPI (dosm_ipi_export) | Monthly |
OpenDOSM Domestic-Oriented IPI (dosm_ipi_domestic) | Monthly |
data.gov.my Interest Rates (dgm_interest_rates) | Monthly |
data.gov.my Federal Revenue (federal_finance_qtr_revenue) | Quarterly |
data.gov.my Federal Operating Expenditure (federal_finance_qtr_oe) | Quarterly |
data.gov.my Money Aggregates (dgm_money_aggregates) | Monthly |
data.gov.my Payment Systems (dgm_payments_systems) | Monthly |
data.gov.my Payment Instruments (dgm_payments_instruments) | Monthly |
data.gov.my Payment Channels (dgm_payments_channels) | Monthly |
data.gov.my Annual Interest Rates (dgm_interest_rates_annual) | Annual |
data.gov.my EPF Dividend Rates (epf_dividend) | Annual |
data.gov.my Vehicle Registrations by Type and Fuel (dgm_vehicle_registrations_type_fuel) | Monthly |
data.gov.my FPX Transactions (dgm_payments_transactions_fpx) | Daily |
OpenDOSM Births by State (dosm_birth_state) | Annual |
OpenDOSM Deaths by State (dosm_death_state) | Annual |
OpenDOSM Maternal Deaths by State (dosm_death_maternal_state) | Annual |
OpenDOSM Marriages by State and Sex (dosm_marriages_state) | Annual |
data.gov.my Healthcare Staff (healthcare_staff) | Annual |
data.gov.my Blood Donations by State (blood_donations_state) | Daily |
data.gov.my Infant Immunisation (infant_immunisation) | Annual |
data.gov.my Sexually Transmitted Diseases by State (std_state) | Annual |
data.gov.my PeKaB40 Screenings by State (pekab40_screenings_state) | Daily |
data.gov.my Malaysian National Health Accounts (mnha) | Annual |
data.gov.my Electricity Supply (electricity_supply) | Monthly |
data.gov.my Water Production (water_production) | Annual |
data.gov.my Treated Water Access (water_access) | Annual |
data.gov.my KTMB Ridership (dgm_ktmb_ridership_monthly) | Monthly |
data.gov.my Cellular Subscribers (cellular_subscribers) | Annual |
data.gov.my Prisoners by State and Sex (prisoners_state) | Annual |
data.gov.my Drug Addicts by State and Age (drug_addicts_age) | Annual |
data.gov.my Female Representation in Local Authorities (local_authority_sex) | Annual |
data.gov.my Female Representation in Parliament (parliament_sex) | Annual |
data.gov.my Marine Fish Landings (fish_landings) | Monthly |
data.gov.my Crops by State (crops_state) | Annual |
data.gov.my Schools by District (schools_district) | Annual |
OpenDOSM Household Income, Malaysia (dosm_hh_income) | Biennial to triennial (survey years) |
OpenDOSM Household Income by State (dosm_hh_income_state) | Biennial to triennial (survey years) |
OpenDOSM Household Income by District (dosm_hh_income_district) | Biennial to triennial (survey years) |
OpenDOSM Poverty, Malaysia (dosm_hh_poverty) | Biennial to triennial (survey years) |
OpenDOSM Poverty by State (dosm_hh_poverty_state) | Biennial to triennial (survey years) |
OpenDOSM Poverty by District (dosm_hh_poverty_district) | Biennial to triennial (survey years) |
OpenDOSM Income Inequality, Malaysia (dosm_hh_inequality) | Biennial to triennial (survey years) |
OpenDOSM Income Inequality by State (dosm_hh_inequality_state) | Biennial to triennial (survey years) |
OpenDOSM Income Inequality by District (dosm_hh_inequality_district) | Biennial to triennial (survey years) |
OpenDOSM Household Expenditure by DUN (dosm_hh_expenditure_dun) | Biennial to triennial (survey years) |
OpenDOSM Household Expenditure by Parliament (dosm_hh_expenditure_parlimen) | Biennial to triennial (survey years) |
OpenDOSM Population, Malaysia (dosm_population_malaysia) | Annual |
OpenDOSM Population by Parliament (dosm_population_parlimen) | Annual |
OpenDOSM Deaths by District and Sex (dosm_death_district_sex) | Annual |
OpenDOSM Marriages by State, Age, and Sex (dosm_marriages_state_age) | Annual |
OpenDOSM Fertility (dosm_fertility) | Annual |
OpenDOSM Maternal Deaths, Malaysia (dosm_death_maternal) | Annual |
How to use it
Start with datapulse.json to discover datasets and their
official sources. Follow each health_report link for a plain-language
assessment, or consume the matching file under data/json/ in an automated
workflow.
For example, a data pipeline can inspect status, content_freshness_date, and
freshness_signal_source before processing a source, while a researcher can
review the known quirks before designing a collection method.
Verify before trust
Every dataset in this catalogue ships with a publicly-signed Sigstore
DSSE evidence receipt that an agent can verify offline, without trusting
the DataPulse server. An agent (human or MCP) can obtain, for any dataset,
the full health row + evidence + signed-receipt-verification in three MCP
tool calls or fewer: search_datasets โ verify_dataset โ
get_freshness_summary. The standard offline path is:
cosign verify-blob \
--bundle https://www.data-pulse.my/data/fuelprice.receipt.sigstore.json \
--certificate-identity 'https://github.com/r3dz4r/datapulse-my/.github/workflows/deploy-cloudflare-pages.yml@refs/heads/main' \
--certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
--certificate-github-workflow-repository r3dz4r/datapulse-my \
--certificate-github-workflow-ref refs/heads/main \
--certificate-github-workflow-name "Datapulse MY canonical Pages" \
fuelprice
For the portfolio-level health bundle, verify
/signatures/health.latest.sigstore.json with the exact companion manifest
at /signatures/datapulse.json. That signed-manifest snapshot is distinct
from /datapulse.json, the current discovery manifest: the latter can change
when generated metadata is refreshed. A valid signature proves the integrity
of DataPulse's attested observation, not that upstream data is semantically
true. Every refresh publishes signed bundles to the public Rekor log.
See notes/2026-08-30-phase-5-verify-before-trust-sovereignty-one-pager.md for the full positioning one-pager (sovereignty framing, no-competitor gap, distribution status).
Monitoring
- The VPS
datapulse-health.timerwakes every 5 minutes and runs only the datasets whose cadence tier is due. - GitHub Actions performs a full weekly probe as a fallback and republishes the generated health, badge, feed, README, catalog snapshot, and delta artifacts.
- RSS feed โ available.
- Status badges โ available.
- More datasets โ planned.
Adopt a dataset
Know a Malaysian public dataset that deserves dependable health metadata? Adopt it: verify its source and licence, document its schema and quirks, and submit a health report. See CONTRIBUTING.md for the expected three-file contribution model.
New contributors can start with the repository's
Good first issues
or propose a dataset through the GitHub issue forms. Maintainers use
good first issue (yellow), adopt-a-dataset (blue), freshness-check
(blue), bug (red), documentation (blue), question (purple), and
wontfix (gray) to route contributions.
Licence
DataPulse MY is released under the MIT License. Source datasets remain subject to the licences and attribution requirements stated in their individual health reports.
Privacy
See PRIVACY.md for what DataPulse collects (transient operational logs for rate limiting and usage aggregation) and what it does not collect (no credentials, no accounts, no personal data).
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Fetch
Freeby Modelcontextprotocol ยท Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol ยท Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno ยท Developer Tools
Toleno Network MCP Server โ Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace ยท Developer Tools
Create, build, and publish Python MCP servers to PyPI โ conversationally.
MCP Marketplace
Freeby mcp-marketplace ยท Developer Tools
Search and install MCP servers from inside your AI client.
MarkItDown
Freeby Microsoft ยท Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
