กฎหมายหลักของไทย4 corners & the Constitution
Machine access

ให้ AI และโปรแกรมเรียกใช้กฎหมาย

คลังกฎหมายทั้งหมดอยู่ในฐานข้อมูล SQLite ชุดเดียว (ตาราง laws, nodes, sections, refs + ดัชนี FTS5 sections_fts) เปิดให้เรียกใช้ได้สองทาง เว็บไซต์นี้เองก็อ่านจากฐานเดียวกัน — เป็นแหล่งความจริงเดียว

1 · HTTP API (อ่านอย่างเดียว, CORS เปิด)

Endpointทำอะไร
GET /api/lawรายชื่อกฎหมายทั้งหมด
GET /api/law?law=pcสารบัญ (ภาค/ลักษณะ/หมวด) ของกฎหมายหนึ่ง
GET /api/section?law=ccc&section=420ตัวบทมาตราเดียว + รายการอ้างอิงเข้า/ออก
GET /api/search?q=ละเมิด&law=ccc&limit=25ค้นข้อความเต็ม (FTS5) จัดอันดับ
POST /api/sqlคิวรี SQL อ่านอย่างเดียว (SELECT/WITH, LIMIT 200)
# ตัวบทมาตรา 112 ป.อาญา
curl 'https://law.uphasia.co/api/section?law=pc&section=112'

# ค้น "สิทธิเสรีภาพ" เฉพาะในรัฐธรรมนูญ
curl 'https://law.uphasia.co/api/search?q=สิทธิเสรีภาพ&law=constitution'

# SQL: หามาตราที่ถูกอ้างถึงมากที่สุดใน ป.พ.พ.
curl 'https://law.uphasia.co/api/sql' --data \
 "SELECT to_sect_key, COUNT(*) n FROM refs
  WHERE to_law_code='ccc' GROUP BY to_sect_key ORDER BY n DESC LIMIT 10"

2 · MCP server (สำหรับ Claude & เอเจนต์)

เซิร์ฟเวอร์ MCP (stdio) เปิดเครื่องมือ list_laws, get_toc, get_section, search และ run_sql อ่านจาก law.db เดียวกัน เพิ่มลงใน Claude Code ได้ด้วย:

claude mcp add thai-law -- node /home/ubuntu/law-uphasia/mcp/server.mjs

หรือใส่ใน .mcp.json / claude_desktop_config.json:

{
  "mcpServers": {
    "thai-law": {
      "command": "node",
      "args": ["/home/ubuntu/law-uphasia/mcp/server.mjs"]
    }
  }
}

สคีมา

laws(code, slug, title_th, short_th, kind_th, category, source, n_sections)
nodes(id, law_code, kind, label, heading, seq)      -- โครงลำดับชั้น
sections(id, law_code, node_id, sect_key, num_th,
         num_sort, sub_sort, text, notes, is_repealed)
refs(from_id -> sections.id, to_law_code, to_sect_key, kind)
sections_fts(text)  USING fts5(tokenize='trigram')  -- ค้นไทยแบบ substring

ที่มาข้อมูล & ขอบเขต →