Nalegalu MCP
Server Details
Semantic search over Polish law and case law, citing the exact in-force article.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- nalegaluorg/nalegalu
- GitHub Stars
- 4
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 7 of 7 tools scored. Lowest: 3.3/5.
Each tool targets a distinct operation: fetching legislation, fetching cases, searching legislation, finding related cases, checking signatures, verifying quotes, and health status. Even the two case-finding tools (related_cases and search_case_by_signature) differ clearly by input type (article vs. signature).
Most tools follow a clear verb_noun snake_case pattern (get_article, get_case, search_law, verify_quote). Minor deviations: 'related_cases' is a noun phrase rather than imperative, and 'health' is a standard but non-verb health check. Overall the pattern is mostly consistent.
Seven tools is a well-scoped count for a legal research MCP, covering both legislation and case law without redundancy. Each tool serves a specific purpose, and the size feels neither bloated nor thin.
The set covers the domain comprehensively: legislation search and article retrieval, case discovery via articles or signatures, case details with paging, quote verification, and health. The only minor gap might be a generic case search by court/date, but the provided tools are sufficient for the apparent workflows of citation checking and linking legal acts to jurisprudence.
Available Tools
7 toolsget_articleARead-onlyInspect
Fetch the exact text of one article (or paragraph) of a Polish legal act.
Deterministic lookup by act address (e.g. WDU19740240141) and article
key (e.g. "133" or "Art. 133."). Optional paragraph_key (e.g. "1" or
"§ 1.") narrows the result to a single paragraph.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | ||
| article_key | Yes | ||
| paragraph_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds valuable behavioral context by noting the lookup is deterministic and specifying acceptable key formats (e.g., '133' or 'Art. 133.'), which goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose. The additional detail on key formats is presented in a structured, readable way. Every sentence contributes useful information without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with annotations and an output schema present, the description covers purpose, parameters, and behavioral traits thoroughly. It does not need to explain return values due to the output schema, and it provides enough context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden for parameter semantics. It explains all three parameters with concrete examples: 'address' as act address (e.g., WDU19740240141), 'article_key' as article key, and 'paragraph_key' as optional narrowing. This fully compensates for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action (fetch), resource (exact text of an article/paragraph of a Polish legal act), and scope (deterministic lookup). It distinguishes itself from sibling search tools by emphasizing exact-address and article-key lookup, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context that this is for deterministic, exact-identifier lookup, implying it is for when the user already has the act address and article key. It does not explicitly name alternative tools for search-based discovery, so it lacks explicit exclusions or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_caseARead-onlyInspect
Fetch one SAOS court judgment (metadata + bounded text excerpt).
Use the saos_id from related_cases or search results. Long judgments
are paged: when has_more is true, call again with offset=next_offset.
If the response has ok=false with a fallback hint, SAOS is unavailable
or rate-limited — fetch the returned saos_url yourself with your own
web tools instead of retrying this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| offset | No | ||
| saos_id | Yes | ||
| max_chars | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds valuable behavioral details beyond the annotations: pagination with has_more/next_offset, a bounded text excerpt, and response handling when ok=false (rate limit/unavailability with a fallback URL). This extra context significantly enhances the agent's ability to handle edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured, with the core purpose stated first. It then provides progressive operational guidance (ID source, paging, fallback) without fluff. Every sentence contributes essential information, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (paging, error fallback, bounded excerpt) and the presence of an output schema, the description is thorough. It covers the full workflow: how to initiate the call, how to paginate, and how to respond to failure. The return structure is not described, but that is acceptable because an output schema exists. This is a complete description for a read-only fetch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate for parameter meanings. It explains the required 'saos_id' by telling how to obtain it, and the optional 'offset' by describing paging behavior. 'max_chars' is only indirectly referenced through 'bounded text excerpt' but is not explicitly named or detailed. This partial explanation earns a 4, as it covers the most critical parameters but leaves max_chars somewhat ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Fetch one SAOS court judgment') and specifies the scope ('metadata + bounded text excerpt'). It also distinguishes the tool from siblings by noting the source of the saos_id from related_cases or search results, making it the dedicated single-case retrieval tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly tells when to use the tool: after obtaining a saos_id from related_cases or search results. It also provides instructions for paging (offset with next_offset) and a fallback strategy (fetch the saos_url yourself) when the service is unavailable or rate-limited, which clearly guides the agent's decision process.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
healthARead-onlyInspect
Return a minimal public liveness status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that the status is 'minimal' and 'public', providing extra context about its accessibility and brevity beyond what annotations convey. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys all necessary information without wasted words. Perfectly concise for a simple health check endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's minimal complexity (no parameters, simple return value), the description is fully sufficient. Output schema and annotations handle any remaining details, and the public liveness nature is clearly communicated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description correctly implies no inputs are needed, and the empty schema properties confirm this. Nothing further is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Return') and resource ('minimal public liveness status'), making it unambiguous. It is immediately distinct from sibling tools like get_article or search_law, which are about content retrieval and legal searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, but the context makes it self-evident as a liveness/health check. The description does not mention exclusions or alternatives, so it relies on the tool's obvious purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_case_by_signatureARead-onlyInspect
Check whether a cited case signature (sygnatura) exists, e.g. "II CSK 448/14".
Answers from a local index of all SAOS judgments first; only on a
local miss does it query live SAOS. Read the verdict field:
"confirmed" (matches listed with saos_id, court, date, type —
different courts reuse signatures, so check the court), "not_found"
(strong evidence the citation is fabricated or wrong),
"outside_coverage" (administrative courts NSA/WSA are not in SAOS —
verify in CBOSA instead), "unverified" (local miss and SAOS
unreachable; do not treat as nonexistent). Optional court_type:
COMMON, SUPREME, CONSTITUTIONAL_TRIBUNAL, NATIONAL_APPEAL_CHAMBER.
has_text=false on a match means SAOS stores no text for it, so
verify_quote cannot check quotes against that judgment.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| signature | Yes | ||
| court_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, but the description goes far beyond: local-index-first behavior with live SAOS fallback, detailed verdict semantics (confirmed, not_found, outside_coverage, unverified), the court-reuse warning, and has_text implications for verify_quote. This is rich behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, followed by a logical structure: lookup behavior, verdict interpretation, optional parameter, and cross-tool implication. Each sentence earns its place given the tool's nuanced result semantics; nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 3 parameters and an output schema, the description is remarkably complete. It covers all outcome cases, explains how to handle each (including the critical 'do not treat as nonexistent' for unverified), and notes the impact on verify_quote. The agent has everything needed to use results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does so well for signature (providing a format example) and court_type (enumerating values COMMON, SUPREME, CONSTITUTIONAL_TRIBUNAL, NATIONAL_APPEAL_CHAMBER), but the limit parameter receives no explanation beyond the schema's default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Check whether a cited case signature (sygnatura) exists', with a concrete example signature. It clearly distinguishes this tool from siblings like get_case, verify_quote, and search_law by focusing on existence/verification against SAOS.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for when the tool is appropriate (verifying cited signatures) and gives explicit alternative guidance ('verify in CBOSA instead' for administrative courts). However, it does not explicitly compare against sibling search tools like search_law or related_cases, so it stops short of full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_lawBRead-onlyInspect
Search Polish legal acts and return compact article-level hits.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| domain | No | ||
| status | No | ||
| address | No | ||
| article | No | ||
| act_type | No | ||
| top_cases | No | ||
| case_law_boost | No | ||
| candidate_multiplier | No | ||
| include_non_in_force | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds useful context by specifying that results are 'compact article-level hits', which informs the agent about the granularity and format of the response. However, it does not disclose other behaviors such as pagination, filtering nuances, or the presence of case-law boosting (evident from parameters like 'case_law_boost').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently states the action, object, and result type. Every word earns its place, and there is no redundant or fluff content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the tool is complex with 11 parameters and a mix of legal and ranking-related options. The description only covers the basic search function and does not mention how to use filtering parameters (domain, status, act_type) or advanced features (top_cases, case_law_boost). An agent would lack crucial context on when and how to leverage these options, making the description incomplete for effective invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, and the description provides no additional meaning for any of the 11 parameters. It does not even explicitly link the 'query' parameter to the search action. With a large number of parameters including obscure ones like 'candidate_multiplier' and 'case_law_boost', the description fails to compensate for the complete lack of schema-level documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Search') and clearly identifies the resource ('Polish legal acts') and output type ('compact article-level hits'). This distinguishes it from sibling tools like get_article or search_case_by_signature, which target specific articles or case law rather than general article-level searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its usage as the general search tool for Polish legal acts, but it does not explicitly state when to prefer it over alternatives like related_cases or search_case_by_signature. There is no mention of exclusions or specific use cases, so the guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_quoteARead-onlyInspect
Check whether a quoted fragment actually appears in a SAOS judgment.
Pass the saos_id (from search_case_by_signature or related_cases) and
the fragment as quoted. One call replaces paging through the full
text: verdict is "exact" (verbatim after normalizing whitespace,
quote marks and dashes), "near_match" (best passage plus similarity
score — compare it against the claim), or "not_found" (treat the
quote as fabricated or misattributed). If ok=false with a fallback
hint, fetch saos_url with your own web tools instead of retrying.
| Name | Required | Description | Default |
|---|---|---|---|
| quote | Yes | ||
| saos_id | Yes | ||
| min_similarity | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations (readOnlyHint, destructiveHint). It explains the matching behavior (normalizing whitespace, quote marks, dashes), the meaning of each verdict ('exact', 'near_match', 'not_found'), and the fallback behavior with ok=false. This gives the agent a clear mental model of what to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the purpose, and uses a clear second paragraph for usage details. Every sentence adds value: it states the purpose, provides input provenance, explains the three verdict outcomes, and gives a fallback instruction. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's moderate complexity (3 params, output schema), the description covers the essential operational context: how to pass the quote, what verdicts to expect, and how to react to failures. It relies on the output schema for exact return structure, which is appropriate. The description fully supports correct tool invocation and result interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains saos_id (from search_case_by_signature or related_cases) and the quote fragment well. It also mentions 'similarity score' in the context of near_match, which alludes to the min_similarity parameter, but does not explicitly explain that min_similarity controls the threshold. Since the core two parameters are well-covered and min_similarity is only partially addressed, a score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Check whether a quoted fragment actually appears in a SAOS judgment.' It clearly distinguishes itself from siblings by focusing on verification of a quote against a specific judgment (using saos_id) rather than searching or fetching. The mention of obtaining saos_id from search_case_by_signature or related_cases further differentiates it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'One call replaces paging through the full text.' It also provides a clear alternative: 'If ok=false with a fallback hint, fetch saos_url with your own web tools instead of retrying.' This tells the agent both the intended use case and how to handle failure, which is strong usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceEnables semantic search over Polish court judgments and legislative acts via MCP. Allows LLMs to retrieve legal documents using natural language queries.Apache 2.0
- AlicenseAqualityBmaintenanceVerifies legal citations by fetching the exact, in-force wording of cited articles from official PL and EU legal sources, preventing hallucination by returning verbatim text.23Apache 2.0
- AlicenseAqualityAmaintenanceEnables AI-powered legal research and analysis of Polish legal acts from the Sejm API. Provides comprehensive search, document retrieval, metadata analysis, and content access for legal documents from Dziennik Ustaw and Monitor Polski.1320MIT
- Alicense-qualityFmaintenanceEnables querying and analyzing Slovak legislation via natural language, including full-text search, provision retrieval, and EU law integration.702Apache 2.0