Skip to main content

Model Context Protocol (MCP) server for Indian Government Schemes database

Project description

Government Scheme MCP Server

A Model Context Protocol (MCP) server for accessing and managing Indian Government Schemes database. This server provides tools for searching, creating, and managing government benefit schemes with comprehensive eligibility filtering.

Features

  • Health Check: Verify server connectivity and API status
  • Scheme Search: Advanced filtering by demographics, geography, income, and eligibility criteria
  • Scheme Management: Create and retrieve government scheme records
  • Comprehensive Filtering: Support for age, gender, income, employment status, social categories, disabilities, and more

Installation

From PyPI (when published)

pip install gov-scheme-mcp

From Source

git clone https://github.com/magicstack-llp/gov-scheme-mcp-py
cd gov-scheme-mcp
pip install -e .

Usage

As an MCP Server

The server can be used with any MCP-compatible client:

gov-scheme-mcp

Environment Variables

  • GOV_API_URL: Base URL for the government schemes API (default: http://localhost:3000)

Available Tools

health()

Check server health and API connectivity.

Returns: JSON with connection status and API endpoint information.

create_scheme(...)

Create a new government scheme record with comprehensive metadata.

Parameters:

  • code: Unique scheme identifier
  • name: Scheme name
  • description: Detailed description
  • department: Government department
  • category: Program domain (education, health, agriculture, etc.)
  • benefit_type: Type of benefit (cash, subsidy, scholarship, loan, insurance, pension, grant, in-kind)
  • benifit_details: Detailed description of benefit structure, payouts, and timelines
  • terms_and_conditions: Terms and conditions text for the scheme
  • scheme_raw_text: Raw, unstructured text of scheme details
  • official_website: Official scheme website URL
  • application_link: Direct application form/link URL
  • url: Official scheme URL (legacy field)
  • contact: Contact information
  • Demographics: min_age, max_age, genders
  • Economic: income_min, income_max, employment_status
  • Social: social_categories, marital_statuses, religions, disabilities
  • Geographic: states, districts, urban_rural
  • Requirements: required_documents, caste_required, domicile_required
  • Status: is_active

read_scheme(id)

Fetch a single scheme by numeric ID.

Parameters:

  • id: Numeric scheme ID

update_scheme(id, ...)

Update an existing scheme by ID. Only provided fields will be changed.

Parameters:

  • id: Numeric scheme ID to update
  • All other fields are the same as create_scheme(...) and are optional

delete_scheme(id)

Delete a scheme by ID.

Parameters:

  • id: Numeric scheme ID to delete

search_schemes(...)

Search schemes with advanced filtering capabilities.

Parameters:

  • q: Text search in name/description
  • age: User age for eligibility filtering
  • income: User income level
  • gender: Gender filter (male, female, other)
  • employmentStatus: Employment status (unemployed, farmer, student, salaried, entrepreneur)
  • disabilities: Disability categories (visual, hearing, mobility, intellectual, multiple, other)
  • socialCategories: Social categories (SC, ST, OBC, EWS, GENERAL)
  • maritalStatus: Marital status (single, married, divorced, widowed)
  • religion: Religious affiliation
  • state: State/UT name
  • district: District name
  • urbanRural: Area type (urban, rural)
  • profession: Professional category
  • casteRequired: Filter by caste certificate requirement
  • domicileRequired: Filter by domicile certificate requirement
  • category: Scheme category filter
  • benefitType: Benefit type filter
  • active: Active schemes only
  • limit: Maximum results (default: 100)
  • offset: Result offset (default: 0)

Configuration for MCP Clients

Claude Desktop

Add to your claude_desktop_config.json:

{
	"mcpServers": {
		"gov-scheme-mcp": {
			"command": "gov-scheme-mcp",
			"env": {
				"GOV_API_URL": "https://your-api-server.com"
			}
		}
	}
}

Other MCP Clients

Configure the server command as gov-scheme-mcp with the appropriate environment variables.

Development

Setup

git clone https://github.com/magicstack-llp/gov-scheme-mcp-py
cd gov-scheme-mcp
pip install -e ".[dev]"

Testing

pytest

Code Formatting

black src/
isort src/

Type Checking

mypy src/

API Requirements

This MCP server requires a compatible government schemes API with the following endpoints:

  • GET /: Health check endpoint
  • POST /api/schemes: Create new scheme
  • GET /api/schemes/{id}: Retrieve scheme by ID
  • PATCH /api/schemes/{id}: Update scheme by ID (partial update)
  • DELETE /api/schemes/{id}: Delete scheme by ID
  • POST /api/schemes/search: Search schemes with filters

License

MIT License - see LICENSE file for details.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Run the test suite
  6. Submit a pull request

Support

For issues and questions:

Related Projects

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gov_scheme_mcp-0.1.3.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gov_scheme_mcp-0.1.3-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file gov_scheme_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: gov_scheme_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gov_scheme_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 db7f73fde559073ba7c851a8f175a1f7ab0b96e150a6bc21af9c5cff11806de1
MD5 896fe9256448b25a36eb58ade7cf61d0
BLAKE2b-256 24a97771e4a807f42adca4464e8eda51f31a0bfda40dfead2551d32f931b08d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for gov_scheme_mcp-0.1.3.tar.gz:

Publisher: publish.yml on magicstack-llp/gov-scheme-mcp-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gov_scheme_mcp-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: gov_scheme_mcp-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gov_scheme_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5d5a9384f594c23cd03993115f6079820bddce3fd4b78e2e67f0812fe529484c
MD5 8e51971ee6110dcd4d804703012feae8
BLAKE2b-256 d9e9a15470b0604316426f7e1a1e69bc8cda1bb951ef83537d5672b1e5adb1f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for gov_scheme_mcp-0.1.3-py3-none-any.whl:

Publisher: publish.yml on magicstack-llp/gov-scheme-mcp-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page