{"name":"io.github.nalegaluorg/nalegalu","slug":"nalegaluorg-nalegalu","title":"Nalegalu MCP","description":"Semantic search over Polish law and case law, citing the exact in-force article.","url":"https://mcp.market/server/nalegaluorg-nalegalu","rating":null,"grade":"B","score":84,"certified":false,"status":"active","category":"search","tags":["search"],"presence":{"score":28,"stars":10,"forks":5,"downloads_week":null,"last_push_at":"2026-07-13T17:29:49.000Z","license":"CC0-1.0"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T08:10:40.981Z","last_ok_at":"2026-11-04T08:10:40.981Z","latency_ms":487},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/nalegaluorg/nalegalu","website":"https://nalegalu.org","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://mcp.nalegalu.org/mcp"}],"packages":[],"tools":[{"name":"get_article","description":"Fetch the exact text of one article (or paragraph) of a Polish legal act.\n\n        Use after search_law or another trusted source supplied the address and\n        article key; never guess them. Deterministic lookup by act address\n        (e.g. WDU19740240141) and article\n        key (e.g. \"133\" or \"Art. 133.\"). Optional paragraph_key (e.g. \"1\" or\n        \"§ 1.\") narrows the result to a single paragraph.\n        ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"address":{"title":"Address","type":"string"},"article_key":{"title":"Article Key","type":"string"},"paragraph_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Paragraph Key"}},"required":["address","article_key"],"title":"get_articleArguments"}},{"name":"get_case","description":"Fetch one SAOS court judgment (metadata + bounded text excerpt).\n\n        Use only with a saos_id returned by related_cases or\n        search_case_by_signature. Long judgments\n        are paged: when has_more is true, call again with offset=next_offset.\n        If the response has ok=false with a fallback hint, SAOS is unavailable\n        or rate-limited — fetch the returned saos_url yourself with your own\n        web tools instead of retrying this tool.\n        ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"saos_id":{"title":"Saos Id","type":"integer"},"max_chars":{"default":6000,"title":"Max Chars","type":"integer"},"offset":{"default":0,"title":"Offset","type":"integer"}},"required":["saos_id"],"title":"get_caseArguments"}},{"name":"related_cases","description":"List SAOS cases related to one statutory provision.\n\n        Use after identifying a relevant provision. A related-case link is not\n        proof of a legal rule: inspect the judgment with get_case before\n        asserting its holding. Deterministic lookup by act address\n        (e.g. WDU19740240141) and article\n        key. Returns case number, court, date, relevance score when available,\n        and a SAOS link per case; scored cases sort first. Newer data also\n        carries citation context per case: mentions (how many times the\n        article appears in the judgment text), mention_match (\"exact\" =\n        found with a matching act marker; \"ambiguous\" = bare mention,\n        possibly another act's article — discount it), and context (snippet\n        around the mention). mentions=0 or a missing context means the link\n        comes from SAOS metadata but the text scan could not confirm it —\n        treat relevance as unverified rather than assuming the case is on\n        point. If count is zero, it means this local provision-to-case link\n        dataset has no rows; it is not an exhaustive SAOS or case-law search.\n        ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"address":{"title":"Address","type":"string"},"article_key":{"title":"Article Key","type":"string"},"paragraph_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Paragraph Key"},"limit":{"default":10,"title":"Limit","type":"integer"}},"required":["address","article_key"],"title":"related_casesArguments"}},{"name":"research_cases","description":"Discover related-case candidates for a natural-language legal issue.\n\n        This tool first searches statutes, then follows local provision-to-case\n        links for several distinct provisions and deduplicates by SAOS ID.\n        ``rerank=false`` is the inexpensive deterministic discovery stage.\n        With ``rerank=true``, it fetches at most ``rerank_fetch_limit`` public\n        SAOS excerpts and reranks them only when the server has explicitly\n        configured a Cohere reranker. It never decides a holding: call\n        ``get_case`` for every judgment used in an answer.\n        ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"title":"Query","type":"string"},"provision_limit":{"default":5,"title":"Provision Limit","type":"integer"},"cases_per_provision":{"default":80,"title":"Cases Per Provision","type":"integer"},"candidate_limit":{"default":40,"title":"Candidate Limit","type":"integer"},"context_max_chars":{"default":450,"title":"Context Max Chars","type":"integer"},"rerank":{"default":false,"title":"Rerank","type":"boolean"},"rerank_fetch_limit":{"default":75,"title":"Rerank Fetch Limit","type":"integer"},"rerank_result_limit":{"default":10,"title":"Rerank Result Limit","type":"integer"},"case_text_max_chars":{"default":6000,"title":"Case Text Max Chars","type":"integer"}},"required":["query"],"title":"research_casesArguments"}},{"name":"search_case_by_signature","description":"Verify a cited case signature (sygnatura), e.g. \"II CSK 448/14\".\n\n        Use before relying on a judgment cited by a user or another agent.\n        Answers from a local index of all SAOS judgments first; only on a\n        local miss does it query live SAOS. Read the verdict field:\n        \"confirmed\" (matches listed with saos_id, court, date, type —\n        different courts reuse signatures, so check the court), \"not_found\"\n        (strong evidence the citation is fabricated or wrong),\n        \"outside_coverage\" (administrative courts NSA/WSA are not in SAOS —\n        verify in CBOSA instead), \"unverified\" (local miss and SAOS\n        unreachable; do not treat as nonexistent). Optional court_type:\n        COMMON, SUPREME, CONSTITUTIONAL_TRIBUNAL, NATIONAL_APPEAL_CHAMBER.\n        has_text=false on a match means SAOS stores no text for it, so\n        verify_quote cannot check quotes against that judgment.\n        ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"signature":{"title":"Signature","type":"string"},"limit":{"default":10,"title":"Limit","type":"integer"},"court_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Court Type"}},"required":["signature"],"title":"search_case_by_signatureArguments"}},{"name":"search_law","description":"Search current Polish statutes and return article-level hits.\n\n        Start here for a natural-language legal issue or a direct citation.\n        Use the user's own Polish wording, e.g. \"kupiłem wadliwy towar od\n        firmy jakie mam prawa\". Do not add address, domain, article, act_type,\n        or status filters unless the user explicitly supplied that restriction.\n        Results are primary-source material, not legal advice.\n        ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"title":"Query","type":"string"},"limit":{"default":10,"title":"Limit","type":"integer"},"address":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Address"},"domain":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Domain"},"article":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Article"},"act_type":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Act Type"},"status":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Status"},"include_non_in_force":{"default":false,"title":"Include Non In Force","type":"boolean"},"case_law_boost":{"default":0,"title":"Case Law Boost","type":"number"},"candidate_multiplier":{"default":4,"title":"Candidate Multiplier","type":"integer"},"top_cases":{"default":3,"title":"Top Cases","type":"integer"},"retrieval_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Retrieval Mode"}},"required":["query"],"title":"search_lawArguments"}},{"name":"verify_quote","description":"Check whether a supplied quote appears in a SAOS judgment.\n\n        Use only after resolving the judgment to a saos_id. This validates\n        wording, not whether the quote supports a legal conclusion. Pass the\n        saos_id (from search_case_by_signature or related_cases) and\n        the fragment as quoted. One call replaces paging through the full\n        text: verdict is \"exact\" (verbatim after normalizing whitespace,\n        quote marks and dashes), \"near_match\" (best passage plus similarity\n        score — compare it against the claim), or \"not_found\" (treat the\n        quote as fabricated or misattributed). If ok=false with a fallback\n        hint, fetch saos_url with your own web tools instead of retrying.\n        ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"saos_id":{"title":"Saos Id","type":"integer"},"quote":{"title":"Quote","type":"string"},"min_similarity":{"default":0.75,"title":"Min Similarity","type":"number"}},"required":["saos_id","quote"],"title":"verify_quoteArguments"}}],"scan":{"score":84,"grade":"B","scanned_at":"2026-09-25T17:21:47.928Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-25T17:21:47.952Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1558ms"]},"poisoning":{"score":15,"max":15,"notes":["7 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":12,"max":15,"notes":["last push 74 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.nalegalu.org/mcp","reachable":true,"authRequired":false,"latencyMs":1558,"serverInfo":{"name":"nalegalu","version":"1.2.2"}}],"packages":[],"repo":{"found":true,"owner":"nalegaluorg","repo":"nalegalu","archived":false,"pushedAt":"2026-07-13T17:29:49Z","stars":10,"forks":5,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/275629659?v=4","ownerCreatedAt":"2026-04-13T07:04:38Z","license":"CC0-1.0"},"icon":{"url":"https://nalegalu.org/favicon.ico","source":"site","width":48,"height":48},"presence":{"stars":10,"forks":5,"downloadsWeek":null,"license":"CC0-1.0","lastPushAt":"2026-07-13T17:29:49.000Z","score":28}}}},"grade_history":[],"reviews":[]}