datasaudi-mcp

datasaudi-mcp

Ask about the Saudi economy in plain English or Arabic. No API key or database required.

Category
Visit Server

README

<!-- mcp-name: io.github.mohsinmshabbir/datasaudi-mcp -->

<div align="center">

datasaudi-mcp

Ask Claude, Cursor, or any MCP client about the Saudi economy — in plain English or Arabic. No API key. No database.

PyPI MCP Registry License: MIT Python 3.12+ CI

<br/>

Ask it  ·  Coverage  ·  Install  ·  العربية  ·  Tools

</div>


GDP, inflation, trade, population, the real‑estate price index — 277 official GASTAT datasets, live from DataSaudi, answered right inside your AI client. You never name a dataset; the model finds it.

Here it is in Claude Desktop — one plain‑English question, and the model finds the dataset, pulls Riyadh's real‑estate price index against the national trend, and charts it:

datasaudi-mcp answering a question in Claude Desktop


Ask it anything

Connect it in about 2 minutes (Install), then just ask:

💬  "What was the real‑estate price index in Riyadh by quarter, and how does it compare to the national trend?"

💬  "Who are Saudi Arabia's top trading partners? Break foreign trade down by country and exports vs. imports."

🇸🇦  "اعرض الرقم القياسي لأسعار العقارات في الرياض حسب الربع"   — ask in Arabic, get Arabic back (الرياض, مكة المكرمة). See Arabic support.

The model discovers the right dataset, pulls the numbers, and answers. You don't need to know any dataset names or query syntax.

<details> <summary><b>More example prompts</b></summary>

<br/>

  • "Show me inflation and the CPI by province for the latest year — which regions were highest?"
  • "How has the real‑estate price index differed between villas and apartments over time?"
  • "What's the population by province, split by sex and nationality (Saudi vs. non‑Saudi)?"
  • "Show me real GDP by economic sector, quarter over quarter, with year‑on‑year growth."
  • "Compare average monthly wages: Saudi vs. non‑Saudi, and men vs. women."

</details>


What you can ask about

277 curated GASTAT / DataSaudi datasets. Every query hits the live API, so the numbers are as current as GASTAT publishes.

<table> <tr> <td width="50%" valign="top">

📈 Economy

GDP (sector / expenditure / activity), CPI & inflation (national + by province), the Producer Price Index, FDI, foreign trade (country / product / flow), the trade balance, business & consumer confidence.

</td> <td width="50%" valign="top">

👥 Society

Population (province / sex / nationality / age), households & dwellings, wages, employment & participation rates, education, health, disability.

</td> </tr> <tr> <td width="50%" valign="top">

🏗️ Real estate

The price index by province and property type (villa / apartment / land), building permits, the construction cost index, housing tenure & type.

</td> <td width="50%" valign="top">

🌍 More

Tourism & hotel occupancy, energy & water, Hajj & Umrah, SAMA financial series, internationally‑reported (World Bank / UN) indicators.

</td> </tr> </table>

[!IMPORTANT] Where it stops — on purpose. A data tool you can trust tells you its edges.

  • Serves the real‑estate price index (base‑year 100) — not per‑deal prices in riyals (those live in MoJ / Srem).
  • No MoJ transaction volumes, no REGA, no municipal / ZATCA / CMA data, no microdata. This is the ~277‑series headline‑indicator layer, not the full national corpus.
  • Geographic detail stops at the province level for most series — no city / district breakdown.

Ask for something outside this and the server says so plainly, rather than guessing.


Install

No API key, nothing to configure — DataSaudi is keyless. You'll need uv installed.

Claude Code — one line, no file editing:

claude mcp add datasaudi -- uvx datasaudi-mcp

<details> <summary><b>Claude Desktop</b></summary>

<br/>

Settings → Developer → Edit Config, add the block below, then completely quit and reopen Claude Desktop (fully quit from the tray — not just close the window):

{
  "mcpServers": {
    "datasaudi": {
      "command": "uvx",
      "args": ["datasaudi-mcp"]
    }
  }
}

</details>

<details> <summary><b>Cursor</b></summary>

<br/>

Settings → Tools & MCP → New MCP Server (or edit ~/.cursor/mcp.json), same block:

{
  "mcpServers": {
    "datasaudi": {
      "command": "uvx",
      "args": ["datasaudi-mcp"]
    }
  }
}

</details>

Then ask one of the questions above.


Arabic support

Saudi data in Arabic, as a first‑class feature — not an afterthought.

  • Ask in Arabic, get Arabic back. Member names return in Arabic script: الرياض for Riyadh, مكة المكرمة for Makkah, المنطقة الشرقية for the Eastern Region.
  • Catalog search works in Arabic too — an Arabic term matches the datasets' Arabic topic / source annotations.
  • Numbers and structure are identical across languages — only the human‑readable captions change.

The tools

Three tools do the work; the model calls them for you.

Tool What it does
list_cubes Search the 277‑dataset catalog by keyword (English or Arabic).
describe_cube Show one dataset's breakdown dimensions and measures.
query_cube Run a validated query and return tidy rows — with the query echoed back and honest paging.

<details> <summary><b>Troubleshooting — "datasaudi" doesn't show up</b></summary>

<br/>

  • Did you fully quit and reopen the app? (Closing the window isn't enough — quit from the tray.)
  • Is your config valid JSON? A stray comma breaks the whole file — paste it into a JSON validator.
  • Is uv installed and on your PATH? Run uvx --version in a terminal.
  • Check the client's MCP / tools panel for an error message next to datasaudi.

</details>

<details> <summary><b>Data source & freshness</b></summary>

<br/>

Data comes live from api.datasaudi.sa (the DataSaudi Tesseract API, operated by the Ministry of Economy & Planning; data produced by GASTAT). The server holds no local copy — every query is fetched fresh, so results are always as current as DataSaudi itself. Only the lightweight dataset catalog is cached in memory for the session.

DataSaudi's data‑usage terms are set by its operator; this project is an independent open‑source client and attributes GASTAT / MEP as the source. Please review DataSaudi's terms for your use case.

</details>


Contributing

Contributions welcome — see CONTRIBUTING.md. To develop locally:

git clone https://github.com/mohsinmshabbir/datasaudi-mcp
cd datasaudi-mcp
uv sync --all-extras
uv run pytest -m "not live"    # offline test suite
uv run pytest -m live          # optional: hits the real API

License

MIT — see LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured