Skip to main content
Glama
raheb77

io.github.raheb77/saudi-open-data-mcp

by raheb77

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CACHE_DIRNoDirectory for cache storage/var/lib/saudi-open-data-mcp/cache
LOG_LEVELNoLogging level (e.g., DEBUG, INFO, WARNING, ERROR)ERROR
SNAPSHOT_DIRNoDirectory for snapshot storage/var/lib/saudi-open-data-mcp/snapshots
REGISTRY_PATHNoPath to the SQLite registry database/var/lib/saudi-open-data-mcp/registry.sqlite
SAMA_BASE_URLNoBase URL for SAMA data sourcehttps://www.sama.gov.sa
HTTP_AUTH_ROLENoRole for HTTP authorizationoperator
HTTP_AUTH_TOKENYesBearer token for HTTP authentication (required for HTTP mode)
DATA_GOV_SA_BASE_URLNoBase URL for data.gov.sa data sourcehttps://open.data.gov.sa
HTTP_AUTH_CAPABILITIESNoCapabilities for HTTP authorizationread,refresh,materialize
TIER_A_REFRESH_ENABLEDNoEnable Tier A background refreshfalse
TIER_A_REFRESH_INTERVAL_SECONDSNoInterval for Tier A refresh in seconds3600

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
tasks
{
  "list": {},
  "cancel": {},
  "requests": {
    "tools": {
      "call": {}
    },
    "prompts": {
      "get": {}
    },
    "resources": {
      "read": {}
    }
  }
}
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
dataset_metadataC

Exact registry metadata lookup by dataset_id.

dataset_healthA

Exact registry-backed health lookup by dataset_id, with local snapshot freshness evidence when available.

download_datasetA

Report local raw snapshot availability for an exact dataset_id. Local-only; no remote fetch.

materialize_hot_setA

Fetch and persist the fixed Wave 1 SAMA hot-set into local snapshots. Tier B remains opt-in via include_optional.

query_datasetA

Query local canonical records for an exact dataset_id using exact-match filters only. Local-only; no remote fetch.

search_datasetsA

Search registry-backed dataset metadata using deterministic substring matching only.

preview_datasetB

Fetch and preview a dataset for an exact registry dataset_id.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
catalogRegistry-backed summary of the initial seeded dataset catalog.
observabilityRead-only grouped process-local observability counters for internal operators. This is not a health claim or an external metrics API.
policiesRead-only summary of current data-facing MCP semantics, including the decision to keep query local/deterministic and preview hybrid.

TDQS

A3.7/5.0

Scored across 7 tools

Disambiguation5/5

Each tool serves a distinct function: preview, metadata lookup, health check, download availability, materialization, local query, and search. No two tools have overlapping purposes; even preview vs. query are clearly separated by remote vs. local scope.

Naming Consistency4/5

Most tools follow a verb_noun pattern (preview_dataset, download_dataset, query_dataset, search_datasets, materialize_hot_set), but dataset_metadata and dataset_health are noun_noun, creating a minor inconsistency. Still, the pattern is readable and predictable overall.

Tool Count5/5

Seven tools is well-scoped for a data access server covering search, metadata, preview, health, download, and local query. Each tool has a clear role with no redundancy, fitting the typical 3-15 range.

Completeness5/5

The surface covers the full lifecycle for a data consumer: discovery (search), inspection (metadata, preview, health), acquisition (download, materialize), and local analysis (query). There are no obvious dead ends, and the server's read-only purpose is fully served.

Maintenance

ActivityStale
ResponsivenessUnresponsive