LegalSearch
Server Details
Public Indian legal search MCP for Roop judgments, statutes, and corpus grounding.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-03-26
- URL
- Repository
- Roop-World/LegalSearch
- GitHub Stars
- 1
- Server Listing
- LegalSearch
TDQS
Scored across 6 tools
The resource domains (corpus, judgments, statutes) and actions (status, search, get_packet/get_segment) are almost entirely distinct. The only real ambiguity is get_packet vs get_segment, but their descriptions clarify the full packet versus a continuable segment.
All tools follow a consistent roop.public.<resource>.<action> dotted namespace with clear verb-like actions: status, search, get_packet, get_segment. There is no mixing of naming conventions or inconsistent verb styles.
Six tools is a well-scoped size for a read-only legal research MCP. Each tool maps to a distinct operation across corpus status, judgment lookup/search, and statute lookup/search.
The server covers discovery (search), retrieval (packets), continuation (judgment segments), and corpus awareness (status) across both judgments and statutes. A statute-level segment endpoint could be useful for very long statutes, but core legal research workflows are complete.
Available Tools
6 toolsroop.public.corpus.statusBInspect
Report the public corpus surfaces exposed through this DMZ MCP.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only mentions reporting surfaces. It does not disclose side effects, authentication needs, or rate limits, leaving significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It conveys the core purpose efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks detail on what the report returns (e.g., format, structure). Without an output schema, this omission leaves agents uncertain about the result's shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the description does not need to add parameter information. Baseline 4 is appropriate given zero parameters and full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reports public corpus surfaces, using a specific verb and resource. It distinguishes implicitly from sibling tools focused on judgments and statutes, but lacks explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus its siblings. The description only states what it does, without indicating context or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
roop.public.judgments.get_packetCInspect
Fetch a bounded public judgment or appellate tribunal packet by ROOP judgment id.
| Name | Required | Description | Default |
|---|---|---|---|
| roop_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a read operation but does not disclose behavioral traits like error handling, rate limits, or auth requirements. The term 'bounded' is unexplained, and the response format is not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but not optimally structured. It front-loads the purpose but omits essential details, making it under-informative for a 1-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of output schema, annotations, and parameter descriptions, the description fails to explain what a 'packet' is, the return format, or any prerequisites. It is incomplete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only mentions 'by ROOP judgment id' without adding format, length, or examples. The single parameter lacks any additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'fetch', the resource ('public judgment or appellate tribunal packet'), and the input ('ROOP judgment id'), making it distinct from sibling tools like search and corpus status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as when to search instead of fetch by ID, or any context about bounded vs. unbounded packets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
roop.public.judgments.get_segmentCInspect
Fetch one bounded, continuable segment of an exact public judgment by ROOP judgment id.
| Name | Required | Description | Default |
|---|---|---|---|
| offset | No | ||
| roop_id | Yes | ||
| max_chars | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It hints at 'bounded, continuable' behavior implying pagination, but does not explain how continuation works, error outcomes, or confirm read-only nature. For a fetch with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the verb and resource, with no redundant or filler content. Every word contributes to the meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must compensate by explaining return format and pagination mechanics. It does not detail how to use offset/max_chars, what a 'segment' contains, or how to continue fetching, leaving significant gaps for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only references roop_id ('by ROOP judgment id'). The words 'bounded' and 'continuable' implicitly map to max_chars and offset, but this is not explicit and offers no concrete syntax, defaults, or relationship between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Fetch' and clearly identifies the resource ('public judgment by ROOP judgment id'), along with the scope ('one bounded, continuable segment'). It distinguishes from search tools but does not explicitly contrast with the sibling get_packet, so it lacks full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like get_packet or search. It does not mention prerequisites, exclusions, or any comparative context, leaving the agent without selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
roop.public.judgments.searchCInspect
Search public Indian judgment and appellate tribunal metadata plus public snippets.
| Name | Required | Description | Default |
|---|---|---|---|
| court | No | Optional public court or tribunal code such as SC, DELHC, or NCLAT. | |
| limit | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals that it returns metadata and public snippets, but lacks disclosure of other behavioral traits such as pagination, rate limiting, or authentication requirements. Since no annotations are present, the description carries the full burden, which it only partially fulfills.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 14 words, which is very concise. It gets straight to the point. However, it lacks structure or bullet points that might aid readability, but overall it is efficiently written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too brief given the lack of annotations and output schema. It does not explain what constitutes 'metadata' or 'public snippets', nor how the search logic works (e.g., full-text, exact match). It lacks necessary context for an AI agent to confidently select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not provide any additional meaning for the parameters. Only the 'court' parameter has a description in the schema, while 'query' and 'limit' are undocumented. The description itself does not mention or elaborate on any parameters, leaving a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'search' and the specific resource 'public Indian judgment and appellate tribunal metadata plus public snippets'. It effectively conveys what the tool does, though it does not explicitly differentiate from sibling tools like get_packet or statutes.search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage context is provided. The description does not indicate when to use this search tool versus the sibling tools. There is no guidance on prerequisites, typical use cases, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
roop.public.statutes.get_packetCInspect
Fetch a bounded public statute packet using the public statutes search surface.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It only says 'fetch', implying read-only, but does not confirm idempotency, auth requirements, or any other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words, but the sentence is vague and does not convey sufficient information to be effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and sparse parameters, the description is insufficient. Missing return value details and parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not explain the meaning or format of the `query` parameter or how `limit` is applied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Fetch a bounded public statute packet' which identifies a specific verb and resource, but terms like 'bounded' and 'packet' are undefined. It distinguishes from sibling search tools only implicitly via the action 'fetch' vs 'search'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool instead of siblings like roop.public.statutes.search. No context on prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
roop.public.statutes.searchCInspect
Search public statutes and subordinate legislation metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| doc_kind | No | ||
| state_code | No | ||
| instrumentType | No | Camel-case alias for instrument_type. | |
| instrument_type | No | Optional instrument type filter such as rules, regulations, notification, order, circular, or form. | |
| jurisdiction_scope | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only states 'metadata', implying limited scope, but omits details like pagination, result format, or query behavior. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (single sentence), which is efficient but lacks structure. It could be expanded with bullet points or key constraints without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, no output schema, and no annotations, the description is severely incomplete. It fails to cover common usage patterns, result behavior, or typical filters, making it hard for the agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 29%, yet the description adds zero parameter explanation. It does not clarify meaning or usage of any of the 7 parameters, leaving the agent to rely solely on the sparse schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and the resource 'public statutes and subordinate legislation metadata'. It distinguishes from siblings like 'roop.public.judgments.search' by specifying the domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., judgments search, get_packet for statutes). Missing context for optimal invocation scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
roop.public.judgments.get_segment
1 tool update
- Changed
roop.public.statutes.search3 fields changed- added
Input schema / properties / doc_kindAdded value: +{ + "enum": [ + "act", + "subordinate", + "draft" + ], + "type": "string" +} - added
Input schema / properties / instrumentTypeAdded value: +{ + "description": "Camel-case alias for instrument_type.", + "type": "string" +} - added
Input schema / properties / instrument_typeAdded value: +{ + "description": "Optional instrument type filter such as rules, regulations, notification, order, circular, or form.", + "type": "string" +}
1 tool update
- Changed
roop.public.judgments.search1 field changed- added
Input schema / properties / court / descriptionAdded value: +"Optional public court or tribunal code such as SC, DELHC, or NCLAT."
5 tool updates
- First observed
roop.public.corpus.status - First observed
roop.public.judgments.get_packet - First observed
roop.public.judgments.search - First observed
roop.public.statutes.get_packet - First observed
roop.public.statutes.search
Related MCP Connectors
Search US and Indian statutes, regulations, constitutions, and court rules.
- LegalizeOAuthdev.legalize
Official MCP connector for Legalize: read and search its whole open corpus, at any point in time.
Resolve, search and verify legal citations against the official sources, with provenance.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables MCP-compatible AI agents to run structured searches over India's court judgments, tribunal matters, and legislation directly from Hugging Face parquet files, with automatic license attribution.8Apache 2.0
- AlicenseAqualityBmaintenanceAn MCP server for the CourtMesh public API that enables AI clients to search and analyze Indian court case law, covering over 310 million case records from the Supreme Court, High Courts, District Courts, and tribunals.121MIT
- AlicenseAqualityAmaintenanceMCP server for searching and retrieving Pakistani federal statutes and Supreme Court judgments with structured citations, using static HuggingFace datasets.6Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables semantic search over Polish court judgments and legislative acts via MCP. Allows LLMs to retrieve legal documents using natural language queries.Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.