Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AIFire in da houseCheck it out free

datagov-mcp

MCP.Pizza Chef: aviveldan

datagov-mcp is an MCP server that enables seamless interaction with Israel's government public data API (data.gov.il). It provides structured, real-time access to a wide range of public datasets, facilitating integration into AI workflows and applications. Designed for easy installation and use with tools like Claude Desktop and MCP Inspector, it supports developers and organizations needing reliable government data access.

Use This MCP server To

Query Israeli government public datasets via MCP protocol Integrate Israel public data into AI-driven applications Enable real-time access to government statistics and reports Automate retrieval of public sector data for analysis Combine government data with LLM workflows for insights Test and debug government data queries using MCP Inspector

README

DataGov Israel MCP Server

Easily interact with the Israeli Government Public API (data.gov.il) using this project.


Quick Start

Requirements

uv

This project uses the uv package manager, a drop-in replacement to pip.

Installation

  1. Clone the repository:
    git clone <repository-url>
    cd datagov-mcp
  2. Install dependencies (for windows users - refrain from running this script in folders watched by onedrive):
    uv venv
    .venv\Scripts\activate  # source .venv/bin/activate for MacOS / Linux
    uv pip install -r pyproject.toml
    uv lock # update the project's lockfile

Usage

You can install this server in Claude Desktop and interact with it right away by running:

fastmcp install server.py

Alternatively, you can test it with the MCP Inspector:

fastmcp dev server.py

If client / server ports are busy, you can easily free them using nano-dev-utils:

uv pip install nano-dev-utils

in terminal type 'python', and then run the following code:

from nano_dev_utils import release_ports 
pr = release_ports.PortsRelease()
pr.release_all()

type exit() to get back to terminal. Alternatively run the above code as a script.

Available Tools

  • status_show - Display the current status of the server
  • license_list - List all available licenses
  • package_list - List all available packages
  • package_search - Search for packages with various filters
    • Required arguments:
      • q (string): Query string to search for
      • fq (string): Filter query
      • sort (string): Sorting order
      • rows (int): Number of rows to return
      • start (int): Starting index
      • include_private (bool): Include private packages
  • package_show - Show details of a specific package
    • Required arguments:
      • id (string): ID of the package
  • organization_list - List all organizations
  • organization_show - Show details of a specific organization
    • Required arguments:
      • id (string): ID of the organization
  • resource_search - Search for resources with various filters
    • Required arguments:
      • query (string): Query string to search for
      • order_by (string): Order by field
      • offset (int): Offset for pagination
      • limit (int): Limit for pagination
  • datastore_search - Search the datastore with various filters
    • Required arguments:
      • resource_id (string): ID of the resource
      • q (string): Query string to search for
      • distinct (bool): Return distinct results
      • plain (bool): Return plain results
      • limit (int): Limit for pagination
      • offset (int): Offset for pagination
      • fields (string): Fields to include in the result
      • sort (string): Sorting order
      • include_total (bool): Include total count
      • records_format (string): Format of the records
  • fetch_data - Fetch data from public API based on a dataset name query
    • Required arguments:
      • dataset_name (string): Name of the dataset
      • limit (int): Number of records to fetch
      • offset (int): Offset for pagination

Contributing

We welcome contributions to help improve the DataGov Israel MCP server. Whether you want to add new tools, enhance existing functionality, or improve documentation, your input is valuable.

For examples of other MCP servers and implementation patterns, see the Model Context Protocol servers repository.

License

This project is licensed under the MIT License. See the LICENSE file for details.

datagov-mcp FAQ

How do I install datagov-mcp?
Clone the repository, set up a Python virtual environment using uv, install dependencies with uv pip, and run the server with fastmcp.
Can I use datagov-mcp with Claude Desktop?
Yes, you can install and run the server directly within Claude Desktop for immediate interaction.
What is the uv package manager used for?
uv is a drop-in replacement for pip used to manage Python dependencies in datagov-mcp.
How do I test datagov-mcp without full integration?
Use the MCP Inspector tool with the command 'fastmcp dev server.py' to test the server locally.
Is datagov-mcp limited to Israeli government data?
Yes, it specifically provides structured access to data from Israel's government public API (data.gov.il).
What programming languages or environments does datagov-mcp support?
It is Python-based and designed to run in environments supporting Python and MCP protocol clients like Claude Desktop.
Can datagov-mcp be integrated with other LLM providers?
Yes, it is provider-agnostic and can be used with OpenAI, Claude, Gemini, and other LLMs supporting MCP.