Skip to main content
Glama

Albania Legal Research MCP Server (al-legal-mcp)

Model Context Protocol (MCP) server providing direct, read-only access to Albania (AL) legislation, multi-tier judicial decisions (First Instance, Regional/Cantonal/Appellate, and Supreme/Constitutional courts), and statutory citation verification for Claude Desktop, Cursor, and Antigravity.


Quick Desktop Setup (No Command Line Required)

This package includes a graphical installer for legal practitioners who prefer not to use terminal commands or edit JSON configuration files manually.

  1. Download: Click <> Code at the top right of this repository, select Download ZIP, and extract the folder to your computer.

  2. Run the Setup Utility:

    • Windows: Double-click Click_Here_To_Install_Windows.bat

    • macOS: Double-click Click_Here_To_Install_Mac.command

  3. Connect: Click Install & Connect Automatically in the setup window and restart Claude Desktop.

System Integrity Note: The setup utility operates strictly in read-only mode with respect to your personal files and documents. It installs an isolated Python environment inside the extracted folder and registers the server entry in your AI client configuration.


Related MCP server: Cyprus Legal Research MCP Server

Multi-Tier Judicial Hierarchy & Official Sources

This server indexes and queries decisions across the full judicial hierarchy of Albania, allowing practitioners to filter research by procedural stage:

Judicial Tier

Covered Courts & Tribunals

Tier 1 — First Instance

Gjykatat e Shkallës së Parë të Juridiksionit të Përgjithshëm (13 District First Instance Courts), Gjykatat Administrative të Shkallës së Parë & GJKKO

Tier 2 — Regional / Cantonal / Appellate

Gjykata e Apelit të Juridiksionit të Përgjithshëm (Tiranë), Gjykata Administrative e Apelit & Gjykata e Posaçme e Apelit

Tier 3 — Supreme & Constitutional

Gjykata e Lartë e Republikës së Shqipërisë (gjykataelarte.gov.al) & Gjykata Kushtetuese (gjk.gov.al)

  • National Legislation Registry: Qendra e Botimeve Zyrtare - QBZ (qbz.gov.al Official Publications Center) (https://qbz.gov.al)

  • Multi-Tier Case Law Database: Portali Gjyqësor Kombëtar Gjykatat.gov.al & Gjykata e Lartë Unifying Decisions (https://gjykatat.gov.al)

  • Supported Citation Format Example: Vendimi Nr. 123/2024 or Fletorja Zyrtare Nr. 15/2024

Indexed Court & Regional Sub-Portals

Sub-Portal Identifier (sub_court)

Official Endpoint / Registry

gjykatat_portal

https://gjykatat.gov.al

gjykata_e_larte

https://www.gjykataelarte.gov.al

gjykata_kushtetuese

https://www.gjk.gov.al


Available MCP Tools

Tool

Description

search_legislation

Searches enacted statutes, codes, decrees, and official gazette publications in Albania.

search_case_law

Searches national jurisprudence and European/ECLI-linked judgments for Albania.

search_tiered_court_decisions

Filters case law specifically by judicial instance (first_instance, appellate_regional, supreme_constitutional) or regional/cantonal court key (sub_court).

list_court_hierarchy

Returns the complete 3-tier court structure and registered sub-portal endpoints for Albania.

get_legal_document_markdown

Retrieves full statutory or judicial texts and converts them into clean Markdown.

verify_citation

Validates statutory and case law citations against official registries.


{
  "mcpServers": {
    "al-legal-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/jurisatlas/al-legal-mcp",
        "al-legal-mcp"
      ]
    }
  }
}

Available Tools

6 tools
list_court_hierarchyList Court HierarchyA

Return the complete step-by-step multi-tier judicial hierarchy for Albania (AL): Tier 1 (First Instance / Trial / Municipal / District Courts), Tier 2 (Regional / Cantonal / County / Appellate Courts), Tier 3 (Supreme / Cassation / Constitutional Courts), and all official court sub-portals.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden and correctly implies a read-only reference listing scoped to Albania. However, it does not state whether the hierarchy is static or dynamically updated, its authoritative source, or any caching/rate-limit behavior.

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?

The definition is a single front-loaded sentence with no wasted wording. The tier enumeration is useful because it specifies the exact scope of the returned hierarchy.

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 simple zero-parameter static lookup with an output schema, the description is mostly complete: it defines the jurisdiction and hierarchical coverage. The main gap is the absence of explicit usage guidance, though the tool's purpose remains understandable.

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?

The tool takes zero parameters, so there are no parameter semantics to clarify beyond the schema. The baseline for a parameterless tool is 4.

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?

The description uses a specific verb, 'Return', names the exact resource, Albania's judicial hierarchy, and enumerates the tiers and sub-portals. This makes clear it is a static hierarchy lookup rather than a search or document-retrieval tool.

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

Usage Guidelines2/5

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

