Core server for exposing India’s open government data (data.gov.in) APIs via the Model Context Protocol, powering agentic AI data exploration.
git clone <repo-url>
cd datagovin-mcp-serverpython -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`pip install -e .[dev]-
Copy the example environment file to create your own
.envfile.cp .env.example .env
-
Open the
.envfile and set your Data.gov.in API key.API_KEY=your_actual_api_key_here
-
(Optional) If you have a Redis server running elsewhere, update the
REDIS_HOSTandREDIS_PORTvalues in the.envfile.
Run these commands to ensure code quality and stability.
| Task | Command |
|---|---|
| Type Checking | mypy |
| Unit Tests | pytest |
| Formatting | black . |
| Linting | ruff check |
You can manually start the server to verify it runs without errors before connecting a client.
python -m datagovin_mcp_server.mainThere are two ways to interact with and test your MCP server: the MCP Inspector (for debugging) and VS Code (for agent integration).
The MCP Inspector provides an interactive web UI to test your tools, resources, and prompts directly, similar to Postman for REST APIs.
-
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.
- 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.
To allow GitHub Copilot's agent mode to use your server, you must configure a local MCP server connection in VS Code.
-
Create Configuration File
Create a file named
.vscode/mcp.jsonin 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. -
Add Server Configuration Paste the following JSON configuration into your newly created
.vscode/mcp.jsonfile. 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.
-
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
-
Check out the CONTRIBUTING.md file for guidelines on how to contribute to this project.