Skip to main content
Glama

FAI Legal Research

Server Details

Pakistani case law and statutes: Supreme Court and High Court judgments, laws, drafting templates.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: list vs. retrieve templates, search vs. retrieve statutes, and search judgments. The descriptions explicitly clarify when to use each tool, leaving no meaningful overlap.

Naming Consistency5/5

All names follow a consistent snake_case verb_noun pattern: get_drafting_template, list_drafting_templates, get_statute_section, search_judgments, search_statutes. Minor pluralization differences do not break predictability.

Tool Count5/5

Five tools are well-scoped for a legal research and drafting assistant, each covering a distinct capability without redundancy. This falls comfortably within the typical 3–15 tool range.

Completeness4/5

Core workflows are covered: finding statutes, retrieving specific sections, searching judgments, and listing/retrieving drafting templates. A minor gap exists in retrieving full judgment text or a judgment directly by citation, which may limit deeper case research.

Available Tools

5 tools
get_drafting_templateGet a Pakistani legal drafting templateA
Read-onlyIdempotent
Inspect

Return one reviewed template: its structure, the facts that must be collected first, and the standard wording for its Pakistani forum. Ask the user for any missing facts, never invent them, then fill the template.

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYesAn id from list_drafting_templates, e.g. "legal-notice".

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
nameNo
noteYes
forumNo
foundYes
messageNo
categoryNo
templateNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuine value beyond that: the template is 'reviewed', and it discloses the return content and the anti-hallucination constraint on missing facts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, no filler, and the deliverable is front-loaded before the workflow instruction. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Purpose, returned content, parameter source, and the operating constraint (ask, don't invent) are all present, and an output schema exists so return-value documentation is unnecessary. An agent has everything needed to invoke this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage; the schema already documents template_id, its length bounds, and that it comes from list_drafting_templates. The description adds no additional parameter meaning, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Return one reviewed template') and enumerates the payload ('its structure, the facts that must be collected first, and the standard wording for its Pakistani forum'). The singular 'one' implicitly separates it from the sibling list_drafting_templates, which returns many.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operational context: ask the user for missing facts, never invent them, then fill the template. It also implies the template_id originates from list_drafting_templates via the schema. However, it never states when to prefer this tool over siblings like get_statute_section or search_judgments, and offers no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_statute_sectionGet a section of a Pakistani lawA
Read-onlyIdempotent
Inspect

Return the full text of one section or article of a Pakistani law when the act and number are known, e.g. act "PPC", section "392"; act "Constitution", section "199".

ParametersJSON Schema
NameRequiredDescriptionDefault
actYesAct name or common short form: PPC, CrPC, CPC, Constitution, Contract Act, Qanun-e-Shahadat...
sectionYesSection or article number, e.g. "489-F", "199".

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
foundYes
messageNo
sectionsYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds only the retrieval granularity (one section, full text) and no auth, rate-limit, or not-found behavior, which is acceptable but modest given an output schema is also present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that states the action, the scope, and the triggering condition, then illustrates with two concrete pairs. No filler and nothing buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter lookup with an output schema and full annotation coverage, the description supplies everything needed to invoke it correctly. Minor gaps (behavior when a section is not found, exact identifier normalization) are tolerable given the output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters already document accepted formats and examples ('PPC', 'CrPC', '489-F'). The examples in the description ('PPC'/'392', 'Constitution'/'199') largely restate the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (return) and resource (full text of one section/article of a Pakistani law) with concrete examples of the act/section pairings. The precondition 'when the act and number are known' implicitly separates it from search_statutes, which is the sibling an agent would otherwise confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear precondition for use ('when the act and number are known'), which tells the agent to reach for a search tool when the citation is unknown. It does not name search_statutes as the alternative or state what happens on a miss, so it falls short of an explicit when/when-not rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_drafting_templatesList Pakistani legal drafting templatesA
Read-onlyIdempotent
Inspect

