Skip to main content
Glama

Pasal.id — Indonesian Law

Server Details

Search Indonesian laws, resolve citations, read articles, and find Constitutional Court decisions.

Ownership verified
Status
Healthy
Uptime
33.3% over 67 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Aturio/pasal-id-mcp
GitHub Stars
2
Server Listing
Pasal — Indonesian Law

TDQS

A4.1/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a clearly distinct role, and the descriptions explicitly disambiguate decision points (resolve_law for known citations vs search_legal for unknown laws; get_law_context for outline/status vs read_law for full text). The 'WHEN' framing in each description further reduces misselection risk.

Naming Consistency4/5

Six of seven tools follow a clean verb_noun pattern (get_law_context, read_law, report_issue, resolve_law, search_court_decisions, search_legal). 'ping' is a single-word outlier, though it follows a universally recognized health-check convention.

Tool Count5/5

Seven tools sit squarely in the ideal range, and each earns its place: a resolve/context/read pipeline for known laws, two distinct search surfaces, a reporting tool, and a health check. Nothing feels redundant or missing at the count level.

Completeness4/5

The surface covers the core read-oriented legal workflow well: resolving citations, retrieving context and full text, searching legal text, and searching court decisions, plus issue reporting. Minor gaps exist (no browse/list-by-taxonomy or cross-reference operation), but search covers most discovery needs.

Available Tools

7 tools
get_law_contextGet Law ContextA
Read-onlyIdempotent
Inspect

WHEN a law is known, get compact status, structure outline, or relationships before reading text. Budget: summary <= ~3KB, outline <= 15KB, relationship groups capped at 20 each. law.source has the official link; if source.verified is false, say quoted text is unverified.

ParametersJSON Schema
NameRequiredDescriptionDefault
lawYesCanonical law_id or citation string accepted by resolve_law, e.g. 16 or 'UU 27 tahun 2022'.
detailNoOne of summary, outline, relationships.summary

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds genuinely useful operational context the annotations cannot: per-mode size budgets (3KB/15KB/20 groups) and the instruction to flag quoted text as unverified when source.verified is false.

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

Conciseness5/5

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

Two dense sentences, front-loaded with the usage trigger, with zero filler. Every clause (modes, budgets, verification caveat) carries information an agent acts on.

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 so return values need not be explained, and the description still covers the important caveat about unverified source text plus size expectations. Minor gap: it never says what happens when the law identifier is unresolvable.

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% and the schema already documents both params, so baseline is 3. The description goes further by tying each detail mode to a concrete budget and describing the source/verification fields returned, giving the agent meaning beyond the bare enum list.

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 and names the three payload modes (status, outline, relationships), which distinguishes it from read_law (full text) and search_legal. It does not however name those siblings explicitly, so differentiation is implied 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 Guidelines4/5

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

"WHEN a law is known ... before reading text" gives a clear triggering condition and sequencing guidance. It does not mention the alternative for an unknown law (resolve_law) or when to skip context and go straight to read_law, so exclusions are absent.

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

pingPingA
Read-onlyIdempotent
Inspect

Cek kesehatan untuk client yang sudah terautentikasi.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint true and destructiveHint false, so the safety profile is fully covered elsewhere. The description adds the one genuinely new behavioral fact: the call assumes an authenticated client. It says nothing about rate limits, failure modes, or latency expectations beyond what the annotations imply. With the annotations carrying the safety burden, a 3 is appropriate.

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

Conciseness5/5

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

A single, front-loaded sentence with no filler, repetition, or hedging. The precondition (authenticated client) is the one detail included, and it is exactly the detail that matters.

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 health-check tool with an output schema describing the return and annotations covering the safety profile, the description supplies the key scope qualifier (authenticated client). No return-format or pagination detail is needed given the output schema. It is complete for its complexity, though not elaborative.

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 per the baseline this dimension starts at 4. There is genuinely nothing to document, and the description introduces no misleading parameter hints. It does not rise to a 5 only because there is no substantive meaning to add.

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 concrete action and scope: a health check for an already-authenticated client. That is clearly distinguishable from the strict legal-research siblings. It does not explicitly name or contrast a sibling, but none is similar enough to be confused with it, so a 4 rather than a 5.

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 guidance on when to call this versus alternatives, nor any mention of how often or at what point in a session to use it. The phrase 'client yang sudah terautentikasi' hints at a precondition but states no usage condition. A ping's usage is largely self-evident, which keeps this from being a 1.

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

