Pakistan Case Law

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

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
82%
命名品質
80%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,923Token(工具定義)
~2.9 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.28%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "caselaw": {
      "url": "https://pakistancaselaw.com/mcp"
    }
  }
}

遠端端點

https://pakistancaselaw.com/mcpstreamable-http

它能做什麼

工具清單

工具(7)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢caselaw_search(query, court, judge, journal, year_from, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "anyOf": [
        {
          "maxLength": 200,
          "minLength": 2,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Keywords, e.g. 'bail murder 302' or 'khula dower'. May be left out when a filter is given.",
      "title": "Query"
    },
    "court": {
      "anyOf": [
        {
          "maxLength": 100,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Only this court: 'Supreme Court', 'Lahore High Court' (or 'LHC'), 'Sindh High Court', 'Peshawar High Court', 'Islamabad High Court', 'Balochistan High Court', 'Federal Shariat Court', or a tribunal's name",
      "title": "Court"
    },
    "judge": {
      "anyOf": [
        {
          "maxLength": 100,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Only judgments where this judge sat on the bench. Spelling-tolerant: 'Asif Khosa', 'Qazi Faez Isa'. The reply names the judge it matched.",
      "title": "Judge"
    },
    "journal": {
      "anyOf": [
        {
          "maxLength": 20,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Only judgments reported in this law report: 'PLD', 'SCMR', 'CLC', 'YLR', 'PLC(CS)', 'PTD' ... With year_from/year_to it selects that volume, e.g. SCMR 2025.",
      "title": "Journal"
    },
    "year_from": {
      "anyOf": [
        {
          "maximum": 2100,
          "minimum": 1900,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Earliest year (inclusive)",
      "title": "Year From"
    },
    "year_to": {
      "anyOf": [
        {
          "maximum": 2100,
          "minimum": 1900,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Latest year (inclusive)",
      "title": "Year To"
    },
    "limit": {
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "minimum": 0,
      "title": "Offset",
      "type": "integer"
    },
    "sort": {
      "default": "relevance",
      "description": "relevance (default: nearest on the point, then court/bench/recency/citations) | newest (the ~200 closest matches in strict date order) | court (most senior court first) | recently_added (newest additions to the site). For the CURRENT law on a point, keep relevance and set year_from (e.g. 2025): strict date order can surface judgments that only mention the point in passing.",
      "title": "Sort",
      "type": "string"
    },
    "response_format": {
      "default": "markdown",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "Response Format",
      "type": "string"
    }
  },
  "title": "caselaw_searchArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "caselaw_searchOutput"
}
🟢caselaw_search_questions(query, court, judge, year_from, year_to, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "description": "The legal question or its subject, in the words a judgment would use — 'delay in lodging FIR', 'concurrent findings of fact', 'pre-arrest bail murder'",
      "maxLength": 200,
      "minLength": 2,
      "title": "Query",
      "type": "string"
    },
    "court": {
      "anyOf": [
        {
          "maxLength": 100,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Only this court, e.g. 'Supreme Court' or 'Lahore High Court'",
      "title": "Court"
    },
    "judge": {
      "anyOf": [
        {
          "maxLength": 100,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Only judgments where this judge sat on the bench (spelling-tolerant, e.g. 'Mansoor Ali Shah')",
      "title": "Judge"
    },
    "year_from": {
      "anyOf": [
        {
          "maximum": 2100,
          "minimum": 1900,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Earliest year (inclusive)",
      "title": "Year From"
    },
    "year_to": {
      "anyOf": [
        {
          "maximum": 2100,
          "minimum": 1900,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Latest year (inclusive)",
      "title": "Year To"
    },
    "limit": {
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "minimum": 0,
      "title": "Offset",
      "type": "integer"
    },
    "response_format": {
      "default": "markdown",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "Response Format",
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "title": "caselaw_search_questionsArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "caselaw_search_questionsOutput"
}
🟢caselaw_lookup_citation(journal, year, page, limit, offset, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "journal": {
      "description": "Law-report code, e.g. 'PLD', 'SCMR', 'CLC'",
      "maxLength": 30,
      "minLength": 1,
      "title": "Journal",
      "type": "string"
    },
    "year": {
      "maximum": 2100,
      "minimum": 1900,
      "title": "Year",
      "type": "integer"
    },
    "page": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Page/serial number in the report (optional)",
      "title": "Page"
    },
    "limit": {
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "minimum": 0,
      "title": "Offset",
      "type": "integer"
    },
    "response_format": {
      "default": "markdown",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "Response Format",
      "type": "string"
    }
  },
  "required": [
    "journal",
    "year"
  ],
  "title": "caselaw_lookup_citationArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "caselaw_lookup_citationOutput"
}
🟢caselaw_get_case(case_id, section, response_format)

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).

輸入結構描述

{
  "type": "object",
  "properties": {
    "case_id": {
      "description": "Numeric judgment id (from a search/lookup/graph result)",
      "minimum": 1,
      "title": "Case Id",
      "type": "integer"
    },
    "section": {
      "default": "summary",
      "description": "'summary' = metadata + headnote (cheap); 'full' = + judgment text",
      "enum": [
        "summary",
        "full"
      ],
      "title": "Section",
      "type": "string"
    },
    "response_format": {
      "default": "markdown",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "Response Format",
      "type": "string"
    }
  },
  "required": [
    "case_id"
  ],
  "title": "caselaw_get_caseArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "caselaw_get_caseOutput"
}
🟢caselaw_get_citations(case_id, limit, offset, response_format)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "case_id": {
      "description": "Numeric judgment id",
      "minimum": 1,
      "title": "Case Id",
      "type": "integer"
    },
    "limit": {
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "minimum": 0,
      "title": "Offset",
      "type": "integer"
    },
    "response_format": {
      "default": "markdown",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "Response Format",
      "type": "string"
    }
  },
  "required": [
    "case_id"
  ],
  "title": "caselaw_get_citationsArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "caselaw_get_citationsOutput"
}
🟢caselaw_get_cited_by(case_id, limit, offset, response_format)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "case_id": {
      "description": "Numeric judgment id",
      "minimum": 1,
      "title": "Case Id",
      "type": "integer"
    },
    "limit": {
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "minimum": 0,
      "title": "Offset",
      "type": "integer"
    },
    "response_format": {
      "default": "markdown",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "Response Format",
      "type": "string"
    }
  },
  "required": [
    "case_id"
  ],
  "title": "caselaw_get_cited_byArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "caselaw_get_cited_byOutput"
}
🟢caselaw_most_cited(limit, offset, response_format)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "minimum": 0,
      "title": "Offset",
      "type": "integer"
    },
    "response_format": {
      "default": "markdown",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "Response Format",
      "type": "string"
    }
  },
  "title": "caselaw_most_citedArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "caselaw_most_citedOutput"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本7 個工具
已驗證未記錄版本7 個工具
已驗證未記錄版本7 個工具