The description explains what is returned but gives no explicit when-to-use guidance, prerequisites, or named alternatives among the sibling court/legal-search tools. Usage is only inferable from the tool name and output description.

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

search_case_lawSearch Case LawB

Search Albania (AL) court decisions and binding precedents via Gjykata e Lartë e Republikës së Shqipërisë (gjykataelarte.gov.al) & Gjykata Kushtetuese (gjk.gov.al) (Supported courts: Gjykata e Lartë (High / Supreme Court), Gjykata Kushtetuese (Constitutional Court), Gjykata e Apelit të Juridiksionit të Përgjithshëm).

NameRequiredDescriptionDefault
courtNoOptional court filter (Gjykata e Lartë (High / Supreme Court), Gjykata Kushtetuese (Constitutional Court), Gjykata e Apelit të Juridiksionit të Përgjithshëm).
limitNoMaximum number of judgments to return.
queryYesLegal issue, keywords, party name, or ECLI/case number.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full disclosure burden; it does add useful context about which courts and official websites are covered. It says nothing about result ordering, whether full text or snippets are returned, pagination, or any access constraints, which are the traits an agent would need before invoking a search tool.

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

Conciseness3/5

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

It is front-loaded with the core purpose, which is good, but it is a single run-on sentence that repeats the supported-court list already present in the schema and stuffs two URLs and three court names into one breath. Content that earns its place is diluted by duplication.

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

Completeness3/5

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

An output schema exists and the input schema is fully documented, so return values and parameters need not be explained. What is missing is the routing information relative to the similar sibling search_tiered_court_decisions, which for a three-parameter search tool is a meaningful gap.

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%, so all three parameters are already documented in the schema, establishing a baseline of 3. The description merely restates the court list verbatim from the schema and adds no extra meaning about query syntax or how court names should be matched.

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

Purpose4/5

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

States a specific verb and resource (search Albanian court decisions and binding precedents) and pins the jurisdiction and source domains (gjykataelarte.gov.al, gjk.gov.al). It does not differentiate itself from the close sibling search_tiered_court_decisions, so an agent cannot tell from the description alone which of the two to pick.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no mention of alternatives, despite four siblings including search_tiered_court_decisions and search_legislation that an agent could confuse with this one. The only conditional hint is that the court filter is optional, which is already visible in the schema.

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

search_legislationSearch LegislationA

Search Albania (AL) national legislation (statutes, acts, codes, regulations) via Qendra e Botimeve Zyrtare - QBZ (qbz.gov.al Official Publications Center) and European/International legal registries.

NameRequiredDescriptionDefault
yearNoOptional enactment year filter.
limitNoMaximum number of results to return.
queryYesKeywords or statute title/number to search in Albania legislation.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full burden. It usefully discloses the source registries being queried (QBZ plus European/International legal registries), which tells the agent about jurisdictional coverage, but it says nothing about result ranking, language of the corpus, pagination behavior, or any access constraints.

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?

A single front-loaded sentence with the verb first and no filler. The parenthetical expansions of QBZ and the document types earn their place by clarifying coverage, though the dual-source clause is somewhat compressed.

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?

An output schema exists and parameter coverage is complete, so the description needn't explain return values. For a simple three-parameter search tool it covers what is searched and where; the main residual gap is the absence of sibling routing guidance and any note on corpus language.

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%, so the schema already explains query, year, and limit, including the 1-50 range on limit. The description adds no extra meaning about query syntax (keywords vs statute number), language expectations, or what the year filter matches against, so baseline 3 applies.

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

Purpose4/5

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

Specific verb ("Search") plus a precisely scoped resource: Albania (AL) national legislation, with enumerated document types (statutes, acts, codes, regulations) and named sources (QBZ/qbz.gov.al, European/International registries). The resource type alone distinguishes it from siblings like search_case_law and verify_citation, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

Usage is implied by the resource scope (legislation, not case law or citations), but there is no explicit when-to-use, when-not-to-use, or routing statement naming the alternative tools. An agent must infer that court decisions belong to search_case_law and citation checks to verify_citation.

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

search_tiered_court_decisionsSearch Tiered Court DecisionsA

Search court decisions in Albania (AL) filtered by specific judicial tier or regional/cantonal/appellate court. Supports Tier 1 (first_instance), Tier 2 (appellate_regional — including Cantonal/Regional/County/Circuit courts), and Tier 3 (supreme_constitutional), or a specific sub-portal key from list_court_hierarchy.

NameRequiredDescriptionDefault
tierNoJudicial stage: 'first_instance', 'appellate_regional' (Cantonal/Regional/Circuit/Appellate), 'supreme_constitutional', or 'all'.appellate_regional
limitNoMaximum number of decisions to return.
queryYesLegal issue, statute article, case number, or keywords.
sub_courtNoOptional specific court/canton/region key (e.g. 'kanton_sarajevo', 'kanton_tuzla', 'kanton_mostar', 'okruzni_banja_luka', etc.).

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It identifies the operation as a search but does not disclose read-only status, permissions, rate limits, result ordering, or other behavioral traits beyond the basic operation, though the output schema covers return values.

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?