read_lawRead LawA
Read-onlyIdempotent
Inspect

WHEN a law is known and text is needed, read by forgiving selector strings such as 'pasal 27', 'pasal 27-30', 'pasal 13-16, pasal 27-37, pasal 40-41', 'bab III', 'menimbang', 'lampiran', or 'all'. For parsed-text gaps, 'source find Pasal 65' locates standalone headings in the canonical archived PDF (up to 100 physical pages per scan); 'source pages 29' reads up to 5 physical PDF pages. Stored node page hints are unverified. Budget: max_chars default 30000, hard cap 100000, cursor pagination. law.source has the official link; if source.verified is false, say quoted text is unverified.

ParametersJSON Schema
NameRequiredDescriptionDefault
lawYesCanonical law_id or citation string accepted by resolve_law.
versiNoasli (default) = naskah asli yang diindeks; terkini = versi konsolidasi tidak resmi, hanya jika law.consolidation.available.asli
cursorNoCursor from a prior truncated response.
selectorYesSelector string: all, pasal 27, pasal 27-30, pasal 13-16, pasal 27-37, pasal 40-41 (multi-range), bab III, menimbang, mengingat, penjelasan umum, penjelasan pasal 5, lampiran; source find Pasal 65, source find penjelasan Pasal 65, source pages 29 (1-based physical PDF pages, at most 5).
max_charsNoMaximum aggregate characters. Default 30000, minimum 1000, hard cap 100000.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnly/idempotent), while the description adds operational context the annotations cannot: scan limits (100 physical pages, 5 pages for source pages), that stored node page hints are unverified, the pagination cursor, character budgets, and the instruction to flag text as unverified when source.verified is false.

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

Conciseness4/5

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

Front-loads the WHEN precondition and the primary selector contract, then layers fallback behavior and budget caveats. Efficient overall, though the selector enumeration is dense and partially repeats the schema's selector list.

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

Completeness5/5

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

With an output schema present, return values need not be described; the description instead supplies everything else an agent needs — version/consolidation relevance via schema, verification caveat, pagination, and hard character caps. Nothing material is missing for correct invocation.

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 behavioral meaning beyond the schema: the 'source find'/'source pages' selector modes and their per-scan caps, the practical budget behavior of max_chars, and cursor-based continuation across truncated responses.

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

Purpose5/5

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

States a specific verb+resource ('read' a 'law') and the precondition ('WHEN a law is known and text is needed'), which cleanly distinguishes it from resolve_law (used when the law is not yet known) and get_law_context. Selector examples make the retrieval unit unambiguous.

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

Usage Guidelines4/5

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

The 'WHEN a law is known and text is needed' clause gives clear usage context and implicitly routes unknown-law cases to resolve_law. It also explains the fallback paths ('source find', 'source pages') for parsed-text gaps, though it never names sibling tools explicitly to force the alternative.

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

report_issueLaporkan Masalah DataAInspect

Laporkan masalah data Pasal.id dari alur MCP saat pengguna meminta pelaporan. Panggil jika teks Pasal yang diambil tampak rusak/terpotong/tidak konsisten karena OCR, atau jika pengguna menyatakan isinya salah, atau jika peraturan/Pasal yang seharusnya ada tidak ditemukan (OCR salah, peraturan hilang, Pasal hilang, tautan rusak, konten usang, kegagalan pencarian). Jangan spam pada zero-result eksplorasi pencarian biasa. Hanya report_type yang wajib; judul diturunkan otomatis jika kosong.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoTahun peraturan.
titleNoJudul pendek dalam Bahasa Indonesia. Opsional — jika kosong, judul diturunkan otomatis dari report_type dan kutipan peraturan/Pasal.
law_idNolaw_id Pasal.id jika sudah diketahui.
node_idNonode_id dari section yang bermasalah pada hasil read_law untuk koreksi OCR; jangan menebak ID ayat yang tidak dikembalikan.
law_typeNoJenis peraturan, misalnya UU atau PP.
law_numberNoNomor peraturan.
descriptionNoKonteks tambahan. Jelaskan apa yang pengguna harapkan dan langkah yang sudah dicoba.
report_typeYesJenis masalah yang dilaporkan. Salah satu nilai: ocr_correction, missing_regulation, missing_pasal, incorrect_content, broken_link, outdated_content, search_failure, other.
pasal_numberNoNomor Pasal yang bermasalah jika relevan.
contact_emailNoEmail kontak opsional jika pengguna ingin dapat dihubungi.
reference_urlNoURL sumber pendukung, misalnya PDF resmi.
current_contentNocontent_text dari section yang sama dengan node_id pada hasil read_law. Wajib untuk ocr_correction.
expected_citationNoKutipan peraturan yang seharusnya muncul untuk report_type=search_failure, misalnya 'UU No. 27 Tahun 2022'.
suggested_contentNoTeks koreksi yang disarankan. Wajib untuk ocr_correction.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare write (readOnlyHint=false), non-destructive, non-idempotent, open-world. The description adds useful behavior beyond that: only report_type is mandatory, the title is auto-derived when empty, and current_content/suggested_content become required for ocr_correction. It does not say where the report lands or whether there is deduplication, but the added conditional-context is meaningful.

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 dense paragraph that front-loads the purpose, then conditions, then the anti-spam caveat, then the required-parameter note. Every sentence carries weight, though the enumeration of failure modes is slightly long.

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

Completeness4/5

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

For a 14-parameter write tool with an output schema and full schema coverage, the description supplies the decision context an agent needs to decide whether to file a report. It omits only downstream details (where the report goes, expected response), which the output schema partially covers.

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 documents all 14 parameters, including the ocr_correction requirements for current_content and suggested_content. The description mostly restates what the schema says (report_type required, title auto-derived), adding little beyond the baseline.

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 states a specific verb+resource: reporting data problems with Pasal.id content encountered during the MCP flow. It is clearly distinguishable from all siblings (read_law, search_legal, resolve_law), none of which are reporting tools.

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

Usage Guidelines5/5

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

It gives explicit when-to-call conditions (corrupted/truncated OCR text, user says content is wrong, missing regulation/Pasal, broken link, outdated content, search failure) and an explicit when-not-to: don't spam reports on ordinary zero-result search exploration. Alternatives and exclusions are both covered.

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

resolve_lawResolve LawA
Read-onlyIdempotent
Inspect

WHEN you have a citation, title, or partial reference and need one canonical law_id. Budget: <= ~2KB. Use this before get_law_context or read_law when the law is named. law.source has the official link; if source.verified is false, say quoted text is unverified.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoOptional region hint for regional regulations, e.g. 'DKI Jakarta'.
referenceYesCitation or title-like reference, e.g. 'UU 27 tahun 2022' or 'UU PDP'.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description adds genuinely useful behavior beyond them: a response budget ("<= ~2KB") and an output-handling rule about source.verified that governs how the agent must phrase quoted text. It does not, however, describe failure behavior when no canonical law is matched.

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?

Short and front-loaded: the trigger condition leads, followed by budget, ordering, and output handling. The telegraphic style ("Budget: <= ~2KB") is dense but each clause carries distinct information, so there is little waste. Slightly compressed phrasing costs it a point.

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, so return structure need not be spelled out, and the description instead covers what the schema cannot: the size budget, the canonical-id purpose, and how to treat unverified sources. It is complete enough to call correctly, though it omits what happens on no-match or ambiguous references.

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 both parameters (reference, region) are already documented with examples in the schema. The description restates the reference concept ("citation, title, or partial reference") without adding format or matching semantics beyond what the schema provides, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb (resolve) and the exact output (one canonical law_id) for a specific input class (citation, title, or partial reference). It also names the siblings it precedes (get_law_context, read_law), so an agent can route correctly without opening any schema.

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

Usage Guidelines5/5

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

Opens with an explicit trigger condition ("WHEN you have a citation, title, or partial reference and need one canonical law_id") and gives an ordering rule versus two named alternatives ("Use this before get_law_context or read_law when the law is named"). When-to-use, when-not, and alternatives are all present.

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

search_court_decisionsCari Putusan MKA
Read-onlyIdempotent
Inspect

