Skip to main content
Glama
nso-india

MoSPI MCP Server

Official
by nso-india

MoSPI MCP Server

License: MIT Python 3.11+ FastMCP MCP Server Tests

MCP (Model Context Protocol) server for accessing India's Ministry of Statistics and Programme Implementation (MoSPI) data APIs. Built with FastMCP 3.3.


Table of Contents


Related MCP server: MoSPI MCP Server

Overview

This server provides AI-ready access to official Indian government statistics through the Model Context Protocol (MCP). It acts as a bridge between AI assistants (Claude, ChatGPT, Cursor, etc.) and MoSPI's open data APIs, enabling natural language queries for economic, demographic, and social indicators.

Key Features:

  • Following statistical datasets covering employment, unemployment, inflation, industrial and services production, GDP and national accounts, energy and renewable energy, higher and school education, gender, health and nutrition, disability, housing and sanitation, household consumption and expenditure, time use, agriculture and livestock, land holdings, debt and investment, AYUSH, environment and climate, banking and financial statistics, economic census, unincorporated enterprises, telecom and digital connectivity.

  • Sequential 4-tool workflow designed for LLM consumption

  • Swagger-driven parameter validation

  • Full OpenTelemetry integration for observability

  • Production-ready Docker deployment


Dataset Reference

Sr. No.

Dataset

Full Name

Use For

1

PLFS

Periodic Labour Force Survey

Employment, unemployment, labour force participation, worker population ratio, wages, employment by industry and occupation

2

CPI

Consumer Price Index

Retail inflation, cost of living, inflation by commodity group, state-wise and rural/urban price indices

3

IIP

Index of Industrial Production

Industrial growth, manufacturing output, mining, electricity generation, sector-wise production indices

4

ASI

Annual Survey of Industries

Factory performance, industrial employment, wages, fixed capital, output, value added, productivity

5

NAS

National Accounts Statistics

GDP, GVA, national income, sector-wise economic growth, savings, capital formation

6

WPI

Wholesale Price Index

Wholesale inflation, producer prices, commodity price indices, inflation trends

7

ENERGY

Energy Statistics

Energy production, consumption, installed capacity, fuel mix, energy intensity, renewable energy statistics

8

AISHE

All India Survey on Higher Education

Universities, colleges, enrolment, teachers, Gross Enrolment Ratio (GER), Gender Parity Index (GPI), higher education infrastructure

9

ASUSE

Annual Survey of Unincorporated Sector Enterprises

Unincorporated enterprises, MSMEs, employment, output, value added, informal sector statistics

10

GENDER

Gender Statistics

Gender indicators, women empowerment, sex ratio, labour participation, education, health, crimes against women

11

NFHS

National Family Health Survey

Fertility, family planning, maternal and child health, nutrition, infant mortality, health indicators

12

ENVSTATS

Environment Statistics

Climate, biodiversity, forests, air and water quality, environmental resources, pollution indicators

13

RBI

RBI Statistics

Banking, money supply, foreign exchange reserves, exchange rates, balance of payments, external sector, financial indicators

14

NSS77

NSS 77th Round – Land and Livestock Holdings

Agricultural households, land holdings, livestock ownership, crop insurance, farming assets

15

NSS77A

All India Debt and Investment Survey (AIDIS) – NSS 77th Round

Household assets, liabilities, debt, investment, borrowing patterns, wealth distribution

16

NSS78

NSS 78th Round – Multiple Indicator Survey

Drinking water, sanitation, housing amenities, migration, digital connectivity, household living conditions

17

CPIALRL

Consumer Price Index for Agricultural and Rural Labourers

Rural inflation, agricultural labourer cost of living, rural wage index, inflation trends

18

HCES

Household Consumption Expenditure Survey

Household consumption, expenditure patterns, poverty estimation, inequality, consumer behaviour

19

TUS

Time Use Survey

Time allocation, unpaid care work, paid work, household activities, gender time-use patterns

20

EC

Economic Census

Establishments, enterprises, employment, ownership, economic activity, district-wise business statistics

21

NSS79

NSS 79th Round – Survey on AYUSH

AYUSH awareness, AYUSH utilisation, treatment preferences, expenditure on AYUSH services

22

NSS79C

Comprehensive Annual Modular Survey (CAMS) – NSS 79th Round

Education, health expenditure, financial inclusion, digital literacy, household living conditions

23

UDISE

UDISE+ (Unified District Information System for Education Plus)

Schools, enrolment, dropout, teachers, PTR, GER, NER, GPI, CWSN, ICT facilities, school infrastructure

24

MNRE

Renewable Energy Statistics (Ministry of New and Renewable Energy)

Installed renewable energy capacity, solar, wind, hydro, bioenergy, state-wise renewable energy generation

25

NSS76

NSS 76th Round – Drinking Water, Sanitation, Hygiene and Housing Conditions

Drinking water sources, water treatment, sanitation, housing characteristics, toilets, flood experience

26

NSS76C

Persons with Disabilities in India – NSS 76th Round

Disability prevalence, education, employment, accessibility, assistive devices, care arrangements

27

NSS75E

NSS 75th Round – Social Consumption on Education

Literacy, educational attainment, school attendance, education expenditure, internet and computer access, GER/NAR

28

NSS80

NSS 80th Round – Comprehensive Modular Survey: Telecom (CMST)

Mobile phone ownership, internet usage, telecom access, digital services, online banking, cyber security awareness

29

NSS80E

NSS 80th Round – Comprehensive Modular Survey: Education (CMSE)

School enrolment, education expenditure, tuition fees, private coaching, scholarships, sources of education funding

30

NSS73

NSS 73rd Round – Unincorporated Non-Agricultural Enterprises

Enterprise type, enterprise ownership, hired workers, annual emoluments, GVA per worker, employment type, working hours, activity category, sector-wise and state-wise enterprise statistics

31

ISP

Index of Service Production

Services sector growth, monthly services output, sub-sector indices


MCP Tools

The server exposes 4 tools that follow a sequential workflow:

list_datasets  →  get_indicators  →  get_metadata  →  get_data

Step

Tool

Description

1

list_datasets()

Overview of all datasets. Start here to find the right dataset.

2

get_indicators(dataset)

List available indicators for the chosen dataset.

3

get_metadata(dataset, ...)

Get valid filter values (states, years, categories) and API parameters.

4

get_data(dataset, filters)

Fetch data using filter key-value pairs from metadata.

Important: Tools must be called in order. Skipping get_metadata will result in invalid filter codes.


Quick Start

If you want to connect your AI agent of choice with the MCP server, you can directly connect it with MOSPI's MCP server. Video Guides to connect ChatGPT or Claude to MCP are available here -

https://github.com/user-attachments/assets/ec23db03-c5ad-4bdd-af3a-9387bd906b3c

https://github.com/user-attachments/assets/675ccbd3-4c0e-4868-8f33-91992fd0f5bd

To get more information, visit - https://www.datainnovation.mospi.gov.in/mospi-mcp

The instructions below are for self-hosting the MCP server.

Installation

# Clone the repository
git clone https://github.com/nso-india/esankhyiki-mcp.git
cd esankhyiki-mcp

# Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

Running the Server

# HTTP transport (remote access)
python mospi_server.py

# OR using FastMCP CLI
fastmcp run mospi_server.py:mcp --transport http --port 8000

# stdio transport (local MCP clients)
fastmcp run mospi_server.py:mcp

Server runs at http://localhost:8000/mcp

Connecting from CLI Tools

Server URL: https://mcp.mospi.gov.in/

Claude Code

claude mcp add esankhyiki-mcp --transport http https://mcp.mospi.gov.in/

Verify with claude mcp list.

Cursor / Windsurf

Add to .cursor/mcp.json or .windsurf/mcp.json:

{
  "mcpServers": {
    "esankhyiki-mcp": {
      "command": "npx",
      "args": ["mcp-remote", "https://mcp.mospi.gov.in/"]
    }
  }
}

Antigravity

Add to your Antigravity MCP settings:

{
  "mcpServers": {
    "mospi_api": {
      "serverUrl": "https://mcp.mospi.gov.in/"
    }
  }
}

Verify Connection

curl -s -X POST https://mcp.mospi.gov.in/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"0.1"}}}'

A successful response returns serverInfo with "name": "MoSPI Data Server".

Local Server

If running locally:

claude mcp add esankhyiki-mcp --transport http http://localhost:8000/mcp

Or with the FastMCP Python client:

import asyncio
from fastmcp import Client

async def main():
    async with Client("http://localhost:8000/mcp") as client:
        overview = await client.call_tool("list_datasets", {})
        print(overview)

asyncio.run(main())

Deployment

Docker

# Build the image
docker build -t mospi-mcp .

# Run the container
docker run -d -p 8000:8000 --name mospi-server mospi-mcp

Docker Compose

Includes Jaeger for distributed tracing visualization:

docker-compose up -d

Services:

FastMCP Cloud

  1. Push code to GitHub

  2. Sign in to FastMCP Cloud

  3. Create project with entrypoint mospi_server.py:mcp


Architecture

mospi-mcp-api/
Γö£ΓöÇΓöÇ mospi_server.py          # FastMCP server - tools, validation, routing
Γö£ΓöÇΓöÇ mospi/
Γöé   ΓööΓöÇΓöÇ client.py            # MoSPI API client - HTTP requests to api.mospi.gov.in
Γö£ΓöÇΓöÇ swagger/                 # Swagger YAML specs per dataset (source of truth for params)
Γöé   ΓööΓöÇΓöÇ swagger_user_*.yaml
Γö£ΓöÇΓöÇ observability/
Γöé   ΓööΓöÇΓöÇ telemetry.py         # OpenTelemetry middleware for tracing
Γö£ΓöÇΓöÇ tests/                   # Pytest suite (covering all datasets)
Γö£ΓöÇΓöÇ Dockerfile               # Production container with OTEL instrumentation
Γö£ΓöÇΓöÇ docker-compose.yml       # Full stack with Jaeger
ΓööΓöÇΓöÇ requirements.txt

Design Principles

Principle

Implementation

Swagger as Source of Truth

API parameters validated against YAML specs in swagger/, not hardcoded

Auto-routing

CPI routes to Group/Item endpoint based on filters; IIP routes to Annual/Monthly

Validation First

All filters validated before API calls with clear error messages

LLM-Optimized

Tool docstrings document parameters, return values, and workflow sequence


Testing

pip install -r tests/requirements-test.txt
pytest tests/ -v -p no:anyio

Runs in-process against the MCP server (no running server needed). Covers all datasets across all 4 tools. See CONTRIBUTING.md for details.


Configuration

Environment variables for OpenTelemetry:

Variable

Description

Default

OTEL_SERVICE_NAME

Service name in traces

mospi-mcp-server

OTEL_EXPORTER_OTLP_ENDPOINT

OTLP collector endpoint

http://localhost:4317

OTEL_EXPORTER_OTLP_PROTOCOL

Protocol (grpc or http/protobuf)

grpc

OTEL_TRACES_EXPORTER

Exporter type (otlp, console, none)

otlp

See .env.example for full configuration options.


Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines on:

  • Adding new datasets

  • Project structure

  • Development setup

  • Code style


Resources


License

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


DIID

The Data Innovation Lab aims to promote innovation and the use of Information Technology in official statistics, including modernizing survey methods. It seeks to address the current challenges faced by the National Statistical System (NSS). The lab will serve as a platform for testing and developing new ideas through proof-of-concept projects. It will foster collaboration with a wide range of participants such as entrepreneurs, researchers, start-ups, academic institutions, and renowned national and international organizations. By creating an open and dynamic environment, the lab will support the advancement of statistical systems and help improve the quality and efficiency of data collection and analysis.

Know more: https://www.datainnovation.mospi.gov.in/home

Acknowledgments

Made in partnership with Bharat Digital in pursuit of modernising and humanising how governments use technology in service of the public.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
2hResponse time
3wRelease cycle
4Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for accessing India's Ministry of Statistics and Programme Implementation (MoSPI) data APIs. Enables natural language queries for economic, demographic, and social indicators via a 4-tool workflow.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides access to Singapore's official statistics from the Department of Statistics (SingStat) via MCP tools, allowing users to query data using natural language or direct tool calls.
    11
    MIT

View all related MCP servers

Related MCP Connectors

  • India Open Government Data (OGD) Platform MCP — data.gov.in

  • INEGI MCP — Mexico's national statistics office (INEGI) Indicators API.

  • This MCP server provides seamless access to Malaysia's government open data, including datasets, w…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nso-india/esankhyiki-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server