Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HOSTYesMCP server bind host.127.0.0.1
MCP_PORTYesMCP server port.8788
DATA_BASEYesPublished DataPulse base URL.https://www.data-pulse.my
DATAPULSE_MCP_SOURCE_SHAYesExact DataPulse repository commit used by this build.
DATAPULSE_MCP_SOURCE_DATEYesUTC date of the pinned repository commit.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_datasetsA

Use for discovery only: find DataPulse's 418 Malaysian public datasets by topic, source, or licence—for example, 'Malaysian public data inflation', licence and attribution, or a government dataset source. Returns ranked matches with id, title, source, licence, published status, and score. This is not trust verification: a status is published pipeline context, not proof that a dataset is current or reliable. For pre-trust use search_datasets → verify_dataset → get_provenance. Use it to discover candidates; do not use it for a trust decision—use verify_dataset instead. It reads published catalogue data, so no match means the published catalogue has no matching entry; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

get_datasetA

Return full detail for one dataset id, including its latest health status and last-verified timestamp, content_freshness_date, and freshness_signal_source (last_modified, content_parse, or none). Use to fetch the provenance/citation metadata for a dataset found via search_datasets and distinguish unknown-freshness from proven stale data. Use it for one dataset's current published detail; do not use it for citation context or a Passport—use get_provenance or get_data_passport instead. It reads published data, so an absent health row is reported as unknown rather than probed live; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

get_data_passportA

Return one bounded, machine-readable Dataset Passport v1 for a canonical dataset ID. It reads the published Passport artifact only; it does not fetch an upstream source or create evidence. The Passport describes observed metadata and evidence availability, not semantic truth, completeness, certification, legal permission, safety, or AI admission. Use it for the bounded Passport artifact; do not use it for current health detail or citation context—use get_dataset or get_provenance instead. It reads precomputed published data, and evidence_available=false identifies an unavailable or unsupported Passport; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

find_staleA

Return datasets whose status is aging, stale, or degraded, plus datasets missing from the latest health snapshot. Use when an agent needs to know which data has a freshness or schema-validity risk. Use it to enumerate freshness or schema-risk candidates; do not use it for anomalies, trends, reliability, or drift—use find_anomalies, find_deteriorating, find_unreliable, or find_schema_drift instead. It reads the published health snapshot, so an empty result means no rows met this snapshot-based rule; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

find_anomaliesA

Return datasets flagged by the latest published anomaly detection (anomalies), ranked by how far the observed update interval exceeds its threshold. Optionally require a minimum publish-reliability grade; includes pipeline-computed anomaly and reliability evidence so agents do not recompute it. Use it for unusual update intervals; do not use it for worsening freshness, recovery, reliability grades, or structural drift—use find_deteriorating, find_recovering, find_unreliable, or find_schema_drift instead. It reads precomputed anomaly data, so an empty result means no published row survives the selected filters; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

find_deterioratingA

Return datasets whose published freshness trend is deteriorating, ranked by staleness slope. Optionally require a minimum historical anomaly rate; includes pipeline-computed trend and reliability evidence so agents do not recompute it. Use it for worsening freshness trends; do not use it for anomalies, recovery, reliability grades, or structural drift—use find_anomalies, find_recovering, find_unreliable, or find_schema_drift instead. It reads precomputed trend data, so an empty result means no published deteriorating row survives the selected filters; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

find_recoveringA

Return datasets whose published freshness trend is recovering, with the fastest staleness reductions first. Includes pipeline-computed trend and publish-reliability evidence. Use it for improving freshness trends; do not use it for deterioration, anomalies, reliability grades, or structural drift—use find_deteriorating, find_anomalies, find_unreliable, or find_schema_drift instead. It reads precomputed trend data, so an empty result means no published recovering row exists; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

find_unreliableA

Return datasets whose evaluated publish-reliability grade is at or below a threshold (the unreliable ones), with the worst grades and lowest on-time percentages first. Reliability measures timeliness of successful freshness observations, not uptime; sample days are included so agents can judge evidence depth. Use it for timeliness reliability grades; do not use it for individual anomalies, trends, or structural drift—use find_anomalies, find_deteriorating, find_recovering, or find_schema_drift instead. It reads precomputed reliability data, so an empty result means no published grade meets the threshold; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

find_schema_driftA

Return datasets with published structural or record-count drift evidence, ranked with structural changes first. Optionally require a minimum number of structural transitions; includes pipeline-computed evidence so agents do not infer drift from freshness alone. Use it for structural or record-count changes; do not use it for freshness risk, anomalies, trends, or reliability—use find_stale, find_anomalies, find_deteriorating, or find_unreliable instead. It reads precomputed drift data, so an empty result means no published drift row survives the selected filters; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

check_reconciliationA

Return the published cross-source reconciliation group for a dataset name or id, including per-member counts, dates, statuses, tolerances, and contextual deltas. A discrepancy requires human review and does not prove either source is wrong. Use it to compare a dataset with its published cross-source group; do not use it for provenance or evidence receipts—use get_provenance or get_evidence instead. It reads precomputed reconciliation data, and single_source means no group contains the resolved dataset; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

get_provenanceA

Use when asked 'can I cite this source?', for licence and attribution, or for citation-ready provenance. Returns source, steward, licence/attribution context, canonical URL, and compact published evidence context: probe time, transport, access dependency, freshness signal, schema drift / record-count drift context, anomaly flag, and status. Bind a citation to dataset identity, source/evidence URL, observed-at or last-checked time, DataPulse status/verdict, licence/attribution, and a receipt/evidence digest when available. You may cite the returned provenance and describe its published evidence; it is not a freshness guarantee and does not itself verify the source is current. For pre-trust use search_datasets → verify_dataset → get_provenance. Use it for citation-ready provenance; do not use it for full evidence or a live comparison—use get_evidence or verify_evidence instead. It reads published evidence context, so absent fields mean the pipeline did not publish that value; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

get_evidenceA

Use for a deep evidence audit or to inspect a provenance and evidence receipt. Returns the complete published evidence receipt for one dataset: probe time, transport, access dependency, freshness, schema drift / record-count drift, tolerance, status, anomaly fields, and receipt/evidence references. It reads published pipeline evidence, not a live source fetch: you may report what the pipeline observed, but must not infer the source is currently reachable or semantically true. Use it for a deep audit before or alongside verification. search_datasets → get_evidence → verify_evidence → verify_attestation. Use it for a complete published receipt; do not use it for a live transport check or signature verification—use verify_evidence or verify_attestation instead. It reads precomputed evidence, so evidence_available=false means no published health row; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

verify_datasetA

This is the preferred single-call pre-trust check for 'is this dataset current?', stale, unknown-freshness, degraded, or browser-dependent questions, and whenever an agent must verify before relying on data. Returns dataset metadata, published evidence and fail-closed signed receipt verification with artifact references. It verifies published artifacts, not a live source check: you may infer whether their receipt verifies, but must not infer current upstream availability or semantic truth. Use search_datasets → verify_dataset → get_provenance. Use it for one published pre-trust check; do not use it for a live transport comparison or attestation-chain verification—use verify_evidence or verify_attestation instead. It verifies precomputed published artifacts, so a failed check does not identify current upstream availability; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

get_freshness_summaryA

Return a freshness-at-a-glance summary of the published catalogue: fresh, aging, stale, and reference counts plus the latest health check time. Use it for catalogue-level freshness context; do not use it to enumerate affected datasets—use find_stale instead. It reads the latest published snapshot, so missing counts or check time mean the artifact omitted them; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

verify_evidenceA

Use when a fresh, rate-limited live-vs-published comparison is needed for a direct-access dataset, for example after asking whether a government dataset is reachable now. Performs a rate-limited live GET and returns comparable transport receipts plus a match, mismatch, unreachable, or not_verifiable verdict. This live check is an observation, not semantic truth: it does not recompute content dates, record counts, or shape fingerprints. Results are ephemeral and do not update published health artifacts. For a deep audit use search_datasets → get_evidence → verify_evidence → verify_attestation. Use it for a live transport comparison; do not use it for published receipt integrity or signed-attestation verification—use verify_dataset or verify_attestation instead. An unreachable or not_verifiable verdict reports that this live comparison could not establish a match, while cached results are still ephemeral; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

trust_verdictA