Cari putusan Mahkamah Konstitusi (judicial review/PUU, SKLN, PHPU, PHPKADA). Saring berdasarkan UU yang diuji (reviewed_law), jalur (lane), amar putusan, tahun, jenis pengujian, ada dissenting opinion, atau nama hakim; query untuk kata kunci topik/klasifikasi. Pakai untuk pertanyaan seperti 'UU mana yang dibatalkan MK tahun 2024' atau 'putusan dengan dissenting opinion'. source_url/source berisi tautan resmi mkri.id (PDF putusan); jika source.verified=false, sebutkan sekali bahwa teks putusan belum terverifikasi.

ParametersJSON Schema
NameRequiredDescriptionDefault
amarNoAmar putusan, misalnya dikabulkan_sebagian, ditolak, inkonstitusional_bersyarat; '__ketetapan__' untuk putusan tanpa amar.
laneNoJalur perkara: puu, skln, phpu, phpkada.
yearNoTahun putusan.
judgeNoNama hakim konstitusi (dicocokkan di ketua/anggota/pemberi dissent). Pencocokan lewat roster hakim MK terkurasi + normalisasi ejaan; nama di luar roster mengembalikan kosong.
limitNoJumlah maksimum hasil (1-50), server clamp ke 50.
queryNoKata kunci topik/klasifikasi opsional, misalnya 'pemilu' atau 'kebebasan berserikat'.
has_dissentNoTrue untuk hanya putusan dengan dissenting opinion; False untuk tanpa dissent.
reviewed_lawNoUU yang diuji, misalnya 'uu 13 2003' atau 'UU No. 13 Tahun 2003' atau law_id kanonik.
jenis_pengujianNoJenis pengujian, misalnya materiil atau formil.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower, yet the description adds real value: source_url/source carries the official mkri.id PDF link, and it instructs the agent to disclose once when source.verified=false that the text is unverified. That is behavioral context the annotations do not provide.

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?

Opens with the domain and the lanes, then the filter list, then examples, then the source-handling note – a sensible front-loaded order. The middle clause re-listing filters that the schema already documents is mildly redundant but not wasteful enough to drop below a 4.

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, so return values need not be explained, and the description focuses on what structured fields omit – lane taxonomy, example queries, and the verified/unverified source caveat. It omits result pagination/clamping behavior, but that is minor.

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 documents all nine filters with examples and semantics. The description largely restates the same filter names (reviewed_law, lane, amar, tahun, jenis_pengujian, dissent, hakim) without adding syntax the schema lacks, so the 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 (Cari) and resource (putusan Mahkamah Konstitusi) and enumerates the case lanes (PUU, SKLN, PHPU, PHPKADA), which pins the scope precisely. It does not explicitly contrast itself with siblings like search_legal or read_law, so an agent must infer the boundary, keeping it below a 5.

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

Usage Guidelines4/5

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

