Aturan.org – Indonesian Legal Research

Large-scale semantic search and article-level retrieval for Indonesian regulations, providing AI agents with structured access to relevant laws and authoritative legal text.

Hosted MCP Server

npx add-mcp 'https://mcp.aturan.org/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Aturan.org

Aturan.org

Semantic Legal Retrieval for Indonesian Regulations

Find legal norms by meaning. Verify the source.
Grounded regulatory data for people, applications, and AI agents.

Website · MCP Server · REST API · Discover

Legal Knowledge by Aturan.org MCP Streamable HTTP Exact Nearest Neighbor Listed on mcpservers.org


What is Aturan.org?

Aturan.org is a semantic legal retrieval system for Indonesian regulations.

It helps people, applications, and AI agents discover regulations and legal provisions based on meaning and legal context, rather than relying only on exact keywords or already knowing the title of a regulation.

Aturan.org helps match legal issues with candidate provisions. Users can identify the relevant regulations and read the complete provisions before using them in legal analysis.

The platform is available through:

  • a public web application for legal research;
  • a REST API for application and system integration; and
  • a remote Model Context Protocol (MCP) server for AI clients and agentic workflows.

Aturan.org is a retrieval system, not an automated legal-opinion service.

Semantic retrieval identifies relevant legal material. Legal applicability and interpretation still require evaluation of the complete provision, regulatory context, amendments, hierarchy, and the facts being analysed.


Legal Knowledge Coverage

Aturan.org provides semantic retrieval across a continuously updated corpus of Indonesian regulations and legal provisions, covering national, regional, and institutional regulatory frameworks.

Corpus Overview

MetricCoverage
Indonesian regulations296,433+
Legal provisions (Pasal)5,684,209+
Data updatesDaily
Vector database size73.9 GB+

Regulatory Coverage

The corpus spans national legislation, presidential and ministerial instruments, regional regulations, and regulations issued by state institutions and public authorities.

The following table highlights major regulatory categories with published coverage statistics.

Regulation TypeRegulationsPasal
Laws (UU)1,92450,431
Government Regulations in Lieu of Law (PERPU)1642,923
Government Regulations (PP)4,98890,720
Presidential Regulations (PERPRES)2,65443,539
Presidential Decrees (KEPPRES)6,82319,988
Presidential Instructions (INPRES)461116
Ministerial Regulations (PERMEN)17,324471,265
Ministerial Decrees (KEPMEN)3971,059
Regional Regulations (PERDA)61,6881,765,861
Governor Regulations (PERGUB)18,370319,086
Mayor Regulations (PERWALI)35,882554,687
Regent Regulations (PERBUP)138,8392,193,172

Additional Regulatory Instruments

Beyond the major categories listed above, Aturan.org also covers a broader range of legal and administrative instruments, including:

  • Special regional legislation: Qanun, Papua Special Regional Regulations (Perdasus), and Special Region Regulations.
  • Judicial institutions: Regulations issued by the Supreme Court and other judicial authorities.
  • Law enforcement institutions: Regulations and decisions issued by the Attorney General's Office and National Police.
  • State institutions and commissions: Regulations issued by constitutional bodies, commissions, councils, and independent state institutions.
  • Government agencies and public authorities: Regulations and decisions issued by agencies, boards, supervisory authorities, and other public institutions.
  • Other administrative instruments: Circular letters, instructions, decrees, and institutional regulations.

The coverage statistics above represent selected major categories and do not constitute an exhaustive breakdown of the entire regulatory corpus.

Semantic Legal Discovery

Aturan.org helps AI agents and legal researchers discover relevant legal provisions across national, regional, and institutional regulations without knowing the regulation title or exact legal wording.

The regulatory corpus is continuously maintained and expanded through daily synchronization.


Why semantic legal retrieval?

Legal research does not always begin with the name of a regulation.

It often begins with an issue:

  • What obligations apply?
  • What activity is prohibited?
  • What authority does an institution have?
  • What procedure must be followed?
  • What sanctions may apply?
  • What regulations govern a particular activity?

Traditional title or keyword search works well when the researcher already knows what document or wording to search for.

But legal questions are often expressed differently from the language used by legislation.