Return published attestation facts, the unsigned methodology-versioned trust score, numeric components, and component_availability reasons, plus existing health/trend/drift/reconciliation evidence for one canonical dataset id, e.g. 'fuelprice'. This tool does not re-probe or verify the signature; call verify_attestation separately. Use it to assemble the published trust view; do not use it for receipt verification, live comparison, or signature verification—use verify_dataset, verify_evidence, or verify_attestation instead. It reads precomputed artifacts, so missing component availability explains omitted evidence rather than a live probe; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

verify_attestationA

Use to verify a signed published probe attestation after an evidence audit. Returns L1 signature, key, time, and chain-link checks; optional L2 replay of daily heads to a Git-tag anchor; and L3 scope, which requires verify_evidence for live transport. A valid signature proves attestation integrity and scope, not upstream semantic truth or currentness. For a deep audit use search_datasets → get_evidence → verify_evidence → verify_attestation. Use it for signed-attestation integrity; do not use it for published receipt verification, a live transport comparison, or an aggregate verdict—use verify_dataset, verify_evidence, or trust_verdict instead. L2 is not run unless replay_chain is set, and a failed level reports an unsatisfied check rather than upstream semantic truth; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

find_by_licenceA

Return all datasets with the given licence, summarised. Use to enumerate what's available under a specific licence for compliance/reuse scoping. Use it to enumerate one licence; do not use it to discover by topic or inspect a dataset's citation context—use search_datasets or get_provenance instead. It reads published manifest data, so an empty list means no published dataset has the resolved licence; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

usage_summaryA

Aggregate anonymous tool usage for an inclusive ISO date range, e.g. 2026-08-01 to 2026-08-07. Returns total_calls, by_outcome, by_tool, by_dataset, trust_verdict_calls (the count of trust_verdict records regardless of outcome or result shape), and trust_distribution (counts of returned trust verdicts by published score band: 90-100, 75-89, 50-74, 25-49, 0-24) for the inclusive range. Use it for aggregate tool activity; do not use it to find data-quality risks—use find_stale, find_anomalies, find_deteriorating, find_recovering, find_unreliable, or find_schema_drift instead. It reads persisted usage records, so zero totals mean no retained records in that range; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
dataset_indexRead first; lightweight list of all DataPulse dataset ids with current status, title, source, licence, and namespace.
anomaly_resourceDatasets flagged by the latest published anomaly detection, ranked by severity with pipeline-computed evidence.
trend_resourcePublished per-dataset freshness trends and publish-reliability evidence, including methodology and aggregate counts.
reliability_summaryLive count of DataPulse datasets by evaluated publish-reliability grade; reliability is timeliness, not uptime.
drift_resourcePublished per-dataset schema and record-count drift evidence, including methodology and aggregate verdict counts.
reconciliation_resourcePublished cross-source reconciliation groups with pairwise count, date, status, tolerance, and verdict evidence.
attestation_resourceLatest signed probe attestation index and daily chain head.
licence_summaryLive count of DataPulse datasets grouped by licence.

TDQS

A4.3/5.0

Scored across 19 tools

Disambiguation3/5

The find_* family is clearly distinct, but there is meaningful overlap among get_dataset, get_data_passport, get_provenance, get_evidence, verify_dataset, trust_verdict, and verify_attestation, all of which return related trust/evidence information. The descriptions use explicit 'use X not Y' guidance, yet an agent could still misselect, especially since get_dataset itself mentions provenance/citation metadata.

Naming Consistency4/5

Names are uniformly lowercase snake_case and mostly follow a verb_noun pattern like search_datasets, find_stale, and verify_evidence. A few names such as usage_summary and trust_verdict are noun-phrase style, but the overall convention is predictable and readable.

Tool Count3/5

With 19 tools, the server sits in the 16-25 range that feels heavy. Many tools are narrowly scoped variants of finding risk signals or verifying evidence, so the surface could plausibly be consolidated without losing much functionality.

Completeness5/5

For a read-only data-trust server, the surface is remarkably complete: discovery, metadata, freshness summaries, stale/anomaly/trend/reliability/drift detection, reconciliation, provenance, evidence receipts, live verification, attestation, trust verdicts, and licence filtering are all present. No obvious dead ends or missing lifecycle operations for the stated domain.

Maintenance

ActivityActive
ResponsivenessSlow