# Pakistan Case Law

> Search 230,000+ Pakistani court judgments by keyword, citation, or the legal question they settle.

- name: com.pakistancaselaw/caselaw
- version: 1.5.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 83/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.pakistancaselaw%2Fcaselaw
- tools: https://api.protogrid.dev/v1/servers/com.pakistancaselaw%2Fcaselaw/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "caselaw": {
      "type": "http",
      "url": "https://pakistancaselaw.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-99% +updated-3d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 83/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 7 of 7 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,747 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 13 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 7, about 2,747 tokens to load them all
- tool set hash: 0ae18845ff1d4e5aca7f8d0483100898
- tools last changed: 2026-10-17T18:25:07.081Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.pakistancaselaw/caselaw.svg)](https://protogrid.dev/servers/com.pakistancaselaw/caselaw)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-17 `caselaw_search` changed (description, inputSchema)
  - before: Full-text search of Pakistani judgments (Supreme Court, High Courts, Federal Shariat Court and tribunals, 1970 onward), with optional filters by court, judge, law report and year. 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. For the current state of the law, add year_from (e.g. 2025); use sort='court' for the most authoritative first. With no query, the filters list judgments newest first - e.g. court='Supreme Court' gives the latest Supreme Court judgments, journal='PLD' with year_from=year_to=2024 gives that volume, and sort='recently_added' alone shows what was added to the site most recently. Returns cases with id, title, citation, court, year, outcome and the public URL. For an exact report citation use caselaw_lookup_citation. To read a case, pass its id to caselaw_get_case.
  - after: Full-text search of Pakistani judgments (Supreme Court, High Courts, Federal Shariat Court and tribunals, 1970 onward), with optional filters by court, judge, author, law report and year. 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. For the current state of the law, add year_from (e.g. 2025); use sort='court' for the most authoritative first. With no query, the filters list judgments newest first - e.g. court='Supreme Court' gives the latest Supreme Court judgments, journal='PLD' with year_from=year_to=2024 gives that volume, and sort='recently_added' alone shows what was added to the site most recently. Returns cases with id, title, citation, court, year, outcome, author (the judge who wrote it, when known) and the public URL. For an exact report citation use caselaw_lookup_citation. To read a case, pass its id to caselaw_get_case.
- 2026-10-15 `caselaw_lookup_citation` changed (inputSchema)
- 2026-10-01 `caselaw_most_cited` changed (inputSchema)
- 2026-10-01 `caselaw_get_cited_by` changed (inputSchema)
- 2026-10-01 `caselaw_get_citations` changed (inputSchema)
- 2026-10-01 `caselaw_get_case` changed (inputSchema)
- 2026-10-01 `caselaw_lookup_citation` changed (inputSchema)
- 2026-10-01 `caselaw_search_questions` changed (inputSchema)
- 2026-10-01 `caselaw_search` changed (inputSchema)
- 2026-10-01 `caselaw_get_case` changed (description, inputSchema)
  - before: 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).
  - after: Fetch one judgment by id. section='summary' (default) returns metadata + the 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).

Full history: https://api.protogrid.dev/v1/servers/com.pakistancaselaw%2Fcaselaw/changes

## Remotes

- https://pakistancaselaw.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9916667)

## Packages

_none_

## Tools (7)

- `caselaw_get_case`: Fetch one judgment by id.

    section='summary' (default) returns metadata + the 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).
    
- `caselaw_get_citations`: 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.
    
- `caselaw_get_cited_by`: 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.
    
- `caselaw_lookup_citation`: 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.
    
- `caselaw_most_cited`: 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.
    
- `caselaw_search`: Full-text search of Pakistani judgments (Supreme Court, High Courts, Federal Shariat Court
    and tribunals, 1970 onward), with optional filters by court, judge, author, law report and year.

    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. For the current state of the law, add year_from (e.g. 2025); use sort='court'
    for the most authoritative first.

    With no query, the filters list judgments newest first - e.g. court='Supreme Court' gives the
    latest Supreme Court judgments, journal='PLD' with year_from=year_to=2024 gives that volume,
    and sort='recently_added' alone shows what was added to the site most recently.

    Returns cases with id, title, citation, court, year, outcome, author (the judge who wrote it, when
    known) and the public URL. For an exact
    report citation use caselaw_lookup_citation. To read a case, pass its id to caselaw_get_case.
    
- `caselaw_search_questions`: Find judgments by the QUESTION they settle, rather than by words they contain.

    Every judgment summary on this corpus records the questions that judgment actually decides — e.g.
    "Does delay in lodging the FIR by itself entitle the accused to bail?" This searches those
    questions, so it matches the shape a legal problem arrives in rather than the vocabulary a
    1987 bench happened to use.

    COVERAGE IS PARTIAL: only some judgments have a summary with questions yet (the response's
    `coverage_note` gives the current live ratio, which keeps growing). An empty result means no
    *summarised* judgment matched — it does NOT mean no such judgment exists. Fall back to
    caselaw_search, which covers the whole corpus.

    The questions are prepared from the judgment text. They are a finding aid, not a
    holding: cite the judgment, never the question. Pass an id to caselaw_get_case to read it.
    
