Skip to content

Core server for exposing India’s open government data (data.gov.in) APIs via the Model Context Protocol, powering agentic AI data exploration.

License

Notifications You must be signed in to change notification settings

the-data-gateway-initiative/datagovin-mcp-server

Repository files navigation

datagovin-mcp-server

Core server for exposing India’s open government data (data.gov.in) APIs via the Model Context Protocol, powering agentic AI data exploration.

Setup Instructions

Clone the repository

git clone <repo-url>
cd datagovin-mcp-server

Create a virtual environment

python -m venv venv
source venv/bin/activate  # On Windows use `venv\Scripts\activate`

Install dependencies

pip install -e .[dev]

Configure environment variables

  1. Copy the example environment file to create your own .env file.

    cp .env.example .env
  2. Open the .env file and set your Data.gov.in API key.

    API_KEY=your_actual_api_key_here
  3. (Optional) If you have a Redis server running elsewhere, update the REDIS_HOST and REDIS_PORT values in the .env file.

Development & Testing

Code Quality Checks

Run these commands to ensure code quality and stability.

Task Command
Type Checking mypy
Unit Tests pytest
Formatting black .
Linting ruff check

Start the server

You can manually start the server to verify it runs without errors before connecting a client.

python -m datagovin_mcp_server.main

MCP Server Integration & Debugging

There are two ways to interact with and test your MCP server: the MCP Inspector (for debugging) and VS Code (for agent integration).

A. Testing with the MCP Inspector (Debugging)

The MCP Inspector provides an interactive web UI to test your tools, resources, and prompts directly, similar to Postman for REST APIs.

  1. Start the Inspector Proxy The Inspector requires Node.js to run its proxy. This command will launch the web UI in your browser at http://localhost:6274.

    npx @modelcontextprotocol/inspector

Note

Assumes that you have Node.js installed. If not, please install it from nodejs.org.

  1. Connect to Your Server In the Inspector UI, go to the Connection panel on the left and enter the following settings to connect via stdio:
  • Transport: stdio

  • Command: The full absolute path to your Python executable. For example: E:\Fill\With\Your Own Path\datagovin-mcp-server\.venv\Scripts\python.exe

  • Arguments: -m datagovin_mcp_server.main stdio

The Inspector will automatically start and stop your Python server as needed for testing.

B. Integrating with VS Code (GitHub Copilot)

To allow GitHub Copilot's agent mode to use your server, you must configure a local MCP server connection in VS Code.

  1. Create Configuration File

    Create a file named .vscode/mcp.json in your project root to store the workspace-specific configuration.

    Alternatively, you can use the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and select "MCP: Open User Configuration" to add the configuration directly to your workspace settings.

  2. Add Server Configuration Paste the following JSON configuration into your newly created .vscode/mcp.json file. This uses the absolute path to your virtual environment's Python executable.

    {
        "servers": {
            "datagovin-mcp-server": {
                "type": "stdio",
                "command": "E:\\\\Fill\\\\With\\\\Your Own Path\\\\datagovin-mcp-server\\\\.venv\\\\Scripts\\\\python.exe",
                "args": [
                    "-m",
                    "datagovin_mcp_server.main",
                    "stdio"
                ]
            }
        },
        "inputs": []
    }

Warning

ACTION REQUIRED: You must update the command value to the absolute path of your Python executable in your local .venv/Scripts directory. The example path above is a placeholder.

  1. Use the Server in Copilot Chat

    • Ensure the GitHub Copilot extension is installed.

    • Open Copilot Chat (Ctrl+Alt+I / Cmd+Shift+P -> Copilot Chat).

    • Switch to Agent Mode.

    • Click the Tools icon (🛠️) and ensure the datagovin-mcp-server is listed and enabled.

    • Ask a question that requires your server's tools to test the live agent integration

Contributing

Check out the CONTRIBUTING.md file for guidelines on how to contribute to this project.

About

Core server for exposing India’s open government data (data.gov.in) APIs via the Model Context Protocol, powering agentic AI data exploration.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages