Skip to main content
Glama
rithik-cmyk

ecourts-mcp-server

by rithik-cmyk

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
ecourts_get_caseA

Retrieve comprehensive details for an Indian court case by CNR (Case Number Record).

Returns: case status, parties (petitioners/respondents), advocates, judges, hearing history, listing dates, judgment orders, interim orders, interlocutory applications, notices, filed documents, tagged/connected matters, linked cases, earlier court details, FIR details (criminal), subordinate court, and AI case analysis.

Args:

  • cnr (string): Case Number Record, e.g. "DLHC010001232024"

Use this tool first to discover available order filenames (judgmentOrders[].orderUrl, interimOrders[].orderUrl) before calling ecourts_get_order or ecourts_get_order_ai.

ecourts_search_casesA

Search for Indian court cases with text queries, filters, date ranges, year filters, and faceted aggregations.

Text search args (all optional): query, advocates, judges, petitioners, respondents, litigants

Filter args (arrays): court_codes, case_types, case_statuses, judicial_sections, case_categories, bench_types

Year filters (integer arrays): filing_years, registration_years, first_hearing_years, next_hearing_years, decision_years

Date ranges (YYYY-MM-DD): filing_date_from/to, registration_date_from/to, first_hearing_date_from/to, next_hearing_date_from/to, decision_date_from/to

Controls: include_facet_counts (bool), sort_by, sort_order, page, page_size (max 100)

Returns: matching cases with CNR, parties, dates, facet counts. Supply at least one search term or filter.

ecourts_get_order

Get metadata and download information for a court order PDF (certified true copy).

Args:

  • cnr (string): Case Number Record

  • filename (string): Order filename obtained from judgmentOrders[].orderUrl or interimOrders[].orderUrl in the ecourts_get_case response

Workflow: call ecourts_get_case → find order filename → call this tool.

ecourts_get_order_ai

Get extracted text and pre-computed AI analysis for a court order.

AI analysis includes: summary, order type, outcome (PETITIONER_FAVORED, RESPONDENT_FAVORED, MIXED, DISMISSED), key points, relief granted, legal provisions cited, next steps, judge, and date.

Args:

  • cnr (string): Case Number Record

  • filename (string): Order filename from judgmentOrders[].orderUrl or interimOrders[].orderUrl

The AI analysis is pre-computed (fast, no LLM latency). If aiAnalysis is null, analysis is not yet available for this order.

ecourts_get_court_structure

Discover the Indian court hierarchy: State → District → Court Complex → Court.

Use this to obtain valid codes for ecourts_search_cases (court_codes), ecourts_search_causelist, and ecourts_get_causelist_dates.

Args:

  • level: "states" | "districts" | "complexes" | "courts"

  • state: required for districts/complexes/courts (e.g. "UP", "DL", "SC" for Supreme Court)

  • district_code: required for complexes/courts

  • court_complex_code: required for courts

This endpoint is public, free, and requires no authentication.

ecourts_search_causelist

Search cause list entries across Indian courts.

Args (at least one required):

  • q: full-text search (case numbers, parties, advocates)

  • date / start_date / end_date: date filters (YYYY-MM-DD)

  • bench: bench code filter

  • judge / advocate / litigant: name-based search

  • state / district_code / court_complex_code / court_no: location filters

  • list_type: CIVIL, CRIMINAL, etc.

  • limit / offset: pagination (limit max 100)

Billing: ₹1.00 per request.

Use ecourts_get_court_structure to discover valid state/district/complex codes. Use ecourts_get_causelist_dates (free) to find dates with available data before searching.

ecourts_get_causelist_datesA

Get dates for which cause list data is available, filtered by location.

At least one parameter is required: state, district_code, court_complex_code, or court_no.

Free endpoint (no credit charge, authentication required). Use the returned dates with ecourts_search_causelist to avoid empty searches.

ecourts_refresh_case

Request a fresh scrape of case data from the eCourts source. This is an asynchronous operation — the update takes 5-10 minutes.

After refreshing, call ecourts_get_case to retrieve updated data.

Duplicate requests within 15 minutes are idempotent (no double charge).

Args:

  • cnr (string): Case Number Record

ecourts_lookup_case

Find a case using a human-readable case number (e.g. "CS(OS) 123/2024") instead of CNR.

This is a convenience workflow: it searches for the case number, finds the matching CNR, and returns full case details in one step.

Args:

  • case_number (string): Human-readable case number, e.g. "CS(OS) 123/2024", "WP(C)/456/2024"

  • court_code (string, optional): Court code to narrow the search (e.g. "DLHC01"). Recommended when the same case number might exist across courts.

Returns: Full case details (same as ecourts_get_case) if a match is found.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/rithik-cmyk/ecourts-mcp-server'

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