caselaw
Server Details
Search 197,000+ Pakistani court judgments (1970-2025) and walk their citation graph.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 6 of 6 tools scored. Lowest: 3.9/5.
Each tool targets a distinct operation: fetching a case by ID, searching full-text, resolving a citation, traversing the citation graph forward or backward, and listing landmark cases. There is no overlap or ambiguity between them.
All tools share the caselaw_ prefix and mostly follow a verb-first pattern (get_case, get_citations, get_cited_by, lookup_citation, search). The exception is caselaw_most_cited, which uses an adjective phrase rather than a verb, causing a minor inconsistency.
Six tools is well-scoped for a legal research server. Each tool covers a necessary part of the workflow without redundancy or bloat.
The read-only domain of case law research is well covered: search, retrieval, citation lookup, and both directions of citation traversal are present. The landmark listing provides an entry point, and there are no obvious dead ends in the research flow.
Available Tools
6 toolscaselaw_get_caseARead-onlyIdempotentInspect
Fetch one judgment by id.
section='summary' (default) returns metadata + the AI headnote (plain-language summary, the
laws/provisions referred, and keyword tags) — read this first to judge relevance cheaply.
section='full' additionally returns the judgment body text (capped at ~40,000 chars; the
response flags body_truncated/body_chars_total when longer).
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only and idempotent annotations, the description discloses the body text cap at ~40,000 characters and the truncation flags, adding meaningful behavioral context. It also clarifies the different outputs for summary vs full sections.
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 concise, front-loaded with the main action, and organized into two clear paragraphs for summary and full modes. Every sentence contributes useful information without redundancy.
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?
An output schema exists, so return values need not be exhaustively described. The description covers the key decision (summary vs full), the truncation behavior, and the default, making it sufficiently complete 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?
The description adds substantial meaning for the 'section' parameter, explaining exactly what each value returns and the cost implication. It complements the schema's enum descriptions, though 'response_format' is not addressed, leaving that to the 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 opens with 'Fetch one judgment by id', which clearly identifies the action and resource. It distinguishes the tool from siblings by focusing on single-case retrieval, while sibling tools handle citations, search, or lookup.
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?
The description explicitly recommends reading the summary section first to 'judge relevance cheaply', providing clear guidance on how to use the tool efficiently. It does not name sibling alternatives, but the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
caselaw_get_citationsARead-onlyIdempotentInspect
Walk the citation graph FORWARD: list the in-corpus cases that THIS judgment cites (the precedents it relied on). Combine with caselaw_get_cited_by to traverse precedent backward and forward until a research question is resolved.
Most useful on RECENT judgments: a 2024-25 case usually has nobody citing it yet, but its
own citation list is a curated map of the established authority on the point.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: the 'FORWARD' traversal direction, the 'in-corpus' constraint, and the idea that a judgment's citations form a curated map of established authority. It doesn't contradict annotations.
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 three concise sentences, each earning its place: the first states the core function, the second explains workflow, and the third gives a practical usage tip. It is front-loaded with the essential purpose and has no wasted words.
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 tool's simplicity, the description adequately covers purpose, usage, and complementary tools. It lacks details on pagination (limit/offset) and output format, but an output schema is present, so return values are presumably covered there. The 'in-corpus' scope and forward direction are clearly conveyed, making it reasonably complete.
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 provides no guidance on parameters. It never mentions case_id, limit, offset, or response_format. The schema itself only has a minimal description for case_id ('Numeric judgment id'), so the description fails to compensate for the low coverage, leaving the agent without sufficient semantic context for invoking the tool correctly.
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 a specific verb ('list') and resource ('in-corpus cases that THIS judgment cites'), clearly stating the forward direction of the citation graph. It explicitly distinguishes itself from the sibling tool caselaw_get_cited_by, which traverses backward.
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?
The description explicitly names the complementary tool (caselaw_get_cited_by) and explains when to use it together to traverse the citation graph in both directions. It also provides practical guidance on when this tool is most useful (recent judgments), giving clear context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
caselaw_get_cited_byARead-onlyIdempotentInspect
Walk the citation graph BACKWARD: list later cases that cite THIS judgment (how it was subsequently treated — followed, distinguished, relied upon). Returns newest first.
Most useful on OLDER or landmark judgments: it shows whether the case is still followed and
where the principle has been applied since. A leading case can have hundreds of citing cases.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds valuable behavioral context beyond annotations: it states the return order ('Returns newest first'), the type of treatment information, and warns that a leading case 'can have hundreds of citing cases,' implying pagination relevance. No contradiction with annotations.
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 four tightly packed sentences. It front-loads the core purpose, then adds ordering, use case, and scale context. Every sentence earns its place with no filler or repetition.
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?
For a read-only citation-graph tool with annotations and an output schema, the description covers direction, ordering, typical use cases, and scale. It does not need to explain return values because the output schema exists. The information is sufficient for an agent to select and invoke the tool 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?
The description does not directly explain parameters, but 'THIS judgment' maps to the required case_id parameter. Optional parameters (limit, offset, response_format) have schema defaults but no descriptive text. Since schema description coverage is 0%, the description only partially compensates by clarifying the core input.
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 opens with a specific verb and resource: 'Walk the citation graph BACKWARD: list later cases that cite THIS judgment.' It clearly distinguishes this tool from siblings (e.g., caselaw_get_citations) by emphasizing the backward direction and adding treatment details like 'followed, distinguished, relied upon.'
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?
The description provides clear context for when to use the tool: 'Most useful on OLDER or landmark judgments' and explains the benefit ('shows whether the case is still followed'). It does not explicitly name alternatives or exclusions, but the backward/forward distinction from sibling tools is evident from the text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
caselaw_lookup_citationARead-onlyIdempotentInspect
Find the judgment(s) at an exact law-report citation.
Example: journal='PLD', year=1995, page=34 → PLD 1995 Supreme Court 34.
Omit page to list everything reported in that journal+year. Returns the same case shape
as caselaw_search.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description discloses that omitting page returns a full list for that journal+year, and that the return shape matches caselaw_search. This adds meaningful behavioral context not present in the annotations.
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 three sentences plus a compact example. It front-loads the purpose, uses the example to illustrate parameters, and includes no redundant text. Every sentence earns its place.
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 covers the core lookup, the list-vs-single behavior, and references caselaw_search for the return shape. Pagination (limit/offset) and response_format are defined in the schema, so their absence from the description is acceptable. It is complete for a read-only citation lookup 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 example directly maps journal='PLD', year=1995, page=34 to a concrete citation, clarifying how the primary parameters interact. It also explains the semantic effect of omitting page (list all cases), which is not obvious from the schema alone. This compensates for the sparse schema descriptions.
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 begins with a clear, specific verb and resource: 'Find the judgment(s) at an exact law-report citation.' This distinguishes the tool from siblings like caselaw_search (keyword search) and caselaw_get_case (by ID) by focusing on exact citation lookup.
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?
The example with journal/year/page and the note 'Omit page to list everything reported in that journal+year' give clear context for when to use the tool. It does not explicitly exclude sibling tools, but the mention of 'Returns the same case shape as caselaw_search' provides a useful consistency reference without being an explicit alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
caselaw_most_citedARead-onlyIdempotentInspect
List the most-cited (landmark) judgments in the corpus, ranked by how many other cases cite them. A good entry point for the leading authorities on Pakistani law.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that results are ranked by citation count, which is useful, but does not detail pagination or response behavior beyond what the schema/annotations already provide.
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 two sentences, front-loaded with the core purpose and adding a brief usage hint. Every word serves a purpose.
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?
For a simple read-only list operation with annotations and an output schema, the description covers purpose and usage context adequately. The only shortfall is lack of parameter explanation, but the schema itself provides defaults and constraints, so overall completeness is strong.
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 input schema has three nested parameters (limit, offset, response_format) but the description provides no information about them. With 0% schema description coverage, the description fails to compensate, leaving the agent to rely solely on parameter names and defaults.
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 function: 'List the most-cited (landmark) judgments in the corpus, ranked by how many other cases cite them.' It uses a specific verb and resource, and the ranking criterion distinguishes it from sibling tools like caselaw_search or caselaw_get_case.
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?
The phrase 'A good entry point for the leading authorities on Pakistani law' provides clear context for when to use it (for discovering landmark cases). It does not explicitly exclude alternatives, but implies it as an overview tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
caselaw_searchARead-onlyIdempotentInspect
Full-text search of 197,000+ Pakistani judgments (Supreme Court & High Courts, 1970–2025).
Ranking follows how lawyers research: nearness to the legal point decides which cases are
returned; among comparably-near cases, more senior court > larger bench > more recent >
more cited. Use sort='newest' when you need the current state of the law (later judgments
supersede as statutes are amended), or sort='court' for the most authoritative first.
Returns ranked cases with id, title, citation, court, year, a snippet, and the public URL.
For an exact report citation use caselaw_lookup_citation. To read a case, pass its id to
caselaw_get_case.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description reveals the ranking algorithm, coverage scope, return fields, and sort semantics. It also clarifies the superseding-law rationale, enriching the agent's understanding of tool behavior.
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?
Four sentences, front-loaded with scope, then ranking rationale, sort usage, return shape, and sibling pointers—each sentence earns its place without padding or redundancy.
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?
Covers jurisdiction, date range, ranking, sort options, return fields, and cross-tool flow. With an output schema present, it doesn't need to restate return types; the description supplies the behavioral context that structured data cannot.
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 schema covers sort and query with descriptions, but the tool description adds nuanced meaning for sort values ('newest' for amended statutes, 'court' for authority). It does not detail limit/offset/response_format, but these have clear schema defaults and are secondary. Given low schema coverage overall, this partial compensation justifies a 4.
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 opens with a specific verb and resource: 'Full-text search of 197,000+ Pakistani judgments (Supreme Court & High Courts, 1970–2025).' It also distinguishes from siblings by explicitly routing exact citations to caselaw_lookup_citation and case reading to caselaw_get_case.
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?
Provides explicit when-to-use guidance for sort options ('Use sort='newest' when you need the current state of the law... sort='court' for the most authoritative first') and clearly names alternatives for citation lookup and retrieving full cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for searching and retrieving Pakistani federal statutes and Supreme Court judgments with structured citations, using static HuggingFace datasets.5Apache 2.0
- Alicense-qualityBmaintenanceProvides retrieval-grounded, citation-verified access to Philippine law and compliance, including statutes, jurisprudence, and government issuances across 15 compliance domains.1Apache 2.0
- Alicense-qualityAmaintenanceSemantic and exact retrieval over 22M Taiwan court judgments with built-in citation guardrails — bundles carry a read-whitelist so downstream models cannot cite judgments whose reasoning was never read. Also provides exact lookup of administrative interpretations with lifecycle status (repealed / superseded / unverified).232Elastic 2.0
- AlicenseAqualityCmaintenanceStatute & article text (mevzuat.gov.tr) and court decisions (UYAP Emsal, Council of State, Constitutional Court), with their citation, source, live. It works as long as the official sources remain reachable.22MIT