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
5.8% over 47 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Aturio/pasal-id-mcp
GitHub Stars
1
Server Listing
Pasal — Indonesian Law

TDQS

A4.1/5.0

Scored across 7 tools

Disambiguation5/5

Each tool occupies a clearly distinct niche: search_legal for unknown laws, resolve_law for citation-to-id resolution, get_law_context for metadata/outline, read_law for text, search_court_decisions for MK rulings, plus report_issue and ping utilities. The descriptions explicitly document the intended sequence (resolve before context/read), removing overlap between search_legal and search_court_decisions by scoping the latter to court decisions only.

Naming Consistency4/5

Nearly all tools follow a consistent snake_case verb_noun pattern (get_law_context, read_law, report_issue, resolve_law, search_legal, search_court_decisions). The only deviation is the conventional 'ping' health check, which is universally understood and not confusing.

Tool Count5/5

Seven tools is a tightly scoped set for a legal-research server, with each tool earning its place: two search paths, a resolver, a context/outline reader, a text reader, a reporting channel, and a health check. Nothing feels redundant or missing dimensionally.

Completeness4/5

The surface covers the core research lifecycle well: locate an unknown law, resolve a citation, inspect structure, read text, query court decisions, and report data issues. Minor gaps exist (e.g. no explicit listing/browsing or citation-export tool), but agents can work around these via search_legal.

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.

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

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

With readOnly, idempotent, and non-destructive annotations already covering the safety profile, the description adds concrete output-size budgets (summary <= ~3KB, outline <= 15KB, relationship groups capped at 20 each). Those limits help an agent manage context, though the description does not describe what the returned status or relationship groups contain.

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 tightly written sentences, front-loaded with the when-condition and followed by the budget constraint. Every clause carries information without repetition or filler.

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?

An output schema exists, so return-value structure need not be covered. The description supplies the trigger condition, the distinction from reading full text, the three detail modes, and concrete size limits; an agent has enough to invoke it correctly.

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 schema already documents both parameters and the law format. The description goes further by attaching size expectations to each detail mode (summary, outline, relationships), giving the detail parameter practical semantic weight beyond the schema's list of allowed values.

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 (get) and resource (law context), enumerating the three outputs: compact status, structure outline, or relationships. It also explicitly distinguishes from read_law by saying 'before reading text', so an agent can route without opening the sibling schema.

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 leading 'WHEN a law is known' gives a clear trigger condition, and 'before reading text' implies this is a precursor to read_law. It does not explicitly state what to do when the law is unknown (resolve_law) or name read_law as the alternative, leaving a small inference gap.

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'. Budget: max_chars default 30000, hard cap 100000, cursor pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
lawYesCanonical law_id or citation string accepted by resolve_law.
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.
max_charsNoMaximum aggregate characters. Default 30000, minimum 1000, hard cap 100000.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds genuinely new behavioral context: the max_chars default of 30000, the 100000 hard cap, and cursor-based pagination for truncated responses. That is real operational detail 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.

Conciseness4/5

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

Two dense sentences that front-load the usage condition, then the selector grammar and budget rules. Slight redundancy with the schema's selector and max_chars descriptions, but no filler or wasted sentences.

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, the description needn't explain return values, and it already covers the trigger condition, selector syntax, and pagination/budget limits. An agent has everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters are already documented in the schema, including the selector and budget rules. The description largely restates those same selector examples and caps, adding little semantic meaning beyond what the structured fields provide. 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 (read) and resource (law) and defines the selector grammar with concrete examples like 'pasal 27-30' and 'bab III'. It doesn't explicitly distinguish itself from siblings like get_law_context or resolve_law, so it falls short of a 5, but the action is 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 a clear triggering condition, and the emphasis on 'forgiving selector strings' tells the agent what input style is expected. It stops short of naming alternatives or stating when-not to use it (e.g., when the law must first be resolved).

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.

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 declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds a genuinely useful operational trait — the <= ~2KB budget — that no annotation conveys. It still doesn't say how ambiguous or failed matches behave, which keeps it short of a 5.

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?

Three tight sentences with the trigger condition front-loaded, then the constraint, then the sequencing against siblings. Every clause carries information; nothing is padding.

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 annotations carry the safety profile. The description covers trigger, ordering relative to siblings, and a budget. It is only slightly thin on what happens when a reference resolves to multiple or zero laws, which matters for a resolver.

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 both parameters are already documented and the baseline is 3. The description adds meaning beyond the schema by framing 'reference' as possibly partial/fuzzy rather than an exact citation, which is important call semantics; the 'region' hint is left entirely to the schema.

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

Purpose4/5

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

The description states the input (citation, title, or partial reference) and the exact output (one canonical law_id), which is a specific, checkable purpose. It implicitly resolves against get_law_context and read_law, so an agent can place it without opening schemas. It loses a point only because the verb is implied rather than stated directly.

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 an explicit precondition ('WHEN you have a citation, title, or partial reference'), names the alternatives and the ordering ('Use this before get_law_context or read_law when the law is named'), and adds a budget. Nothing about when-to-use 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_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'.

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

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds no behavioral context beyond filtering (no pagination, ranking, or result-shape notes), though the output schema partly relieves that 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.

Conciseness4/5

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

Two sentences, front-loaded with the resource and scope, then the filter list and example queries. Efficient, though the filter enumeration partly duplicates the schema's own parameter 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, rich annotations, 100% schema coverage and zero required parameters, the description supplies exactly what is needed: scope, filters, and example use cases. Nothing an agent needs to call it correctly is missing.

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 parameters with examples. The description enumerates the filter dimensions (reviewed_law, lane, amar, year, jenis_pengujian, has_dissent, judge, query) but adds no syntax or matching details beyond the schema, so baseline 3 is correct.

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 (Cari/search) and resource (putusan Mahkamah Konstitusi) plus the case lanes it covers (PUU, SKLN, PHPU, PHPKADA). This clearly separates it from siblings like search_legal and get_law_context without needing to open either schema.

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') and lists the filterable dimensions, which tells the agent when this tool fits. It stops short of naming alternatives or stating when NOT to use it versus search_legal.

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
    • 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."
  2. 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
  3. 1 tool update
    • Addedread_law_section
  4. 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.
    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
    11 npm
    MIT
  • A
    license
    A
    quality
    A
    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.
    2
    98 PyPI
    12
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.