Gives concrete example questions ('UU mana yang dibatalkan MK tahun 2024', 'putusan dengan dissenting opinion') that make the intended use obvious. However, it never states when NOT to use this tool or points to an alternative sibling for other legal queries.

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. 1 tool update
    • Changedread_law1 field changed
      • addedInput schema / properties / versi / enum
        Added value: +[
        +  "asli",
        +  "terkini"
        +]
  2. 1 tool update
    • Changedread_law1 field changed
      • addedInput schema / properties / versi
        Added value: +{
        +  "default": "asli",
        +  "description": "asli (default) = naskah asli yang diindeks; terkini = versi konsolidasi tidak resmi, hanya jika law.consolidation.available.",
        +  "type": "string"
        +}
  3. 1 tool update
    • Changedread_law1 field changed
      • changedInput schema / properties / selector / description
        Previous value: -"Selector string: all, pasal 27, pasal 27-30, pasal 13-16, pasal 27-37, pasal 40-41 (multi-range), bab III, menimbang, mengingat, penjelasan umum, penjelasan pasal 5, lampiran."New value: +"Selector string: all, pasal 27, pasal 27-30, pasal 13-16, pasal 27-37, pasal 40-41 (multi-range), bab III, menimbang, mengingat, penjelasan umum, penjelasan pasal 5, lampiran; source find Pasal 65, source find penjelasan Pasal 65, source pages 29 (1-based physical PDF pages, at most 5)."
  4. 1 tool update
    • Changedreport_issue2 fields changed
      • changedInput schema / properties / current_content / description
        Previous value: -"Teks saat ini dari get_pasal. Wajib untuk ocr_correction."New value: +"content_text dari section yang sama dengan node_id pada hasil read_law. Wajib untuk ocr_correction."
      • changedInput schema / properties / node_id / description
        Previous value: -"node_id dari get_pasal untuk koreksi OCR."New value: +"node_id dari section yang bermasalah pada hasil read_law untuk koreksi OCR; jangan menebak ID ayat yang tidak dikembalikan."
  5. 15 tool updates
    • Addedget_law_context
    • Removedget_law_overview
    • Removedget_law_part
    • Removedget_law_status
    • Removedget_law_structure
    • Removedget_pasal
    • Removedlist_laws
    • Addedread_law
    • Removedread_law_section
    • Changedreport_issue18 fields changed
      • addedInput schema / properties / contact_email / description
        Added value: +"Email kontak opsional jika pengguna ingin dapat dihubungi."
      • addedInput schema / properties / current_content / description
        Added value: +"Teks saat ini dari get_pasal. Wajib untuk ocr_correction."
      • addedInput schema / properties / description / description
        Added value: +"Konteks tambahan. Jelaskan apa yang pengguna harapkan dan langkah yang sudah dicoba."
      • addedInput schema / properties / expected_citation
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Kutipan peraturan yang seharusnya muncul untuk report_type=search_failure, misalnya 'UU No. 27 Tahun 2022'."
        +}
      • addedInput schema / properties / law_id / description
        Added value: +"law_id Pasal.id jika sudah diketahui."
      • addedInput schema / properties / law_number / description
        Added value: +"Nomor peraturan."
      • addedInput schema / properties / law_type / description
        Added value: +"Jenis peraturan, misalnya UU atau PP."
      • addedInput schema / properties / node_id / description
        Added value: +"node_id dari get_pasal untuk koreksi OCR."
      • addedInput schema / properties / pasal_number / description
        Added value: +"Nomor Pasal yang bermasalah jika relevan."
      • addedInput schema / properties / reference_url / description
        Added value: +"URL sumber pendukung, misalnya PDF resmi."
      • addedInput schema / properties / report_type / description
        Added value: +"Jenis masalah yang dilaporkan. Salah satu nilai: ocr_correction, missing_regulation, missing_pasal, incorrect_content, broken_link, outdated_content, search_failure, other."
      • addedInput schema / properties / suggested_content / description
        Added value: +"Teks koreksi yang disarankan. Wajib untuk ocr_correction."
      • addedInput schema / properties / title / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / title / default
        Added value: +null
      • addedInput schema / properties / title / description
        Added value: +"Judul pendek dalam Bahasa Indonesia. Opsional — jika kosong, judul diturunkan otomatis dari report_type dan kutipan peraturan/Pasal."
      • removedInput schema / properties / title / type
        Removed value: -"string"
      • addedInput schema / properties / year / description
        Added value: +"Tahun peraturan."
      • changedInput schema / required
        Previous value: -[
        -  "report_type",
        -  "title"
        -]New value: +[
        +  "report_type"
        +]
    • Addedresolve_law
    • Addedsearch_court_decisions
    • Removedsearch_laws
    • Addedsearch_legal
    • Removedsearch_within_law
  6. 1 tool update
    • Addedread_law_section
  7. 10 tool updates
    • First observedget_law_overview
    • First observedget_law_part
    • First observedget_law_status
    • First observedget_law_structure
    • First observedget_pasal
    • First observedlist_laws
    • First observedping
    • First observedreport_issue
    • First observedsearch_laws
    • First observedsearch_within_law

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to search and retrieve Indonesian national statutes, Perpu, government and presidential regulations, and Constitutional Court judicial-review outcomes from the State Secretariat and House of Representatives JDIH portals, including citations, legal status, amendment/revocation relations, struck-down articles, and signed PDF copies. Every tool is a keyless live call to official government sources.
    221 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables evidence-first research on Indonesian law and sharia economic law by searching regulations, court decisions, fatwas, Quran/hadith, and turath sources, verifying citations, and tracing legal status across time. Provides MCP tools to retrieve sourced documents and analyze legal problems while failing closed when evidence is ambiguous.
    10
    5 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Statute & article text (mevzuat.gov.tr) and court decisions (UYAP Emsal, Council of State, Constitutional Court), with their citation, source, live. It works as long as the official sources remain reachable.
    4
    250 PyPI
    4
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.