Skip to main content
Glama

Montenegro Legal Research MCP Server (me-legal-mcp)

Crnogorski | English Documentation


Pravni MCP Server za Crnu Goru (me-legal-mcp) — Crnogorski

O ovom repozitorijumu

Ovaj repozitorijum omogućava povezivanje vašeg AI asistenta (Claude, Cursor, Windsurf, VS Code, Antigravity) sa Službenim listom Crne Gore (sluzbenilist.me) i centralnom bazom sudskih odluka (sudovi.me) koja obuhvata osnovne sudove, Privredni sud, više sudove u Podgorici i Bijelom Polju, Apelacioni sud, Upravni sud, Vrhovni sud i Ustavni sud Crne Gore.

Brza instalacija (Izbor AI aplikacije)

  1. Preuzimanje: Kliknite na <> Code -> Download ZIP i raspakujte fasciklu.

  2. Pokretanje: Pokrenite Click_Here_To_Install_Windows.bat (Windows) ili Click_Here_To_Install_Mac.command (macOS).

  3. Izbor AI aplikacije: Označite AI aplikacije koje koristite, kliknite na instalaciju i restartujte odabrani AI program.

Sigurnosna napomena: Alat ne pristupa vašim ličnim dokumentima na računaru; pretražuje isključivo javne pravne registre.

Sudske instance i izvori

Stepen suda

Obuhvaćeni sudovi u Crnoj Gori

Prvostepeni sudovi

Osnovni sudovi (15 Basic Courts across Montenegro), Privredni sud Crne Gore & Sudovi za prekršaje

Viši, Apelacioni i Upravni sud

Viši sud u Podgorici, Viši sud u Bijelom Polju, Apelacioni sud Crne Gore & Upravni sud Crne Gore

Vrhovni i Ustavni sud

Vrhovni sud Crne Gore & Ustavni sud Crne Gore

  • Službeni glasnik / Legislation: Službeni list Crne Gore (sluzbenilist.me) & Gov.me Legislation (https://www.sluzbenilist.me)

  • Sudska praksa / Case Law Portal: Centralni portal Sudovi Crne Gore - Odluke svih sudova (sudovi.me) (https://sudovi.me/odluke-sudova)


Related MCP server: hr-legal-mcp

English Documentation

Model Context Protocol (MCP) server providing direct, read-only access to Montenegro (ME) legislation, multi-tier judicial decisions (First Instance, Regional/Cantonal/Appellate, and Supreme/Constitutional courts), and statutory citation verification across major AI clients (Claude Desktop, Cursor, Windsurf, VS Code / GitHub Copilot, Cline, Continue.dev, and Antigravity).


Interactive Desktop Setup (Select Your AI Assistant)

This package includes a graphical installer for legal practitioners and non-technical users that lets you select which AI application(s) you use:

  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. Select Your AI Client(s) & Connect: Check the box(es) for the AI assistant(s) installed on your computer (Claude Desktop, Cursor, Windsurf, VS Code / GitHub Copilot, Cline, Continue.dev, or Antigravity), click Install to Selected AI Clients, and restart your selected AI application.

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 runtime inside the extracted folder and registers the server entry only in the AI client configuration files you select.


Multi-Tier Judicial Hierarchy & Official Sources

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

Judicial Tier

Covered Courts & Tribunals

Tier 1 — First Instance

Osnovni sudovi (15 Basic Courts across Montenegro), Privredni sud Crne Gore & Sudovi za prekršaje

Tier 2 — Regional / Cantonal / Appellate

Viši sud u Podgorici, Viši sud u Bijelom Polju, Apelacioni sud Crne Gore & Upravni sud Crne Gore

Tier 3 — Supreme & Constitutional

Vrhovni sud Crne Gore & Ustavni sud Crne Gore

  • National Legislation Registry: Službeni list Crne Gore (sluzbenilist.me) & Gov.me Legislation (https://www.sluzbenilist.me)

  • Multi-Tier Case Law Database: Centralni portal Sudovi Crne Gore - Odluke svih sudova (sudovi.me) (https://sudovi.me/odluke-sudova)

  • Supported Citation Format Example: Rev.br. 123/24 or Službeni list CG br. 15/2024

Indexed Court & Regional Sub-Portals

Sub-Portal Identifier (sub_court)

Official Endpoint / Registry

central_odluke

https://sudovi.me/odluke-sudova

vrhovni_sud

https://sudovi.me/vrhs

apelacioni_sud

https://sudovi.me/as

visi_podgorica

https://sudovi.me/vspg

visi_bijelo_polje

https://sudovi.me/vsbp

privredni_sud

https://sudovi.me/pscg

upravni_sud

https://sudovi.me/uscg


Available MCP Tools

Tool

Description

search_legislation

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

search_case_law

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

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

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": {
    "me-legal-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/jurisatlas/me-legal-mcp",
        "me-legal-mcp"
      ]
    }
  }
}

Available Tools

6 tools
list_court_hierarchyList Court HierarchyA

Return the complete step-by-step multi-tier judicial hierarchy for Montenegro (ME): 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.9/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 behavioral burden. "Return" and "List" imply a read-only, side-effect-free retrieval, and the content scope (tiers plus sub-portals) is disclosed, but there is no statement about permissions, static vs. live data, or completeness guarantees.

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 no filler, though the parenthetical slash-lists of court-type synonyms make it denser than necessary for routing purposes. Slightly overstuffed but every clause conveys scope.

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 zero-parameter reference tool with an output schema already documenting return values, the description covers region, tier structure, and sub-portals adequately. Only the relationship to the sibling search tools remains unstated.

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 is nothing for the description to clarify beyond the schema. The baseline for a parameterless tool applies, with no deductions warranted.

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?

Uses a specific verb ("Return") with a concrete resource ("complete step-by-step multi-tier judicial hierarchy for Montenegro (ME)") and enumerates the tiers returned. An agent can immediately distinguish this reference-listing tool from the search_* and get_* siblings.

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: the tier enumeration suggests this is a lookup tool to consult before searching tiered decisions, but the description never states when to use it versus search_tiered_court_decisions or any other sibling. No exclusions, prerequisites, or ordering guidance are given.

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 Montenegro (ME) court decisions and binding precedents via Sudovi Crne Gore - Sudska praksa (sudovi.me), Vrhovni sud CG & Ustavni sud (ustavnisud.me) (Supported courts: Vrhovni sud Crne Gore (Supreme Court), Ustavni sud Crne Gore (Constitutional Court), Apelacioni sud CG, Upravni sud CG).

NameRequiredDescriptionDefault
courtNoOptional court filter (Vrhovni sud Crne Gore (Supreme Court), Ustavni sud Crne Gore (Constitutional Court), Apelacioni sud CG, Upravni sud CG).
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?

With no annotations, the description carries the full behavioral burden. It usefully discloses the corpus sources and supported courts, but it does not describe search behavior such as full-text versus metadata matching, ranking, date coverage, or read-only safety beyond what 'Search' implies.

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?

The description is a single front-loaded sentence, but it is dense with parenthetical source names and repeats the supported-court list already present in the schema. It remains understandable, but the redundancy reduces efficiency.

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?

Because an output schema exists and schema coverage is complete, the description need not explain return values or parameters. It adequately identifies the legal corpus and courts, but it omits usage guidance and sibling-tool differentiation, leaving it only minimally complete for agent selection.

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 input schema already documents query, court, and limit semantics. The description largely duplicates the court list from the schema and adds no additional meaning about query syntax or filtering behavior.

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 clearly states a specific verb and resource: searching Montenegro court decisions and binding precedents, with named sources and supported courts. It distinguishes case law from legislation, but does not distinguish it from the sibling search_tiered_court_decisions 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 gives no explicit when-to-use guidance, no exclusions, and no comparison with alternatives such as search_tiered_court_decisions or search_legislation. Usage is only implied by the tool name and corpus description.

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 Montenegro (ME) national legislation (statutes, acts, codes, regulations) via Službeni list Crne Gore (sluzbenilist.me) & Gov.me Legislation and European/International legal registries.

NameRequiredDescriptionDefault
yearNoOptional enactment year filter.
limitNoMaximum number of results to return.
queryYesKeywords or statute title/number to search in Montenegro 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 provided, so the description carries the full burden. It usefully discloses the underlying corpora (službeni list / Službeni list Crne Gore, Gov.me, European/International registries), which is real context an agent could not get from the schema, but it says nothing about result language, ranking, cost, or coverage gaps between sources.

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 no filler; the verb and geography come first and the source list follows. It is dense but every clause is informative, so nothing is wasted.

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 only three fully documented parameters and an output schema present, return values need not be described. The description supplies the jurisdictional and source scope, leaving only minor gaps such as result language and cross-source coverage behavior.

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 coverage is 100%, and all three parameters already carry their own descriptions (query, year, limit with bounds), so the schema does the heavy lifting. The description adds corpus scope but no additional meaning about how query keywords interact with year filtering or what statute-number formats are accepted.

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 (search) and resource (Montenegro national legislation), enumerating the covered document types (statutes, acts, codes, regulations) and the source registries. The resource itself distinguishes it from siblings like search_case_law, but 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?

The scope 'Montenegro national legislation' implies when to use it, and by implication it is not for case law or court decisions. However, there is no explicit when-to-use/when-not statement and no routing to the sibling tools search_case_law or verify_citation, so selection is left to inference.

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 DecisionsB

Search court decisions in Montenegro (ME) 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

B3.2/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden, and it omits a meaningful default: tier defaults to 'appellate_regional', meaning an agent that omits tier silently searches only the appellate layer rather than all tiers. It also says nothing about the 50-result cap behavior or whether 'all' changes cost/latency; only the read-only nature is implicit in 'Search'.

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?

Two sentences, no filler, with the geographic scope and the filtering axis front-loaded. The tier enumeration is verbose but each item maps to a real parameter value, so it earns most of its space.

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, so return values need not be described, and the tool's surface is simple (four flat parameters). However, with no annotations and an undisclosed default tier, the definition leaves the agent without enough behavioral context to predict what a query will actually cover.

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 coverage is 100%, so the schema already documents tier, limit, query, and sub_court, and the description largely restates the tier vocabulary the schema defines. Its one genuine addition is telling the agent that sub_court keys come from list_court_hierarchy, which is real meaning beyond the schema's example values, but not enough to lift it above baseline.

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 court decisions in Montenegro') plus the filtering axis (judicial tier or regional/appellate court). It clearly scopes itself geographically and structurally, but never contrasts itself with the closest sibling, search_case_law, so an agent must infer which one to reach for.

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?

Provides implied guidance by pointing at list_court_hierarchy as the source of valid sub-portal keys, which hints at a two-step workflow. It gives no explicit when-to-use versus search_case_law or search_legislation, and no when-not-to-use 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 Montenegro (ME). Validates format and live existence of legal citations (e.g., 'Rev.br. 123/24 or Službeni list CG br. 15/2024') against official Montenegro and ECLI/ELI registries to prevent AI-hallucinated citations.

NameRequiredDescriptionDefault
citationYesCase citation, ECLI, or statute reference to verify (e.g., 'Rev.br. 123/24 or Službeni list CG br. 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, and it does disclose that this is a live external lookup against official Montenegro and ECLI/ELI registries plus a format check. It does not state what happens when a registry is unreachable, whether a failed verification is distinguished from an unknown registry, or any latency/rate considerations. An output schema exists, so return values needn't be explained here.

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?

Two sentences, front-loaded with the verifier role and jurisdiction before the mechanism. Slightly dense with stacked qualifiers ('official Montenegro and ECLI/ELI registries'), but no sentence is wasted.

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 an output schema, the description covers purpose, jurisdiction, and verification sources adequately. The remaining gaps (failure modes, registry availability, whether non-Montenegro citations are rejected) are real but minor at this complexity level.

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 required parameter with 100% schema description coverage, and the schema already supplies the same example citation formats. The description reinforces the accepted citation types ('Rev.br. 123/24 or Službeni list CG br. 15/2024') but adds no constraints beyond the schema, 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?

States a specific verb ('Validates format and live existence') against a specific resource (legal citations) with an explicit jurisdiction scope (Montenegro/ME) and named registries. It is clearly distinguishable from the sibling search_* tools by being a verifier rather than a retriever, though it never names those siblings directly.

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?

The stated goal ('prevent AI-hallucinated citations') implies the situation in which to use it, and the contrast with search tools is inferable from the word 'validates'. However, there is no explicit when-to-use/when-not-to-use statement, no mention of what to do if verification fails, and no named alternative such as search_case_law for finding a citation you don't yet have.

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.7/5.0

Scored across 6 tools

Disambiguation4/5

Most tools have clearly distinct roles, but search_case_law and search_tiered_court_decisions overlap because both search court decisions. The tiered variant is distinguishable by its judicial-tier filtering, but an agent could still hesitate between them.

Naming Consistency5/5

All tools use consistent snake_case verb_noun naming such as search_legislation, get_legal_document_markdown, and verify_citation. The pattern is predictable and readable throughout.

Tool Count5/5

Six tools is well-scoped for a legal research server, with each tool covering a distinct research need. There is no obvious bloat or thinness in the surface.

Completeness5/5

The surface covers the main legal-research lifecycle: legislation search, case-law search, tiered case-law search, full-document retrieval, court hierarchy discovery, and citation verification. No obvious dead ends are present for the stated Montenegro legal research purpose.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • 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 read-only search and retrieval of Croatian legislation, multi-tier court decisions, and statutory or case-law citation verification through official legal registries.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only search and retrieval of Serbian legislation, multi-tier court decisions, and full legal texts as Markdown, plus validation of statutory and case-law citations against official registries.
    MIT