LegalSearch
Public Indian legal search MCP for Roop judgments, statutes, and corpus grounding.
Should I use this
Quality & Safety
Findings (10)
- LOWin roop.public.corpus.status
- LOWin roop.public.judgments.search
- LOWin roop.public.judgments.get_packet
- LOWin roop.public.judgments.get_packet
- LOWin roop.public.judgments.get_segment
- LOWin roop.public.judgments.get_segment
- LOWin roop.public.statutes.search
- LOWin roop.public.statutes.get_packet
- LOWin roop.public.statutes.get_packet
- LOWin roop.public.corpus.status
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"legalsearch": {
"url": "https://mcp.roopslaw.ai/mcp"
}
}
}Remote endpoints
https://mcp.roopslaw.ai/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢roop.public.judgments.search(query, court, limit)
Search public Indian judgment and appellate tribunal metadata plus public snippets.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"court": {
"type": "string",
"description": "Optional public court or tribunal code such as SC, DELHC, or NCLAT."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢roop.public.judgments.get_packet(roop_id)
Fetch a bounded public judgment or appellate tribunal packet by ROOP judgment id.
Input Schema
{
"type": "object",
"properties": {
"roop_id": {
"type": "string"
}
},
"required": [
"roop_id"
],
"additionalProperties": false
}🟢roop.public.judgments.get_segment(roop_id, offset, max_chars)
Fetch one bounded, continuable segment of an exact public judgment by ROOP judgment id.
Input Schema
{
"type": "object",
"properties": {
"roop_id": {
"type": "string"
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 2000000
},
"max_chars": {
"type": "integer",
"minimum": 1000,
"maximum": 20000
}
},
"required": [
"roop_id"
],
"additionalProperties": false
}🟢roop.public.statutes.search(query, jurisdiction_scope, state_code, doc_kind, instrument_type, ...)
Search public statutes and subordinate legislation metadata.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"jurisdiction_scope": {
"type": "string",
"enum": [
"central",
"state"
]
},
"state_code": {
"type": "string"
},
"doc_kind": {
"type": "string",
"enum": [
"act",
"subordinate",
"draft"
]
},
"instrument_type": {
"type": "string",
"description": "Optional instrument type filter such as rules, regulations, notification, order, circular, or form."
},
"instrumentType": {
"type": "string",
"description": "Camel-case alias for instrument_type."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢roop.public.statutes.get_packet(query, limit)
Fetch a bounded public statute packet using the public statutes search surface.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 5
}
},
"required": [
"query"
],
"additionalProperties": false
}⚪roop.public.corpus.status
Report the public corpus surfaces exposed through this DMZ MCP.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Recommended Prompts
roop.public.judgments.searchroop.public.judgments.searchroop.public.judgments.get_packetroop.public.judgments.get_packetroop.public.judgments.searchroop.public.judgments.get_packetCommunity
Evidence