Aturan.org menyediakan server Model Context Protocol (MCP) melalui Streamable HTTP untuk menghubungkan model AI dan agent dengan sistem retrieval regulasi 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.
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 dapat digunakan pada client yang mendukung remote MCP seperti Cherry Studio (macOS, Windows, Linux), Agora (Android) atau agent/framework AI lain yang mendukung Streamable HTTP.
Koneksi uji publik
Endpoint MCP:
https://mcp.aturan.org/mcp
Gunakan Bearer token berikut pada header koneksi:
Authorization: Bearer aturanorg-mcp-ujicoba-1234567890abcdef
Token MCP berbeda dari API key REST API Aturan.org.
Token publik ini ditujukan untuk pengujian dan dapat dirotasi, dibatasi, atau dinonaktifkan sewaktu-waktu. Jangan digunakan sebagai credential produksi atau ditanamkan pada aplikasi publik.
Konfigurasi Cherry Studio
{
"mcpServers": {
"aturanorg": {
"url": "https://mcp.aturan.org/mcp",
"headers": {
"Authorization": "Bearer aturanorg-mcp-ujicoba-1234567890abcdef"
},
"disabled": false,
"autoApprove": []
}
}
}
Setelah konfigurasi disimpan, refresh atau buat ulang koneksi MCP agar client memuat daftar tool yang tersedia.
Tool
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.
Gunakan tool ini ketika identitas regulasi sudah diketahui atau dapat dinyatakan secara eksplisit, misalnya:
PP 45 Tahun 2009
UU 30 Tahun 2009
Peraturan Menteri ESDM tentang PLTS Atap
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.
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
Parameter
| Parameter | Wajib | Default | Nilai |
|---|---|---|---|
query |
Ya | — | 1–2.000 karakter |
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.
Jika bunyi norma diperlukan untuk analisis atau kutipan, baca Pasal yang relevan sebelum menyimpulkan.
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
Parameter
| Parameter | Wajib | Default | Nilai |
|---|---|---|---|
query |
Ya | — | 1–2.000 karakter |
top_k |
Tidak | 40 |
integer 20–200 |
Nilai top_k yang lebih tinggi memperluas kandidat retrieval, tetapi dapat meningkatkan waktu respons dan ukuran hasil.
Struktur hasil
Hasil dikelompokkan dalam:
groups
Setiap regulasi dapat memiliki:
semantic_hits
yang berisi preview maksimal 10 Pasal 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.
baca_isi_pasal
baca_isi_pasal(regulation_id, pasal)
Membaca bunyi lengkap satu Pasal dari regulasi yang telah ditemukan.
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.
regulation_id harus berasal dari hasil tool Aturan.org. Jangan membuat atau menebaknya.
Strategi pemilihan tool
Pemilihan tool ditentukan oleh apa yang telah diketahui dan apa yang ingin ditemukan.
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
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
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
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.
Retrieval workflow
Untuk riset hukum berbasis MCP, pola umum yang direkomendasikan adalah:
DISCOVER
→ IDENTIFY
→ READ
→ ANALYZE
DISCOVER
Temukan kandidat regulasi atau Pasal menggunakan:
cari_judul_peraturan
cari_pasal_terkait
cari_peraturan_terkait
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.
READ
Gunakan:
baca_isi_pasal
untuk memperoleh bunyi norma lengkap sebelum menggunakan Pasal sebagai dasar analisis atau kutipan.
ANALYZE
Bangun analisis dari materi yang telah diretrieval.
Pisahkan antara:
- bunyi norma;
- hubungan antarregulasi;
- interpretasi;
- dan kesimpulan analitis.
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?
Untuk isu kompleks, lakukan beberapa retrieval dengan perspektif berbeda daripada memaksakan seluruh isu ke dalam satu query panjang.
Jangan memasukkan kesimpulan hukum yang belum diketahui ke dalam query.
regulation_id
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
untuk memperoleh referensi regulasi yang dapat digunakan.
Prinsip penggunaan oleh AI
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;
- dan menyusun analisis.
Tetapi identitas regulasi, Pasal, dan bunyi norma yang akan dijadikan dasar analisis sebaiknya berasal dari hasil retrieval.
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.
Read before citing
Semantic hit bukan pengganti bunyi Pasal lengkap.
Sebelum mengutip atau membangun interpretasi yang bergantung pada redaksi norma, gunakan:
baca_isi_pasal
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.
Jika retrieval tidak menemukan dasar yang memadai, nyatakan bahwa hasil yang tersedia belum cukup dan lakukan query tambahan bila diperlukan.
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.
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.