The description is two dense sentences with no filler, front-loading the resource and jurisdiction before detailing supported tiers and the sub-portal option. Every phrase contributes to selection or invocation.

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?

Given the output schema and 100% parameter coverage, the description is nearly complete for calling the tool. It lacks guidance on when to choose this over the sibling search_case_law, and without annotations it does not cover behavioral caveats such as permission requirements or rate limits.

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, but the description adds meaning by mapping Tier 1/2/3 labels to the enum values and by noting that appellate_regional includes Cantonal/Regional/County/Circuit courts. It also ties sub_court to list_court_hierarchy, which helps clarify that optional parameter.

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

Purpose4/5

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

The description states a specific verb (Search), resource (court decisions), jurisdiction (Albania), and filter dimensions (judicial tier or specific court). It distinguishes from list_court_hierarchy by referencing it for sub-portal keys, but does not differentiate from the sibling search_case_law tool.

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

Usage Guidelines3/5

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

Usage is implied by describing tier-based filtering and pointing to list_court_hierarchy for sub_court keys, but there is no explicit guidance on when to use this tool versus search_case_law or other siblings, nor any when-not conditions.

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

verify_citationVerify CitationA

No-Hallucination Citation Verifier for Albania (AL). Validates format and live existence of legal citations (e.g., 'Vendimi Nr. 123/2024 or Fletorja Zyrtare Nr. 15/2024') against official Albania and ECLI/ELI registries to prevent AI-hallucinated citations.

NameRequiredDescriptionDefault
citationYesCase citation, ECLI, or statute reference to verify (e.g., 'Vendimi Nr. 123/2024 or Fletorja Zyrtare Nr. 15/2024').

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose meaningful behavior beyond the name: validation covers both syntax and 'live existence' against external registries, implying a network lookup and dependence on registry availability. It does not say what happens on lookup failure, whether unverified results are distinguished from invalid ones, or whether any auth/rate limits apply.

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?

One sentence, front-loaded with the tool's purpose and followed by the concrete scope and rationale. Slight marketing framing ('No-Hallucination Citation Verifier') is decorative but costs little, and nothing is redundant.

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 one-parameter verification tool with a full schema, an output schema covering return values, and clear jurisdiction scope, the description is nearly sufficient. The main remaining gap is failure behavior for citations that cannot be resolved, which matters for a verification tool whose verdict drives downstream trust.

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, so the baseline is 3. The description's example ('Vendimi Nr. 123/2024 or Fletorja Zyrtare Nr. 15/2024') largely duplicates the schema's own example and adds no new format rules, accepted variants, or normalization guidance.

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

Purpose4/5

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

The description names a specific verb+resource pair: it 'validates format and live existence of legal citations' against official Albania and ECLI/ELI registries. That is clearly distinct from the sibling search_* and get_* tools, but the description never explicitly contrasts itself with them, so the differentiation is implicit rather than stated.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer it should call this before relying on or emitting a citation, but the description gives no explicit trigger conditions, no when-not-to-use cases, and no named alternative (e.g., search_legislation for finding a citation you don't have yet). The Albania-only scope is the one useful boundary it does convey.

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. 6 tool updatesv1.1.0
    • First observedget_legal_document_markdown
    • First observedlist_court_hierarchy
    • First observedsearch_case_law
    • First observedsearch_legislation
    • First observedsearch_tiered_court_decisions
    • First observedverify_citation

TDQS

A3.6/5.0

Scored across 6 tools

Disambiguation3/5

The two search tools (search_case_law and search_tiered_court_decisions) overlap substantially: both return Albanian court decisions, and the distinction between 'named apex courts' vs 'filter by tier' is only clear after reading the full descriptions. The remaining tools (legislation search, document fetch, hierarchy listing, citation verification) are cleanly distinct.

Naming Consistency5/5

All six tools follow a consistent snake_case verb_noun pattern: list_*, search_*, get_*, verify_*. Lengths vary but the convention is uniform and predictable.

Tool Count5/5

Six tools is well-scoped for a legal research server: one per core action (hierarchy, legislation search, case law search, tiered search, document retrieval, citation verification). Each tool earns its place.

Completeness4/5

The surface covers discovery, search, full-text retrieval, and citation verification, which is a solid lifecycle for read-only legal research. Minor gaps remain, such as a direct fetch-by-citation path or a tool for treaty/international-law lookup separate from the legislation search.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only search, retrieval, and citation verification for Bosnia and Herzegovina legislation and court decisions across first-instance, appellate, and supreme/constitutional tiers.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only search and retrieval of Czech legislation and multi-tier court decisions, filtering by judicial instance, and verification of statutory and case-law citations against official registries.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables direct, read-only legal research across EU and ECHR legislation and multi-tier judicial decisions, including full-text retrieval and statutory/case-law citation verification through MCP tools.
    MIT