Aturan.org addresses this by matching the meaning of a query against structured legal provisions.

Legal question or concept
          │
          ▼
   Semantic retrieval
          │
          ▼
 Candidate Pasal
          │
          ▼
 Relevant regulations
          │
          ▼
 Read full provisions
          │
          ▼
       Analyze

This makes it possible to begin legal research from the substance of the issue, rather than from an assumed document.


What you can do

CapabilityPurpose
Regulation discoveryDiscover regulations connected to a legal issue across regulation types and hierarchies.
Semantic provision discoveryFind candidate provisions related to a right, obligation, prohibition, authority, procedure, sanction, condition, or other legal concept.
Regulation identity searchLocate a regulation when its type, number, year, title, or title fragment is already known.
Full-Pasal retrievalRead the complete wording of a selected provision before quoting or analysing it.
Legal landscape researchExplore an issue across multiple regulations and normative dimensions.
AI groundingGive AI agents structured access to retrieved Indonesian legal material before reasoning.
Application integrationIntegrate Indonesian regulatory retrieval into LegalTech, RegTech, RAG, research, and other applications.
Research workflowSearch, inspect, save, export, and continue working with retrieved legal material.

Built for people, applications, and AI

Aturan.org exposes the same legal-retrieval foundation through three different interfaces.

Web

The web application is designed for people conducting legal and regulatory research.

Users can search by legal issue, inspect regulations and Pasal candidates, verify source material, save relevant provisions, and export research results.

Website:
https://aturan.org

REST API

The REST API provides programmatic access to Aturan.org retrieval services.

It is intended for applications, LegalTech, RegTech, RAG pipelines, enterprise systems, and developers who need explicit control over requests and responses.

Documentation:
https://aturan.org/api

MCP Server

The Aturan.org MCP Server exposes legal retrieval as tools that AI models and agents can call directly.

Instead of placing an entire legal corpus into a model context, an agent can retrieve only the regulatory material needed for the current question, inspect the results, read selected provisions, and continue its reasoning from grounded source material.

Documentation:
https://aturan.org/mcp


Connect your AI

Aturan.org provides a remote MCP server using Streamable HTTP.

https://mcp.aturan.org/mcp

Quick install

Connect Aturan.org to supported AI development environments using a single command:

npx add-mcp 'https://mcp.aturan.org/mcp'

The add-mcp CLI simplifies MCP server configuration for compatible AI clients and development tools. After installation, complete authentication using OAuth or an API Key, depending on the client's capabilities. Alternatively, configure the MCP endpoint manually in any compatible client supporting remote MCP over Streamable HTTP. For client-specific instructions, see the MCP documentation.

Authentication

Aturan.org supports two authentication paths:

                         Aturan.org Account
                                │
                 ┌──────────────┴──────────────┐
                 │                             │
              OAuth                        API Key
                 │                             │
        interactive access            programmatic access
                 │                             │
                 └──────────────┬──────────────┘
                                │
                                ▼
                         Aturan.org services

OAuth

OAuth provides an interactive connection between a compatible client and an Aturan.org account.

The client can open the Aturan.org authorization flow in a browser, where the user signs in and grants access. The client can then manage the resulting OAuth credentials according to its own implementation.

OAuth is particularly convenient for AI services and MCP clients with native OAuth support.

API Key

Users can create dedicated API keys directly from the Aturan.org Dashboard.

API keys are suitable for:

  • MCP clients using bearer authentication;
  • REST API integration;
  • backend applications;
  • automation and agent services;
  • development environments; and
  • server-to-server workflows.

Separate keys can be created for different clients or environments and revoked independently when no longer needed.

API keys are transmitted using the HTTP Authorization header:

Authorization: Bearer YOUR_API_KEY

Do not embed API keys in public source code or expose them in client-side applications.

For current authentication details, supported clients, connection instructions, and configuration examples, see:

https://aturan.org/mcp

For REST API integration, see:

https://aturan.org/api

Operational connection details may evolve independently from this repository. The MCP and REST API documentation are the source of truth for their respective interfaces.


MCP tools

The MCP server exposes five complementary legal retrieval tools.

ToolPurpose
cari_peraturan_terkaitDiscover regulations related to a legal issue through semantic search.
cari_pasal_terkaitFind candidate Pasal directly by semantic similarity to a legal concept or normative issue.
cari_judul_peraturanResolve a known regulation from its title, type, number, year, or title fragment.
baca_isi_pasalRetrieve the complete wording of one selected Pasal from a regulation already identified by Aturan.org.
baca_isi_pasal_batchRetrieve multiple already-identified Pasal in one call, including across different regulations.

Each tool answers a different retrieval question.

Which regulations may matter?
        │
        └── cari_peraturan_terkait

Which norms may matter?
        │
        └── cari_pasal_terkait

Which exact regulation is this?
        │
        └── cari_judul_peraturan

What does one provision actually say?
        │
        └── baca_isi_pasal

What do several identified provisions say?
        │
        └── baca_isi_pasal_batch

The tools are complementary rather than interchangeable. An agent does not need to call every tool for every question. It should select the tools that add information needed for the research task.

When several relevant Pasal have already been identified, baca_isi_pasal_batch can retrieve up to 20 provisions in a single call, including provisions from different regulations.


Retrieval workflow

A useful mental model for legal research with Aturan.org is:

DISCOVER → IDENTIFY → READ → ANALYZE

1. Discover

Find candidate regulations or provisions.

Depending on what is already known, this may begin with:

cari_peraturan_terkait
cari_pasal_terkait
cari_judul_peraturan

2. Identify

Evaluate the retrieved candidates.

Relevant signals may include:

  • regulation title;
  • regulation type;
  • year;
  • status;
  • metadata;
  • semantic hits;
  • candidate Pasal numbers; and
  • relationships with other retrieved regulations.

3. Read

Retrieve the complete wording of provisions that will support the analysis.

For a single provision:

baca_isi_pasal

When several relevant Pasal have already been identified:

baca_isi_pasal_batch

The batch tool can read up to 20 identified Pasal in one call, including Pasal from different regulations.

A semantic hit is a candidate, not a substitute for reading the legal provision itself.

4. Analyze

Only after retrieving the relevant material should the model or researcher build the substantive analysis.

The analysis should distinguish between:

retrieved legal text
        ↓
relationship between regulations
        ↓
interpretation
        ↓
analytical conclusion

Three retrieval paths

The appropriate workflow depends on what is already known.

Known regulation

If the regulation is already identified:

Known regulation
      ↓
cari_judul_peraturan
      ↓
 regulation_id
      ↓
baca_isi_pasal
      ↓
    analyze

Known legal issue

If the issue or norm is known but the regulation is not:

Known legal issue
      ↓
cari_pasal_terkait
      ↓
evaluate candidates
      ↓
baca_isi_pasal
or baca_isi_pasal_batch
      ↓
    analyze

Regulatory landscape

If the objective is to identify the broader regulatory framework:

Regulatory landscape
      ↓
cari_peraturan_terkait
      ↓
evaluate regulation groups
      ↓
inspect candidate Pasal
      ↓
baca_isi_pasal_batch
when multiple Pasal are identified
      ↓
    analyze

Complex legal issues can combine these paths and run several focused retrievals before analysis.


Semantic retrieval

Aturan.org semantic search is designed around the substance of legal norms.

A useful query describes the legal concept being sought.

For example:

hak ahli waris penerima manfaat program jaminan kematian BPJS Ketenagakerjaan

rather than:

bagaimana jaminan kematian BPJS Ketenagakerjaan untuk ahli waris?

Or:

kewajiban pemberi kerja mendaftarkan pekerja dalam program jaminan sosial

rather than:

apa kewajiban perusahaan soal BPJS?

Semantic retrieval benefits from sufficient context. Queries for semantic retrieval should therefore contain enough substantive information to represent the intended legal meaning.

For complex issues, several focused queries are usually more useful than one oversized query containing every aspect of the problem.

Current query requirements and retrieval parameters are documented in the relevant API and MCP specifications.


Multilingual semantic retrieval

Semantic retrieval is based on meaning rather than literal word matching.

This allows queries to be expressed differently from the wording found in Indonesian regulations, including queries written in other languages supported by the underlying multilingual embedding model.

For example:

foreign investor land ownership restrictions

can be used as a semantic query against Indonesian regulatory provisions even though the source legislation itself is written in Indonesian.

English or multilingual query
             │
             ▼
     semantic embedding
             │
             ▼
 Indonesian legal corpus
             │
             ▼
      candidate Pasal

This is useful for international users, cross-border research, and AI agents that may reason in a language different from the language of the underlying legal source.

Semantic similarity, however, is not legal interpretation. Retrieved candidates must still be evaluated in their complete regulatory context.


Agentic legal research

Aturan.org is designed for multi-step retrieval, not only one-shot search.

An AI agent can use its own reasoning to formulate queries, inspect retrieval results, identify missing dimensions, retrieve again, and read selected provisions before producing an answer.

For example, a question about rooftop solar regulation may lead an agent to investigate several dimensions:

pengaturan PLTS atap

perizinan PLTS atap

kewajiban pemegang izin usaha penyediaan tenaga listrik terkait PLTS atap

ekspor impor energi listrik PLTS atap

kapasitas pemasangan PLTS atap

The agent can then compare the regulations and Pasal candidates returned from those retrievals and read the provisions that materially support the analysis.

The workflow becomes:

question
   │
   ▼
understand the issue
   │
   ▼
formulate focused queries
   │
   ▼
retrieve
   │
   ▼
inspect results
   │
   ├──────── insufficient coverage ────────┐
   │                                       │
   ▼                                       │
refine query                               │
   │                                       │
   └──────────── retrieve again ◄──────────┘
   │
   ▼
read selected provisions
   │
   ▼
compare legal material
   │
   ▼
analyze

This allows the model's reasoning capability and Aturan.org's retrieval capability to perform separate jobs:

The model reasons about what to investigate; Aturan.org retrieves the regulatory evidence.


Principles for AI agents

Retrieve before reasoning

When an analysis depends on Indonesian regulations, retrieve the relevant legal material before relying on the model's internal knowledge.

Internal model knowledge can help formulate queries, decompose an issue, recognize legal concepts, and reason about the retrieved material.

It should not replace retrieval when a regulation, Pasal, or legal wording is being presented as the basis of the analysis.

Read before citing

Semantic search identifies candidates.

Before quoting a provision or relying on its wording, retrieve the complete Pasal.

semantic hit ≠ full legal provision

Do not fabricate references

Regulation identities, Pasal numbers, regulation_id values, and legal text presented as Aturan.org retrieval results must come from actual retrieval results.

In particular:

Never guess regulation_id.

Iterate when necessary

Legal retrieval is not necessarily a one-query process.

query
  ↓
inspect
  ↓
refine
  ↓
retrieve again
  ↓
read
  ↓
analyze

The number of retrievals should depend on the complexity of the issue and whether each additional call contributes useful evidence.


Retrieval capabilities

Aturan.org supports complementary capabilities for discovering regulations, identifying relevant provisions, and reading source material.

CapabilityPurpose
Regulation identityResolve a known regulation from its title, type, number, year, or title phrase.
Norm discoveryFind candidate provisions relevant to a legal concept.
Landscape discoveryDiscover regulations connected to a legal issue.
Source verificationRead complete provisions before citation or analysis.

These capabilities are available through the Web application, REST API, and MCP Server.

       Indonesian regulatory corpus
                     │
                     ▼
                 Aturan.org
                     │
          ┌──────────┼──────────┐
          ▼          ▼          ▼
         Web      REST API     MCP Server
          │          │          │
          ▼          ▼          ▼
     Researchers  Applications  AI clients
                                & agents

GPU-accelerated exact search

Aturan.org uses GPU-accelerated Exact Nearest Neighbor (ENN) search rather than approximate nearest-neighbor indexing. This reflects our commitment to thorough semantic candidate discovery for legal research.

           query
             │
             ▼
      query embedding
             │
             ▼
 GPU-accelerated exact search
             │
             ▼
     nearest candidates

GPU acceleration makes exhaustive similarity computation practical at corpus scale, supporting responsive legal retrieval while preserving exact nearest-neighbor search.

Discovery and verification are separate

Semantic retrieval answers:

What legal material should I inspect?

Full-Pasal retrieval answers:

What does the selected provision actually say?

Keeping those operations separate prevents a similarity result or snippet from being treated as though it were the complete legal rule.


Designed for efficient agentic use

Aturan.org does not assume that legal retrieval requires the largest possible language model.

The MCP workflow is deliberately structured so that retrieval tools have clear roles, bounded inputs, and machine-readable outputs.

This makes the system suitable for tool-calling agents ranging from lightweight local models to larger frontier models.

A capable agent needs to understand a relatively small set of operations:

discover regulations
find norms
resolve regulation identity
read provisions

The legal corpus and retrieval workload remain outside the LLM itself.

This separation allows the language model to concentrate on planning and reasoning while Aturan.org performs legal evidence retrieval.


Institution and enterprise use

The retrieval architecture is designed so that the same general pattern can be used beyond the public Aturan.org service.

structured legal corpus
        +
semantic retrieval
        +
legal source reading
        +
tool interface
        +
agentic LLM

This architecture is suitable for LegalTech, RegTech, institutional legal knowledge systems, private RAG environments, and on-premise AI deployments where organizations require greater control over infrastructure, governance, or data boundaries.

The public Aturan.org service demonstrates this retrieval model using Indonesian regulations.


Interfaces

InterfaceAddressPrimary role
Webhttps://aturan.orgHuman-facing semantic legal research.
MCP Serverhttps://aturan.org/mcpAI clients and agentic legal retrieval.
REST APIhttps://aturan.org/apiApplication and system integration.
Discoverhttps://aturan.org/discoverOverview of available integration methods and use cases.

The interfaces serve different users but share the same core principle:

find relevant legal material
        ↓
inspect the source
        ↓
read the norm
        ↓
then analyze

Source verification

Aturan.org is designed to support grounded legal research, not to replace authoritative legal sources.

Where source verification is required, users and AI systems should inspect the official source document associated with the retrieved regulation.

A retrieval result helps locate relevant legal material.

It does not transform Aturan.org into the official publisher of that material.


Limitations

Semantic similarity is evidence of retrieval relevance, not evidence of legal applicability.

A highly similar provision does not by itself establish that the provision:

  • applies to every factual situation;
  • is the primary or controlling legal basis;
  • remains effective without amendment;
  • overrides another regulation;
  • has no relevant implementing regulation;
  • supports a particular interpretation; or
  • leads to a particular legal conclusion.

Before drawing a legal conclusion, evaluate:

  • the complete wording of the Pasal;
  • the context of the provision within the regulation;
  • definitions and related provisions;
  • the regulation's status;
  • amendments and revocations;
  • implementing regulations;
  • relationships between regulations;
  • regulatory hierarchy; and
  • the facts being analysed.

Aturan.org helps retrieve the evidence needed for that work.

The interpretation remains a separate analytical step.


Documentation

Detailed and current specifications are maintained outside this README.

MCP Server

Connection methods, OAuth, API Key authentication, MCP tools, parameters, retrieval strategy, and AI usage guidance:

https://aturan.org/mcp

REST API

Authentication, endpoints, request parameters, response structures, and integration guidance:

https://aturan.org/api

Discover

Comparison of the available interfaces and guidance on choosing between Web, REST API, and MCP:

https://aturan.org/discover

These documentation pages are the source of truth for operational specifications that may change over time.


Service access

Aturan.org provides free and paid access to its hosted services.

Access conditions, authentication methods, credits, quotas, usage limits, and available plans may differ between the Web application, REST API, and MCP Server.

Users can manage their account and create or revoke API keys through the Aturan.org Dashboard.

Refer to the relevant Aturan.org documentation for current service specifications.


About this repository

This repository represents the public-facing Aturan.org project and its published resources.

The hosted Aturan.org service includes infrastructure, datasets, retrieval systems, and backend components that are not necessarily part of this repository.

The Aturan.org name and logo are proprietary brand assets.

Any repository license applies only to source code and documentation explicitly published under that license. It does not grant rights to private backend systems, hosted services, datasets, trademarks, or brand assets unless expressly stated otherwise.


Find the norm by meaning. Verify the source.

aturan.org