Aturan.org menyediakan server Model Context Protocol (MCP) melalui Streamable HTTP, yang memungkinkan model AI dan AI agent mengakses lebih dari 295.000 regulasi dan 5,6 juta pasal peraturan perundang-undangan Indonesia sebagai legal knowledge layer.
Melalui MCP, agent dapat menemukan dan menggunakan tools Aturan.org ketika membutuhkan pencarian regulasi, penemuan pasal relevan, atau pembacaan ketentuan hukum sebelum melakukan reasoning. MCP Aturan.org tersedia dalam ekosistem MCP dan terdaftar di mcpservers.org dan Glama.ai, sehingga dapat ditemukan, dihubungkan, dan digunakan oleh aplikasi maupun AI agent yang membutuhkan akses terstruktur ke hukum Indonesia.
MCP Aturan.org menyediakan tool untuk:
- menemukan regulasi berdasarkan identitas atau judul;
- mencari norma pada tingkat Pasal secara semantik;
- memetakan regulasi yang berkaitan dengan suatu isu hukum;
- membaca bunyi lengkap Pasal yang telah ditemukan, satu per satu atau dalam batch.
Tool dirancang untuk digunakan secara agentic: model dapat memilih tool, melakukan beberapa retrieval, membaca Pasal yang diperlukan, lalu membangun analisis berdasarkan hasil retrieval tersebut.
MCP Aturan.org didesain untuk bekerja secara optimal pada layanan AI publik yang mendukung remote MCP seperti ChatGPT, Claude, Grok, Codex, serta Claude Code.
MCP Aturan.org juga dapat digunakan pada aplikasi AI client atau agent framework berbasis API yang mendukung MCP melalui Streamable HTTP, baik versi PC maupun mobile, seperti Cherry Studio, Askimo, BoltAI, dan Agora.
1. Endpoint MCP
Seluruh koneksi ke MCP Aturan.org dilakukan melalui:
https://mcp.aturan.org/mcp
Aturan.org mendukung dua metode autentikasi:
OAuth
API Key
Keduanya menghubungkan MCP client dengan layanan Aturan.org, tetapi ditujukan untuk pola penggunaan yang berbeda.
Secara umum:
Aturan.org
│
┌────────────┴────────────┐
│ │
OAuth API Key
│ │
interactive access programmatic access
│ │
└────────────┬────────────┘
│
▼
MCP Aturan.org
│
▼
Retrieval tools
Gunakan OAuth apabila MCP client mendukung login dan authorization flow secara interaktif.
Gunakan API Key apabila client menggunakan konfigurasi credential secara langsung, environment variable, header HTTP, atau integrasi programatik lainnya.
1.1. Koneksi dengan OAuth
OAuth menghubungkan MCP dengan akun Aturan.org.
Pada client yang mendukung OAuth, client membuka browser pada koneksi pertama agar pengguna dapat login ke Aturan.org dan memberikan persetujuan.
Tidak perlu menyalin atau mengatur access token OAuth secara manual. Client menyimpan dan memperbarui credential OAuth sesuai implementasinya.
OAuth cocok untuk:
- layanan AI dengan native MCP integration;
- client yang mendukung interactive login;
- penggunaan personal berbasis akun;
- environment yang tidak memerlukan pengelolaan API Key secara manual.
1.1.1. ChatGPT
Integrasi dengan ChatGPT dapat dilakukan dengan menambahkan custom MCP Server sebagai plugin.
- Pembuatan plugin MCP server:
- Isian konfigurasi MCP Aturan.org:
Isikan pada kotak dialog di atas:
Name: Aturan.org
Description: Semantic retrieval for Indonesian regulations, providing AI agents with structured access to relevant laws and authoritative legal text.
Connection: https://mcp.aturan.org/mcp
Authentication: OAuth
Setiap penambahan custom MCP server akan diminta konfirmasi oleh ChatGPT bahwa pengguna memahami cara kerja MCP server yang akan ditambahkan.
Pelajari dokumentasi MCP ini dan kebijakan privasi Aturan.org secara saksama. Centang bila sudah menyetujui
- Tekan tombol "Create as a plugin" untuk menghubungkan ke Aturan.org MCP, Anda akan diarahkan ke halaman otorisasi dari Aturan.org:
- Aturan.org terhubung dan siap menyediakan konteks hukum terverifikasi untuk mendasari respons ChatGPT:
1.1.2. Claude
Integrasi dengan Claude dapat dilakukan dengan menambahkan MCP server melalui connector:
- Pembuatan connector MCP server:
- Tambahkan Aturan.org sebagai connector, lalu tekan "Continue":
Tambahkan MCP Aturan.org sebagai remote MCP server menggunakan endpoint:
https://mcp.aturan.org/mcp
- Pilih metode otentikasi sesuai gambar berikut, lalu tekan "Add" dan Anda akan diarahkan ke halaman otorisasi dari Aturan.org:
- Aturan.org terhubung dan siap menyediakan konteks hukum terverifikasi untuk mendasari respons Claude. Anda dapat mengatur "Always allow" seluruh tool dari Aturan.org agar agentic query pasal peraturan dapat dilakukan secara otomatis:
1.1.3. Claude Code
Tambahkan server:
claude mcp add --transport http aturanorg https://mcp.aturan.org/mcp
Kemudian buka Claude Code, jalankan:
/mcp
pilih server aturanorg, lalu ikuti tautan login/consent yang ditampilkan di browser.
1.1.4. Codex CLI
Tambahkan server beserta resource MCP, lalu mulai login OAuth:
codex mcp add aturanorg \
--url https://mcp.aturan.org/mcp \
--oauth-resource https://mcp.aturan.org/mcp
codex mcp login aturanorg
Selesaikan login dan persetujuan Aturan.org di browser.
Verifikasi konfigurasi bila diperlukan:
codex mcp get aturanorg
1.2. Koneksi dengan API Key
API Key adalah alternatif autentikasi untuk MCP client atau integrasi yang tidak menggunakan OAuth.
API Key dapat dibuat dan dikelola langsung melalui Dashboard Aturan.org.
Buat key terpisah untuk setiap MCP client atau environment agar akses dapat dikelola dan dicabut secara independen.
API Key cocok untuk:
- MCP client yang menggunakan custom HTTP header;
- desktop atau mobile AI client;
- agent framework;
- automation;
- development environment;
- backend service;
- server-to-server integration.
API Key dikirim menggunakan HTTP Authorization header dengan skema Bearer:
Authorization: Bearer YOUR_API_KEY
Disarankan menyimpan API Key sebagai environment variable:
export ATURANORG_API_KEY='YOUR_API_KEY'
Jangan:
- menyimpan API Key langsung di source code;
- melakukan commit API Key ke repository;
- menampilkan API Key pada log;
- membagikan key kepada pihak lain;
- menaruh API Key pada frontend atau aplikasi browser publik.
Jika sebuah key tidak lagi diperlukan atau diduga terekspos, cabut key tersebut melalui Dashboard dan buat key baru.
1.2.1. Claude Code dengan API Key
Simpan API Key sebagai environment variable:
export ATURANORG_API_KEY='YOUR_API_KEY'
Kemudian tambahkan MCP server:
claude mcp add --transport http aturanorg-api https://mcp.aturan.org/mcp \
--header "Authorization: Bearer ${ATURANORG_API_KEY}"
Setelah tersimpan, jalankan:
/mcp
untuk memeriksa koneksi dan tool yang tersedia.
1.2.2. Codex CLI dengan API Key
Codex CLI dapat membaca API Key dari environment variable melalui --bearer-token-env-var.
Simpan API Key:
export ATURANORG_API_KEY='YOUR_API_KEY'
Tambahkan MCP server:
codex mcp add aturanorg-api \
--url https://mcp.aturan.org/mcp \
--bearer-token-env-var ATURANORG_API_KEY
Jalankan Codex dari shell atau environment yang memiliki ATURANORG_API_KEY.
Periksa konfigurasi tanpa menampilkan nilai key:
codex mcp get aturanorg-api
1.2.3. Konfigurasi MCP Client dengan JSON
Untuk MCP client yang menerima konfigurasi JSON, gunakan pola seperti berikut:
{
"mcpServers": {
"aturanorg": {
"url": "https://mcp.aturan.org/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
},
"disabled": false,
"autoApprove": []
}
}
}
Format konfigurasi setiap MCP client dapat berbeda.
Gunakan format yang didukung oleh client masing-masing dengan prinsip yang sama:
Authorization: Bearer YOUR_API_KEY
Setelah konfigurasi disimpan atau OAuth selesai, refresh atau buat ulang koneksi MCP agar client memuat daftar tool yang tersedia.
2. Tool
MCP Aturan.org menyediakan lima tool utama untuk pencarian dan pembacaan:
cari_peraturan_terkait
cari_pasal_terkait
cari_judul_peraturan
baca_isi_pasal
baca_isi_pasal_batch
Kelima tool memiliki fungsi berbeda dan saling melengkapi.
Regulation discovery → cari_peraturan_terkait
Norm discovery → cari_pasal_terkait
Identity resolution → cari_judul_peraturan
Norm reading → baca_isi_pasal
Batch norm reading → baca_isi_pasal_batch
Tidak diperlukan pemanggilan seluruh tool pada setiap riset.
Agent sebaiknya memilih tool berdasarkan apa yang telah diketahui dan informasi apa yang masih diperlukan.
2.1. cari_peraturan_terkait
cari_peraturan_terkait(query, top_k=40)
Melakukan discovery regulasi berbasis semantic retrieval Pasal.
Tool mencari Pasal yang berkaitan dengan query, kemudian mengagregasikan hasil tersebut pada tingkat regulasi.
Gunakan tool ini apabila target awal retrieval adalah:
- regulasi apa saja yang berkaitan dengan suatu isu;
- payung hukum suatu aktivitas atau kebijakan;
- pemetaan regulasi lintas jenis atau hierarki;
- eksplorasi isu yang kemungkinan tersebar pada beberapa regulasi;
- tahap awal riset hukum yang belum mengetahui dokumen mana yang relevan.
Contoh query:
sanksi administratif dalam kegiatan usaha pertambangan
pengadaan tanah dan pemberian kompensasi untuk jaringan tenaga listrik
pengaturan PLTS atap dan kewajiban pemegang izin usaha penyediaan tenaga listrik
2.1.1. Parameter
| Parameter | Wajib | Default | Nilai |
|---|---|---|---|
query |
Ya | — | 1–2.000 karakter, minimum 3 kata |
top_k |
Tidak | 40 |
integer 20–200 |
Nilai top_k yang lebih tinggi memperluas kandidat retrieval, tetapi dapat meningkatkan waktu respons dan ukuran hasil.
Pencarian semantik memerlukan konteks yang cukup, sehingga minimum input adalah 3 kata yang dipisahkan dengan spasi.
Untuk regulatory landscape atau penelitian yang membutuhkan recall tinggi, gunakan top_k 100–200.
2.1.2. Struktur hasil
Hasil dikelompokkan dalam:
groups
Setiap regulasi dapat memiliki:
semantic_hits
yang berisi preview hingga 10 Pasal teratas hasil semantic retrieval, serta:
semantic_hit_pasals
yang berisi seluruh nomor Pasal kandidat unik yang ditemukan untuk regulasi tersebut.
semantic_hit_pasals dapat digunakan sebagai kandidat untuk pemanggilan:
baca_isi_pasal
Tool ini digunakan untuk regulation discovery, bukan sebagai pengganti pembacaan norma lengkap.
2.2. cari_pasal_terkait
cari_pasal_terkait(query, top_k=10)
Melakukan semantic retrieval langsung pada tingkat Pasal.
Gunakan tool ini apabila target retrieval adalah norma, hak, kewajiban, larangan, kewenangan, prosedur, syarat, sanksi, atau konsep hukum tertentu dan identitas regulasinya belum tentu diketahui.
Contoh query:
syarat sah perjanjian
hak ahli waris penerima manfaat jaminan kematian BPJS Ketenagakerjaan
kewajiban pemberi kerja mendaftarkan pekerja dalam program jaminan sosial
2.2.1. Parameter
| Parameter | Wajib | Default | Nilai |
|---|---|---|---|
query |
Ya | — | 1–2.000 karakter, minimum 3 kata |
top_k |
Tidak | 10 |
integer 1–20 |
Hasil merupakan kandidat Pasal berdasarkan kedekatan semantik.
Semantic retrieval menunjukkan relevansi terhadap query, tetapi tidak dengan sendirinya menentukan bahwa Pasal tersebut merupakan dasar hukum yang tepat untuk suatu kesimpulan.
Tool ini memerlukan minimum input 3 kata yang dipisahkan dengan spasi.
Untuk pencarian substantif, gunakan setidaknya top_k=10.
Gunakan hingga top_k=20 apabila membutuhkan recall lebih tinggi.
Jangan membatasi pencarian hanya pada 3–4 hasil apabila analisis membutuhkan cakupan norma yang memadai. Pasal yang penting secara hukum dapat muncul pada urutan 4–8 atau lebih rendah karena ranking menunjukkan kedekatan semantik, bukan kesimpulan mengenai relevansi hukum.
Jika bunyi norma diperlukan untuk analisis atau kutipan, baca Pasal yang relevan sebelum menyimpulkan.
2.2.2. Struktur hasil
Hasil menyediakan kandidat Pasal beserta identitas regulasi dan metadata yang diperlukan untuk mengevaluasi hasil retrieval.
Gunakan regulation_id dan nomor Pasal dari hasil yang telah dipilih untuk:
baca_isi_pasal
2.3. cari_judul_peraturan
cari_judul_peraturan(query, top_k=10, sort="relevance")
Mencari regulasi berdasarkan judul, jenis, nomor, tahun, atau frasa yang terdapat pada judul regulasi.
Pencarian bersifat literal/full-text dan bukan semantic search.
Query boleh berupa satu kata, singkatan, nomor, tahun, atau frasa.
Gunakan tool ini ketika identitas regulasi sudah diketahui atau dapat dinyatakan secara eksplisit.
Contoh:
PP 45 Tahun 2005
UU 30 Tahun 2009
Peraturan Menteri ESDM tentang PLTS Atap
2.3.1. Parameter
| Parameter | Wajib | Default | Nilai |
|---|---|---|---|
query |
Ya | — | 1–2.000 karakter |
top_k |
Tidak | 10 |
integer 1–20 |
sort |
Tidak | "relevance" |
"relevance", "newest", "oldest" |
relevance mengurutkan berdasarkan kecocokan judul.
newest dan oldest mengurutkan berdasarkan tahun dokumen.
Hasil yang dapat dibaca lebih lanjut menyediakan regulation_id.
Gunakan regulation_id tersebut pada:
baca_isi_pasal
apabila diperlukan pembacaan norma tertentu.
2.3.2. Struktur hasil
Hasil menyediakan identitas regulasi dan metadata yang dapat digunakan untuk memastikan bahwa regulasi yang ditemukan memang sesuai dengan dokumen yang dicari.
Pastikan identitas regulasi sebelum menggunakan regulation_id untuk pembacaan Pasal.
2.4. baca_isi_pasal
baca_isi_pasal(regulation_id, pasal)
Membaca bunyi lengkap satu Pasal dari regulasi yang telah ditemukan.
2.4.1. Parameter
| Parameter | Wajib | Format |
|---|---|---|
regulation_id |
Ya | tepat 6 digit |
pasal |
Ya | angka, opsional diikuti 1–3 huruf |
Format regulation_id:
^[0-9]{6}$
Format pasal:
^[0-9]+[A-Z]{0,3}$
Contoh nilai pasal yang valid:
1
5A
27B
1336
Spasi pada nomor Pasal dihapus dan huruf dinormalisasi menjadi kapital sebelum pencarian.
Satu pemanggilan hanya membaca satu Pasal.
Untuk beberapa Pasal yang regulation_id dan nomornya sudah diketahui, gunakan
baca_isi_pasal_batch. Kontrak single tool ini tetap sama.
regulation_id harus berasal dari hasil tool Aturan.org.
Jangan membuat atau menebaknya.
2.4.2. Struktur hasil
Hasil memberikan bunyi lengkap Pasal yang diminta beserta informasi regulasi yang relevan.
Gunakan hasil ini sebagai sumber teks norma sebelum melakukan kutipan atau analisis yang bergantung pada redaksi Pasal.
2.5. baca_isi_pasal_batch
baca_isi_pasal_batch(items)
Membaca bunyi lengkap beberapa Pasal dalam satu pemanggilan MCP, boleh dari
regulasi yang berbeda. Gunakan ketika regulation_id dan nomor Pasal setiap
item sudah diketahui dari hasil tool Aturan.org, bukan untuk discovery.
Untuk satu Pasal, gunakan baca_isi_pasal.
Jika beberapa Pasal sudah diketahui dan diperlukan pada tahap analisis yang sama, prioritaskan satu batch hingga 20 item, boleh lintas regulasi, daripada memanggil single berulang atau membaginya menjadi beberapa batch kecil tanpa kebutuhan. Kirim hanya Pasal relevan; jangan menambah item atau menunda pembacaan hanya untuk memenuhi kapasitas 20. Jika lebih dari 20 Pasal diperlukan, bagi menjadi beberapa batch, masing-masing maksimal 20 item.
2.5.1. Parameter
| Parameter | Wajib | Format |
|---|---|---|
items |
Ya | array berisi 1–20 objek |
items[].regulation_id |
Ya | string ID tepat 6 digit |
items[].pasal |
Ya | string angka, opsional diikuti 1–3 huruf |
Setiap objek hanya berisi regulation_id dan pasal. Seluruh input divalidasi
sebelum diproses. Spasi nomor Pasal dihapus dan huruf dinormalisasi menjadi
kapital; pasangan duplikat setelah normalisasi ditolak sebelum reservasi/debit.
Nomor Pasal yang sama dari regulasi berbeda tetap diperbolehkan.
Contoh format argumen (ID dan nomor harus diganti dengan hasil retrieval yang valid):
{
"items": [
{"regulation_id": "004967", "pasal": "20"},
{"regulation_id": "004968", "pasal": "5A"}
]
}
2.5.2. Struktur hasil
Hasil berisi tool, request_id, dan array items sesuai urutan input,
meskipun retrieval selesai dalam urutan berbeda. Setiap item berisi:
regulation_iddanpasalyang sudah dinormalisasi;ok: keberhasilan item tersebut;data: payload Isi Pasal existing jika berhasil; atauerror: kode, pesan, dan guidance bila tersedia jika gagal.
Batch dapat berhasil sebagian. Periksa ok setiap item sebelum mengutip atau
menganalisis Pasal. Jangan menganggap item yang gagal sudah dibaca.
Output agent tidak memuat saldo, charged_credits, atau ringkasan billing.
2.5.3. Scheduler, kredit, dan kegagalan
Retrieval memakai kapasitas bersama khusus batch, default 40 slot per proses
MCP, bukan batas empat worker per batch. Kapasitas diatur saat startup melalui
[mcp_isi_pasal_batch] max_in_flight pada data/config.cfg; restart MCP setelah
perubahan. Batas input tetap 20 item. Item langsung diproses jika kapasitas
tersedia, tanpa menunggu batch/pool penuh. Beberapa batch berbagi kapasitas ini;
single tool dan REST tidak memakai pool batch. Batas ini bukan jaminan fairness
antaruser dan bukan batas bersama lintas proses MCP.
Khusus tool batch, satu pemanggilan memakai satu slot scheduler akun yang
sama dengan REST/MCP, bukan satu slot per Pasal. Explorer 1 QPS berarti satu
batch per detik, maksimal 20 Pasal per batch. Single tool dan tool pencarian
tetap mengikuti perilaku scheduler existing. Kapasitas bersama tetap membatasi
retrieval bersamaan; waktu selesai juga bergantung pada core dan jaringan.
Admission dan debit diprioritaskan sesuai urutan input. Kredit dipotong per item saat kapasitas worker tersedia setelah admission batch, bukan total batch di awal. Tarif mengikuti Isi Pasal single.
Jika debit gagal karena insufficient_credit, item tersebut dan seluruh item
berikutnya yang belum diterima tidak melakukan retrieval. Item in-flight tetap
selesai. Error memakai pesan dan guidance existing: beri tahu pengguna bahwa
kredit tidak cukup dan jangan mengarang konten Pasal yang belum berhasil dibaca.
Refund kegagalan mengikuti perilaku single tool. Tidak ada retry otomatis setelah refund, dan refund setelah cutoff tidak membuka kembali admission batch.
3. Strategi pemilihan tool
Pemilihan tool ditentukan oleh apa yang telah diketahui dan apa yang ingin ditemukan.
3.1. Identitas regulasi telah diketahui
Gunakan:
cari_judul_peraturan
Kemudian gunakan:
baca_isi_pasal
jika nomor Pasal telah diketahui atau diperlukan.
Alur:
cari_judul_peraturan
→ regulation_id
→ baca_isi_pasal
3.2. Targetnya adalah norma atau Pasal yang relevan
Gunakan:
cari_pasal_terkait
Tool ini paling langsung apabila pertanyaan dapat diterjemahkan menjadi konsep normatif yang cukup spesifik.
Alur umum:
cari_pasal_terkait
→ evaluasi kandidat Pasal
→ baca bunyi lengkap bila diperlukan
→ analisis
3.3. Targetnya adalah regulasi yang berkaitan dengan suatu isu
Gunakan:
cari_peraturan_terkait
Tool ini cocok sebagai tahap discovery sebelum menentukan Pasal mana yang perlu dibaca.
Alur umum:
cari_peraturan_terkait
→ evaluasi groups
→ pilih regulasi relevan
→ evaluasi semantic_hit_pasals
→ baca_isi_pasal
→ analisis
3.4. Isu hukum kompleks
Satu pertanyaan dapat memiliki beberapa dimensi normatif.
Pisahkan isu menjadi beberapa sub-query apabila satu semantic query terlalu luas.
Contoh:
pengaturan PLTS atap
dapat dikembangkan menjadi retrieval terpisah seperti:
perizinan PLTS atap
kewajiban pemegang izin usaha penyediaan tenaga listrik terkait PLTS atap
ekspor impor energi listrik PLTS atap
kapasitas pemasangan PLTS atap
Tidak diperlukan pemanggilan seluruh tool pada setiap riset.
Gunakan tool hanya ketika menghasilkan informasi baru yang diperlukan.
4. Retrieval workflow
Untuk riset hukum berbasis MCP, pola umum yang direkomendasikan adalah:
DISCOVER
→ IDENTIFY
→ READ
→ ANALYZE
4.1. DISCOVER
Temukan kandidat regulasi atau Pasal menggunakan:
cari_judul_peraturan
cari_pasal_terkait
cari_peraturan_terkait
Tool yang digunakan bergantung pada informasi yang telah diketahui.
4.2. IDENTIFY
Pilih hasil yang memiliki hubungan paling jelas dengan isu yang sedang dianalisis.
Perhatikan:
- judul regulasi;
- jenis regulasi;
- tahun;
- status;
- metadata hasil;
- semantic hits;
- nomor Pasal kandidat.
Semantic ranking menunjukkan kedekatan makna, bukan keputusan mengenai relevansi hukum.
4.3. READ
Gunakan:
baca_isi_pasal
untuk memperoleh bunyi norma lengkap sebelum menggunakan Pasal sebagai dasar analisis atau kutipan.
Jika beberapa Pasal sudah teridentifikasi, gunakan baca_isi_pasal_batch untuk
membacanya sekaligus, hingga 20 item per call dan boleh lintas regulasi.
Evaluasi hasil setiap item; hanya Pasal yang berhasil dibaca dapat dipakai sebagai
sumber bunyi norma dalam analisis.
4.4. ANALYZE
Bangun analisis dari materi yang telah diretrieval.
Pisahkan antara:
- bunyi norma;
- hubungan antarregulasi;
- interpretasi;
- dan kesimpulan analitis.
5. Query strategy
Semantic retrieval bekerja lebih baik apabila query menggambarkan substansi hukum yang dicari, bukan sekadar instruksi percakapan.
Lebih baik:
hak ahli waris penerima manfaat program jaminan kematian BPJS Ketenagakerjaan
daripada:
bagaimana jaminan kematian BPJS Ketenagakerjaan untuk ahli waris pekerja yang meninggal
Lebih baik:
jenis alat bukti yang sah dalam hukum acara pidana
daripada:
apa saja alat bukti yang sah?
Query semantic retrieval sebaiknya:
- berisi setidaknya 3 kata;
- menggambarkan konsep hukum yang dicari;
- memberikan konteks yang cukup;
- tidak berisi instruksi percakapan yang tidak diperlukan;
- tidak memasukkan kesimpulan hukum yang belum diketahui.
Untuk isu kompleks, lakukan beberapa retrieval dengan perspektif berbeda daripada memaksakan seluruh isu ke dalam satu query panjang.
5.1. Query dapat menggunakan bahasa lain
Semantic retrieval Aturan.org menggunakan model embedding multilingual.
Query untuk:
cari_peraturan_terkait
dan:
cari_pasal_terkait
tidak harus menggunakan Bahasa Indonesia.
Sebagai contoh:
administrative sanctions for mining companies
atau:
foreign investor land ownership restrictions
dapat digunakan untuk melakukan semantic retrieval terhadap regulasi Indonesia meskipun teks sumber menggunakan Bahasa Indonesia.
Kemampuan ini berguna untuk:
- AI multilingual;
- pengguna internasional;
- penelitian lintas bahasa;
- aplikasi yang menerima input dalam berbagai bahasa;
- agent yang melakukan reasoning dalam bahasa berbeda dari bahasa sumber.
Bahasa query tidak mengubah prinsip retrieval: hasil merupakan kandidat berdasarkan kedekatan semantik dan tetap harus dievaluasi dalam konteks hukum.
6. Kode Peraturan
regulation_id adalah identifier regulasi yang digunakan oleh gateway MCP/API.
Gunakan hanya ID yang dikembalikan oleh tool Aturan.org.
Jangan membuat atau menebak:
regulation_id;- judul regulasi;
- nomor atau tahun;
- nomor Pasal;
- shard;
- path internal;
- maupun bunyi norma.
Apabila suatu regulation_id tidak lagi tersedia, ulangi retrieval menggunakan:
cari_judul_peraturan
atau:
cari_peraturan_terkait
atau:
cari_pasal_terkait
untuk memperoleh referensi regulasi yang dapat digunakan.
Alur yang benar:
retrieve
↓
temukan regulasi
↓
verifikasi identitas
↓
ambil regulation_id
↓
baca_isi_pasal
Jangan menggunakan baca_isi_pasal sebagai mekanisme discovery.
7. Prinsip penggunaan oleh AI
Berikut panduan bagi AI dalam berinteraksi dengan MCP Aturan.org untuk mendapatkan hasil analisis yang optimal.
7.1. Retrieval before reasoning
Jika analisis memerlukan dasar regulasi, gunakan retrieval sebelum mengandalkan pengetahuan internal model.
Pengetahuan internal model dapat digunakan untuk membantu:
- merumuskan query;
- memecah isu;
- memahami hubungan konsep;
- menentukan retrieval berikutnya;
- dan menyusun analisis.
Tetapi identitas regulasi, Pasal, dan bunyi norma yang akan dijadikan dasar analisis sebaiknya berasal dari hasil retrieval.
7.2. Distinguish regulation discovery from norm discovery
Gunakan:
cari_peraturan_terkait
untuk regulation discovery.
Gunakan:
cari_pasal_terkait
untuk norm discovery.
Keduanya dapat digunakan secara berurutan atau paralel apabila isu membutuhkan pemetaan luas sekaligus pencarian norma tertentu.
7.3. Read before citing
Semantic hit bukan pengganti bunyi Pasal lengkap.
Sebelum mengutip atau membangun interpretasi yang bergantung pada redaksi norma, gunakan:
baca_isi_pasal
Dengan demikian:
semantic retrieval
↓
candidate evidence
↓
baca_isi_pasal
↓
normative text
↓
legal reasoning
7.4. Do not fabricate legal references
Jangan menghasilkan referensi regulasi atau Pasal yang tidak berasal dari hasil retrieval apabila referensi tersebut akan dipresentasikan sebagai hasil riset Aturan.org.
Jangan menebak regulation_id.
Jika retrieval tidak menemukan dasar yang memadai, nyatakan bahwa hasil yang tersedia belum cukup dan lakukan query tambahan bila diperlukan.
7.5. Iterate when necessary
Retrieval bukan proses satu langkah.
Agent dapat:
query
→ inspect results
→ refine query
→ retrieve again
→ read selected articles
→ analyze
Jumlah iterasi bergantung pada kompleksitas isu dan kualitas hasil retrieval.
Tambahkan retrieval hanya apabila pemanggilan berikutnya berpotensi menghasilkan informasi baru yang diperlukan.
7.6. Semantic similarity is not legal relevance
Ranking semantic retrieval menunjukkan kedekatan makna antara query dan kandidat Pasal.
Ranking tersebut bukan penilaian bahwa:
- hasil pertama pasti merupakan dasar hukum utama;
- hasil dengan skor lebih tinggi secara hukum mengalahkan hasil lain;
- Pasal kandidat pasti berlaku terhadap fakta;
- regulasi kandidat memiliki kedudukan lebih tinggi;
- atau kandidat mendukung kesimpulan tertentu.
Karena itu, agent harus mengevaluasi kandidat sebelum menentukan norma yang akan digunakan.
8. Ringkasan mental model
Lima tool MCP Aturan.org dapat dipahami melalui model berikut:
USER QUESTION
│
▼
What is known?
│
┌────────────────┼────────────────┐
│ │ │
▼ ▼ ▼
known regulation specific norm broad issue
│ │ │
▼ ▼ ▼
cari_judul_ cari_pasal_ cari_peraturan_
peraturan terkait terkait
│ │ │
└────────────────┼────────────────┘
▼
evaluate candidates
│
▼
identify regulation
│
▼
regulation_id
│
┌───────┴────────┐
▼ ▼
baca_isi_pasal baca_isi_pasal_batch
one Pasal multiple Pasal
│ │
└───────┬────────┘
▼
normative text
│
▼
ANALYZE
Secara ringkas:
DISCOVER → IDENTIFY → READ → ANALYZE
9. OAuth atau API Key?
Kedua metode autentikasi memberikan akses ke MCP Aturan.org.
Pilih berdasarkan cara MCP client atau sistem Anda bekerja.
| Kebutuhan | OAuth | API Key |
|---|---|---|
| Login interaktif melalui browser | ✓ | — |
| Native OAuth pada MCP client | ✓ | — |
| Tidak perlu mengelola credential secara manual | ✓ | — |
| Konfigurasi melalui HTTP header | — | ✓ |
| Environment variable | — | ✓ |
| Desktop/mobile MCP client dengan custom header | — | ✓ |
| Automation atau agent service | — | ✓ |
| Backend/server-to-server | — | ✓ |
| Key terpisah per client atau environment | — | ✓ |
Secara sederhana:
OAuth
User authorizes access interactively
│
▼
MCP Client
│
▼
Aturan.org
API Key
Application/client provides credential
│
▼
MCP Client
│
▼
Aturan.org
API Key dikirim menggunakan skema HTTP Bearer:
Authorization: Bearer YOUR_API_KEY
Bearer adalah skema pengiriman credential, bukan metode autentikasi terpisah.
10. Batasan
Aturan.org menyediakan sistem retrieval regulasi, bukan mesin yang menentukan kesimpulan hukum secara otomatis.
Semantic search menghasilkan kandidat berdasarkan relevansi terhadap query.
Relevansi tersebut tidak dengan sendirinya membuktikan bahwa suatu Pasal:
- berlaku terhadap seluruh fakta;
- merupakan dasar hukum utama;
- mengesampingkan regulasi lain;
- masih berlaku tanpa perubahan;
- atau mendukung interpretasi tertentu.
Sebelum membangun kesimpulan hukum, evaluasi:
- bunyi lengkap Pasal;
- konteks Pasal dalam regulasi;
- status keberlakuan;
- perubahan dan pencabutan;
- hubungan antarregulasi;
- hierarki regulasi;
- serta fakta yang sedang dianalisis.
MCP Aturan.org membantu AI menemukan dan membaca materi hukum yang relevan.
Interpretasi dan legal reasoning tetap merupakan tahap analisis yang terpisah.
11. Ringkasan koneksi
Endpoint MCP:
https://mcp.aturan.org/mcp
Metode autentikasi:
OAuth
atau
API Key
Tool:
cari_peraturan_terkait
cari_pasal_terkait
cari_judul_peraturan
baca_isi_pasal
baca_isi_pasal_batch
Workflow:
DISCOVER
→ IDENTIFY
→ READ
→ ANALYZE
Prinsip penggunaan:
RETRIEVE BEFORE REASONING
READ BEFORE CITING
DO NOT GUESS REFERENCES
ITERATE WHEN NECESSARY