List FAI's reviewed Pakistani legal drafting templates (legal notice, plaint, bail application, written statement, affidavit, agreements, family and rent matters and more). Use when the user wants to draft a Pakistani legal document; then call get_drafting_template with the chosen id.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoOptional words to narrow the list, e.g. "bail" or "notice".

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
countYes
templatesYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The description adds the 'reviewed' curation signal and the breadth of template categories, but says nothing about result ordering, count, or pagination behavior; with an output schema present, return-format detail is not required. Modest value added on top of annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the verb and resource, and the workflow sentence is compact. The parenthetical category list is long-ish but earns its place by conveying the template breadth an agent needs to judge relevance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations covering the safety profile, an output schema covering returns, and a fully documented single parameter, the description supplies the remaining essentials: scope, content breadth, and the chaining step to get_drafting_template. Only the absence of explicit non-use cases keeps it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single filter parameter is fully documented in the schema with a default, maxLength and examples. The description adds nothing about filtering syntax or matching behavior, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) plus a precisely scoped resource (FAI's reviewed Pakistani legal drafting templates) and enumerates concrete examples (legal notice, plaint, bail application, affidavit, etc.). It also differentiates itself from the sibling get_drafting_template by positioning itself as the discovery step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use it when the user wants to draft a Pakistani legal document, and gives the follow-up routing step (call get_drafting_template with the chosen id), which is a genuinely useful workflow hint. It does not state when-not to use it (e.g. use search_statutes or search_judgments for research rather than drafting), so it stops short of full alternative coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_judgmentsSearch Pakistani judgmentsA
Read-onlyIdempotent
Inspect

Find reported judgments (case law, precedents) of Pakistani courts: Supreme Court of Pakistan, Lahore, Sindh, Peshawar, Balochistan and Islamabad High Courts, Federal Shariat Court and others. Use for any request like "Supreme Court judgment on bike snatching", "case law on pre-arrest bail mala fide", "precedent on specific performance". Returns citation (e.g. 2022 SCMR 1577), court, year, parties, judges, provisions and headnote, ranked by relevance; off-topic matches are dropped, so an empty list means no on-point judgment was found. Pakistan only.

ParametersJSON Schema
NameRequiredDescriptionDefault
courtNoOnly this court. Omit to search all Pakistani courts.
limitNoHow many judgments to return (max 5).
queryYesThe legal issue or facts in plain English, e.g. "motorcycle snatched at gunpoint robbery conviction".
year_toNoLatest year of the report.
year_fromNoEarliest year of the report.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
resultsYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real behavioral context the annotations cannot: results are relevance-ranked, off-topic matches are dropped, and an empty list explicitly means no on-point judgment exists rather than a failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three front-loaded sentences: scope first, usage examples second, return shape and empty-result semantics last. No sentence is redundant and none repeats the schema verbatim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter, single-required search tool with full schema coverage and an output schema, the description supplies everything else an agent needs: jurisdiction limits, sample invocations, ranking behavior, and empty-result interpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns slightly more by giving example query strings that demonstrate the expected plain-English fact pattern for `query` and by enumerating the court bodies that map onto the `court` enum. It does not clarify the year_from/year_to interaction, which is left entirely to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Find) and resource (reported judgments/case law) plus an explicit jurisdiction scope and an enumeration of covered courts. It is clearly separable from the sibling search_statutes, which handles statutes rather than case law.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete trigger phrasings ("Supreme Court judgment on bike snatching", "case law on pre-arrest bail mala fide") that show exactly what requests belong here, and constrains scope with "Pakistan only." It never names an alternative tool or states when not to use it, so it falls short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_statutesSearch Pakistani statutesA
Read-onlyIdempotent
Inspect

Find the sections of Pakistani laws relevant to a question: Pakistan Penal Code (PPC), Code of Criminal Procedure (CrPC), Code of Civil Procedure (CPC), the Constitution, Contract Act, Limitation Act, Qanun-e-Shahadat, family, tax, labour and provincial laws. Use for "punishment for snatching a motorcycle", "which section covers cheque dishonour", "bail in a non-bailable offence". Understands everyday words (murder finds qatl-i-amd, s.302 PPC). Returns section text with its citation.

ParametersJSON Schema
NameRequiredDescriptionDefault
actNoOnly search this act, e.g. "Code of Criminal Procedure".
limitNo
queryYesThe question or topic, or a section reference like "section 302 PPC".

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
resultsYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, closed-world and non-destructive, so the safety profile is covered. The description adds real behavioral value beyond them: natural-language synonym matching ('murder finds qatl-i-amd, s.302 PPC') and the fact that section text plus citation is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose then scope then examples; every clause carries information. The act enumeration and example list are dense but justified for a multi-corpus legal search, though slightly long.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't explain returns, yet briefly notes section text with citation. Coverage of corpus, query semantics and scoping is sufficient for correct invocation; only explicit sibling routing is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% (limit is undocumented in the schema). The description compensates for the important parameter by explaining that query accepts everyday words, topics, or section references, and that act scopes the search to one statute, adding semantic detail the schema alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Find the sections of Pakistani laws relevant to a question') and enumerates the exact corpus covered (PPC, CrPC, CPC, Constitution, etc.), so an agent knows precisely what this returns versus a general web search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides concrete trigger examples ('punishment for snatching a motorcycle', 'bail in a non-bailable offence') that make the intended use unambiguous, and clarifies it handles everyday phrasing. It stops short of naming when to prefer get_statute_section (citation lookup) or search_judgments (case law) instead.

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. 5 tool updates
    • First observedget_drafting_template
    • First observedget_statute_section
    • First observedlist_drafting_templates
    • First observedsearch_judgments
    • First observedsearch_statutes

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    MCP server for searching and retrieving Pakistani federal statutes and Supreme Court judgments with structured citations, using static HuggingFace datasets.
    6
    47 PyPI
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables searching IndiaKanoon's live index of Indian case law, legislation, the Constitution, treaties, and parliamentary material, then retrieving full document text with pagination and excerpt targeting. Also traces precedent chains by listing the cases that cite, or are cited by, a given judgment.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources