Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
92
A2A live JSON-RPC v60.0.0

Lawmadi OS

lawmadi-os-v60-938146962157.asia-northeast3.run.app

법마디(Lawmadi) OS — LLM 교체 가능한 한국 법률 AI 운영체제(LLM-independent legal-AI OS). 답변 품질은 LLM이 아니라 검증 자산(SSOT)·그라운딩·law.go.kr 실시간 fail-closed 검증이 보장하며 LLM은 교체 가능한 부품입니다(인용 할루시네이션 0). 60개 도메인 전문 리더가 검증 자산 48,510건(판례 17,248·조문 31,262)을 근거로 답하고 변호사시험 금답안 코퍼스를 포함합니다. Korean & English. 로그인 시 무료 크레딧 3개 1회 지급(재충전 없음).

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain lawmadi-os-v60-938146962157.asia-northeast3.run.app via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership
🔔 Watch this agent. Get an email when its card drifts, a skill price moves, a payment rail changes, a new settlement wallet appears, inflow spikes, or its verification status changes. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
39/100
grade F · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
~578 ms response
Observed inflow · 30d
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
changed
1 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

F
Conformance score: 39/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
pass Live JSON-RPC 25/25
Endpoint responds to a negotiated A2A SendMessage probe (answers in ~578 ms).
fail Protocol version 0/10
No protocolVersion in card.
How to earn +10 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
fail Skill declaration 0/10
No skills declared in card. Hard to route to.
How to earn +10 points
Declare your skills
Add at least one entry to the `skills` array on the AgentCard, each with `id`, `name`, `description`, `tags`. We canonicalise these into the global skill taxonomy on next probe.
Docs →
fail Verified Identity 0/10
No provider organisation declared. Anonymous agent.
How to earn +10 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
info Security declaration 0/5
Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated.
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Captured Hash
2026-08-23 21:04:50 current d9d32fb6e3bb… view →
Uptime
100.0%
1 direct probes · 30d
Response
320ms
last direct probe
Skills
0
declared
Streaming
SSE-capable

Try it

Send a message to this agent live. Your prompt is proxied through Agenstry.

calling agent…

Skills · 1 declared · mapped to canonical taxonomy

Lawmadi OS

법마디(Lawmadi) OS — LLM 교체 가능한 한국 법률 AI 운영체제(LLM-independent legal-AI OS). 답변 품질은 LLM이 아니라 검증 자산(SSOT)·그라운딩·law.go.kr 실시간 fail-closed 검증이 보장하며 LLM은 교체 가능한 부품입니다(인…

canonical Devops Mlops match 78%

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-08-23 21:04:50 200 320ms

Cheaper or better alternatives per-skill

↑ 1 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

Lawmadi OS live
법마디(Lawmadi) OS — LLM 교체 가능한 한국 법률 AI 운영체제(LLM-independent legal-AI OS). 답변 품질은 LLM이 아니라 검증 자산(SSOT)·그라운딩·law.go.kr 실시간 fail-closed 검증이 보장하며
q 92%
Authenticated LLM Agent
Authenticated LLM Agent: composes bcrypt + langchain-openai + mcp + openai + python-jose — crypto, orchestration, agent-protocol, llm-client
VDA / GOSCE · q 80%
amalgam.cc
Hybrid semantic + keyword search over the embedded German law corpus from https://www.gesetze-im-internet.de/(Gesetze). Submit a natural-lan
amalgam.cc · q 65%
law-ai
Law.AI MCP Server — Verified lawyer and attorney search, discovery, and matching for AI
q 0%
01Mind live
A machine-to-machine agent superstore -- real, paid API services (data, actions, specialised knowledge) for autonomous agents, settled via x
01Mind · q 100%
AiVIS Cite Ledger
Evidence-backed AI visibility agent. Audits how AI answer engines (ChatGPT, Perplexity, Claude, Google AI) read, trust, and cite websites, t
AiVIS Cite Ledger · q 80%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/lawmadi-os-v60-938146962157.asia-northeast3.run.app.svg)](https://agenstry.com/agents/lawmadi-os-v60-938146962157.asia-northeast3.run.app)
[![Verified Business](https://agenstry.com/badge/lawmadi-os-v60-938146962157.asia-northeast3.run.app/identity.svg)](https://agenstry.com/agents/lawmadi-os-v60-938146962157.asia-northeast3.run.app)
[![Uptime](https://agenstry.com/badge/lawmadi-os-v60-938146962157.asia-northeast3.run.app/uptime.svg)](https://agenstry.com/agents/lawmadi-os-v60-938146962157.asia-northeast3.run.app)
[![A2A version](https://agenstry.com/badge/lawmadi-os-v60-938146962157.asia-northeast3.run.app/protocol.svg)](https://agenstry.com/agents/lawmadi-os-v60-938146962157.asia-northeast3.run.app)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "Lawmadi OS",
  "description": "\ubc95\ub9c8\ub514(Lawmadi) OS \u2014 LLM \uad50\uccb4 \uac00\ub2a5\ud55c \ud55c\uad6d \ubc95\ub960 AI \uc6b4\uc601\uccb4\uc81c(LLM-independent legal-AI OS). \ub2f5\ubcc0 \ud488\uc9c8\uc740 LLM\uc774 \uc544\ub2c8\ub77c \uac80\uc99d \uc790\uc0b0(SSOT)\u00b7\uadf8\ub77c\uc6b4\ub529\u00b7law.go.kr \uc2e4\uc2dc\uac04 fail-closed \uac80\uc99d\uc774 \ubcf4\uc7a5\ud558\uba70 LLM\uc740 \uad50\uccb4 \uac00\ub2a5\ud55c \ubd80\ud488\uc785\ub2c8\ub2e4(\uc778\uc6a9 \ud560\ub8e8\uc2dc\ub124\uc774\uc158 0). 60\uac1c \ub3c4\uba54\uc778 \uc804\ubb38 \ub9ac\ub354\uac00 \uac80\uc99d \uc790\uc0b0 48,510\uac74(\ud310\ub840 17,248\u00b7\uc870\ubb38 31,262)\uc744 \uadfc\uac70\ub85c \ub2f5\ud558\uace0 \ubcc0\ud638\uc0ac\uc2dc\ud5d8 \uae08\ub2f5\uc548 \ucf54\ud37c\uc2a4\ub97c \ud3ec\ud568\ud569\ub2c8\ub2e4. Korean & English. \ub85c\uadf8\uc778 \uc2dc \ubb34\ub8cc \ud06c\ub808\ub527 3\uac1c 1\ud68c \uc9c0\uae09(\uc7ac\ucda9\uc804 \uc5c6\uc74c).",
  "url": "https://lawmadi.com/mcp",
  "transport": "streamable-http",
  "version": "60.0.0",
  "auth": {
    "type": "bearer",
    "header": "Authorization",
    "description": "Queries need a key. lookup_precedent / lookup_statute answer without one at preview depth. Each user gets 3 free credits one time on login (non-recurring); after that, purchase credits. Authenticated calls are not unlimited \u2014 see rate_limits.",
    "required": false
  },
  "capabilities": {
    "tools": [
      {
        "name": "ask",
        "title": "Ask",
        "description": "Ask a Korean legal question. Routes to 1 of 60 specialist AI legal leaders and returns a statute-verified analysis (real-time law.go.kr check). Supports Korean and English.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "query": {
              "type": "string",
              "description": "Legal question in Korean or English (max 2000 chars)."
            },
            "lang": {
              "type": "string",
              "enum": [
                "ko",
                "en",
                ""
              ],
              "description": "Response language. Auto-detected if omitted."
            }
          },
          "required": [
            "query"
          ]
        }
      },
      {
        "name": "ask_expert",
        "title": "Ask Expert",
        "description": "Expert mode legal analysis \u2014 runs the full verification pipeline for a more detailed, deeply-cited answer. Slower than `ask`.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "query": {
              "type": "string",
              "description": "Legal question in Korean or English (max 2000 chars)."
            },
            "lang": {
              "type": "string",
              "enum": [
                "ko",
                "en",
                ""
              ],
              "description": "Response language. Auto-detected if omitted."
            }
          },
          "required": [
            "query"
          ]
        }
      },
      {
        "name": "search",
        "title": "Search",
        "description": "Search Korean statutes, precedents and legal terms via law.go.kr. Returns matching law topics.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "q": {
              "type": "string",
              "description": "Search query (min 2 chars). Example: '\uadfc\ub85c\uae30\uc900\ubc95'."
            },
            "limit": {
              "type": "integer",
              "description": "Max results (1-100, default 10)."
            }
          },
          "required": [
            "q"
          ]
        }
      },
      {
        "name": "get_leaders",
        "title": "Get Leaders",
        "description": "List all 60+ specialist legal leaders with their names and specialties.",
        "inputSchema": {
          "type": "object",
          "properties": {}
        }
      },
      {
        "name": "chat_leader",
        "title": "Chat Leader",
        "description": "Chat 1:1 with a specific legal leader. Provide the leader_id (e.g. 'L01', 'L32', 'CCO') from get_leaders.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "leader_id": {
              "type": "string",
              "description": "Leader identifier (e.g. 'L01'). See get_leaders."
            },
            "query": {
              "type": "string",
              "description": "Question to ask the leader (max 2000 chars)."
            }
          },
          "required": [
            "leader_id",
            "query"
          ]
        }
      },
      {
        "name": "suggest_questions",
        "title": "Suggest Questions",
        "description": "Generate relevant follow-up legal questions for a given query.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "query": {
              "type": "string",
              "description": "Current user question (max 500 chars)."
            }
          },
          "required": [
            "query"
          ]
        }
      },
      {
        "name": "lookup_precedent",
        "title": "Lookup Precedent",
        "description": "Look up a Korean court case by docket number in Lawmadi's verified-asset corpus (11,018 precedents, each confirmed against law.go.kr). Returns court, decision date, case name, holding (\ud310\uc2dc\uc0ac\ud56d), summary (\ud310\uacb0\uc694\uc9c0), referenced articles and a direct law.go.kr full-text link. Deterministic \u2014 no LLM, no hallucination. Accepts '2020\ub3c43050', '\ub300\ubc95\uc6d0 2020. 3. 26. \uc120\uace0 2020\ub3c43050 \ud310\uacb0', or '2016\ud5cc\ub9c890'.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "case_no": {
              "type": "string",
              "description": "Docket number or full citation. Example: '2020\ub3c43050'."
            }
          },
          "required": [
            "case_no"
          ]
        }
      },
      {
        "name": "lookup_statute",
        "title": "Lookup Statute",
        "description": "Look up a Korean statute article in Lawmadi's verified-asset corpus (30,995 articles). Returns the article title, body text and law.go.kr link. Deterministic \u2014 no LLM. Example input: '\ubbfc\ubc95 \uc81c750\uc870', '\ud615\ubc95 \uc81c307\uc870 \uc81c1\ud56d'.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "reference": {
              "type": "string",
              "description": "Statute reference. Example: '\ubbfc\ubc95 \uc81c750\uc870'."
            }
          },
          "required": [
            "reference"
          ]
        }
      },
      {
        "name": "verify_citations",
        "title": "Verify Citations",
        "description": "Fact-check the Korean legal citations inside any text \u2014 including text another LLM produced. Extracts every statute article and case docket, then checks each one against Lawmadi's verified-asset corpus. Returns per-citation status (verified_in_corpus / not_in_corpus) with source links. Costs 1 credit per call. Deterministic, no LLM. IMPORTANT: 'not_in_corpus' means the citation is NOT in this corpus \u2014 it is a flag to check manually at law.go.kr, not proof that the citation is fabricated.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "text": {
              "type": "string",
              "description": "Text containing Korean legal citations (max 20000 chars)."
            }
          },
          "required": [
            "text"
          ]
        }
      },
      {
        "name": "bar_exam_search",
        "title": "Bar Exam Search",
        "description": "Search the Korean bar exam (\ubcc0\ud638\uc0ac\uc2dc\ud5d8) corpus \u2014 all 15 rounds, 2,340 questions (2,250 MCQ + 45 case-type + 45 record-type) with gold-standard answers whose citations passed law.go.kr verification. Query by docket ('2014\ub3c46992'), statute article ('\ud615\ubc95 \uc81c310\uc870') or keyword. Returns round, subject, question number, official answer, stem, cited statutes/cases and a link.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "q": {
              "type": "string",
              "description": "Docket, statute article or keyword."
            },
            "round": {
              "type": "integer",
              "description": "Filter by exam round 1-15 (optional)."
            },
            "subject": {
              "type": "string",
              "description": "Filter by subject: \uacf5\ubc95 / \ubbfc\uc0ac\ubc95 / \ud615\uc0ac\ubc95 (optional)."
            },
            "limit": {
              "type": "integer",
              "description": "Max results (1-20, default 5)."
            }
          },
          "required": [
            "q"
          ]
        }
      },
      {
        "name": "get_exam_answer",
        "title": "Get Exam Answer",
        "description": "Fetch ONE bar-exam question with its full gold answer. MCQ (\uc120\ud0dd\ud615): pass round + subject + no \u2192 official stem, all five choices, the Ministry of Justice answer key, the reasoning, a note per choice, and the cited statutes/precedents. Essay (\uc0ac\ub840\ud615) and record-type (\uae30\ub85d\ud615): pass round + subject + format \u2192 document type, outline and the full answer text. Every citation passed law.go.kr verification before publishing. One item per call \u2014 this corpus is proprietary and not available for bulk export.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "round": {
              "type": "integer",
              "description": "Exam round 1-15 (\uc81cN\ud68c)."
            },
            "subject": {
              "type": "string",
              "description": "\uacf5\ubc95 \u00b7 \ubbfc\uc0ac\ubc95 \u00b7 \ud615\uc0ac\ubc95 (\uc120\ud0dd\uacfc\ubaa9\uba85\ub3c4 \uac00\ub2a5)."
            },
            "format": {
              "type": "string",
              "enum": [
                "\uc120\ud0dd\ud615",
                "\uc0ac\ub840\ud615",
                "\uae30\ub85d\ud615"
              ],
              "description": "Default \uc120\ud0dd\ud615 when `no` is given."
            },
            "no": {
              "type": "integer",
              "description": "Question number (\uc120\ud0dd\ud615 only)."
            }
          },
          "required": [
            "round",
            "subject"
          ]
        }
      },
      {
        "name": "get_daily_content",
        "title": "Get Daily Content",
        "description": "Fetch one published daily post in full-record form: \uc624\ub298\uc758 \ubc95\ub960\uc0c1\uc2dd(daily \u2014 includes the verified statute list and the FAQ), \uc804\ub7b5 \uce7c\ub7fc(strategy) / \uae30\uc220 \uce7c\ub7fc(tech) with their live-checked references, \ub9ac\uac78\ud14c\ud06c \ub274\uc2a4(news) with source domains, \uc218\ud5d8 \ud310\ub840 \uac15\uc758\ub178\ud2b8(bar), \uc624\ub298\uc758 \ud310\ub840(precedent \u2014 enriched with the verified case record). Pass a date, or omit it for the latest post in that stream.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "stream": {
              "type": "string",
              "enum": [
                "daily",
                "strategy",
                "tech",
                "news",
                "bar",
                "precedent"
              ],
              "description": "Content stream."
            },
            "date": {
              "type": "string",
              "description": "YYYY-MM-DD. Omit for the latest post."
            }
          },
          "required": [
            "stream"
          ]
        }
      },
      {
        "name": "list_document_types",
        "title": "List Document Types",
        "description": "List the legal document types Lawmadi can draft (\uace0\uc18c\uc7a5\u00b7\uc18c\uc7a5\u00b7\ub0b4\uc6a9\uc99d\uba85\u00b7\ub2f5\ubcc0\uc11c\u00b7\ud0c4\uc6d0\uc11c\u00b7\ud569\uc758\uc11c\u00b7\ubc95\ub960\uc758\uacac\uc11c etc.), with Korean and English labels.",
        "inputSchema": {
          "type": "object",
          "properties": {}
        }
      },
      {
        "name": "generate_document",
        "title": "Generate Document",
        "description": "Draft a Korean legal document (complaint, civil petition, content-certified mail, answer brief, settlement agreement, legal opinion, \u2026) from the user's facts. Every statute/precedent citation in the draft goes through the same fail-closed law.go.kr verification as `ask`. Use list_document_types first for valid doc_type keys.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "doc_type": {
              "type": "string",
              "description": "Document type key from list_document_types (e.g. 'complaint')."
            },
            "context": {
              "type": "string",
              "description": "The user's facts/situation the document must be built from."
            },
            "lang": {
              "type": "string",
              "enum": [
                "ko",
                "en",
                ""
              ],
              "description": "Default ko."
            },
            "extra_instructions": {
              "type": "string",
              "description": "Optional extra drafting instructions."
            }
          },
          "required": [
            "doc_type",
            "context"
          ]
        }
      },
      {
        "name": "search_legal_forms",
        "title": "Search Legal Forms",
        "description": "Search official Korean statutory forms and appendix tables (\ubcc4\ud45c\u00b7\uc11c\uc2dd) served by law.go.kr \u2014 e.g. the exact form to file an application under a given act.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "query": {
              "type": "string",
              "description": "Form or statute name to search."
            },
            "knd": {
              "type": "string",
              "enum": [
                "",
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "description": "Kind: 1 \ubcc4\ud45c \u00b7 2 \uc11c\uc2dd \u00b7 3 \ubcc4\uc9c0 \u00b7 4 \ubcc4\ub3c4 \u00b7 5 \ubd80\ub85d (blank = all)."
            },
            "limit": {
              "type": "integer",
              "description": "Max results (1-100, default 20)."
            }
          },
          "required": [
            "query"
          ]
        }
      },
      {
        "name": "find_village_lawyer",
        "title": "Find Village Lawyer",
        "description": "Find the Ministry of Justice '\ub9c8\uc744\ubcc0\ud638\uc0ac' (village lawyer) assigned to a Korean locality \u2014 a free legal-consultation contact point. Search by province, city or township name (e.g. '\uac15\uc6d0 \uac15\ub989', '\uc740\ud3c9\uad6c'). Public data, no LLM.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "region": {
              "type": "string",
              "description": "Region name. Example: '\uac15\ub989\uc2dc'."
            },
            "limit": {
              "type": "integer",
              "description": "Max results (1-50, default 10)."
            }
          },
          "required": [
            "region"
          ]
        }
      },
      {
        "name": "get_pricing",
        "title": "Get Pricing",
        "description": "How to get access and what it costs. Returns the sign-up flow, where to issue an API key, the free allowance, credit-pack prices (KRW/USD), what one credit buys, and direct checkout links. **Callable without authentication** \u2014 an AI agent arriving for the first time should call this to learn how to obtain access.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "lang": {
              "type": "string",
              "enum": [
                "ko",
                "en",
                ""
              ],
              "description": "Default en."
            }
          }
        }
      },
      {
        "name": "get_account",
        "title": "Get Account",
        "description": "Your account status for the API key in use \u2014 remaining credits, plan, and a top-up link. Call this before a long run of metered queries so you can purchase in advance instead of hitting an exhausted balance mid-task.",
        "inputSchema": {
          "type": "object",
          "properties": {}
        }
      },
      {
        "name": "latest_content",
        "title": "Latest Content",
        "description": "Get Lawmadi's latest daily legal content \u2014 \uc624\ub298\uc758 \ubc95\ub960\uc0c1\uc2dd(daily), \uc804\ub7b5 \uce7c\ub7fc(strategy), \uae30\uc220 \uce7c\ub7fc(tech), \ub9ac\uac78\ud14c\ud06c \ub274\uc2a4(news), \uc218\ud5d8 \ud310\ub840 \uac15\uc758\ub178\ud2b8(bar), \uc624\ub298\uc758 \ud310\ub840(precedent). Every post passed its publishing gate (statute/precedent citations verified against law.go.kr, sources live-checked).",
        "inputSchema": {
          "type": "object",
          "properties": {
            "stream": {
              "type": "string",
              "enum": [
                "",
                "daily",
                "strategy",
                "tech",
                "news",
                "bar",
                "precedent"
              ],
              "description": "Single stream, or blank for the latest of each."
            },
            "limit": {
              "type": "integer",
              "description": "Posts per stream (1-20, default 5)."
            }
          }
        }
      }
    ],
    "prompts": [
      {
        "name": "legal_question",
        "description": "Ask a Korean legal question \u2014 routed to the best specialist among 60 agents"
      },
      {
        "name": "expert_analysis",
        "description": "Deep 4-stage expert legal analysis with full statute verification"
      },
      {
        "name": "find_specialist",
        "description": "Find the right legal specialist for your situation"
      }
    ],
    "resources": [
      {
        "uri": "lawmadi://about",
        "name": "About Lawmadi OS",
        "description": "Overview of the Korean Legal AI service"
      },
      {
        "uri": "lawmadi://domains",
        "name": "Legal Domains",
        "description": "All 60 specialized legal domains covered"
      }
    ],
    "domains": [
      "Civil Law",
      "Real Estate",
      "Construction",
      "Medical Law",
      "Damages",
      "Traffic Accidents",
      "Lease & Housing",
      "Commercial Law",
      "Corporate & M&A",
      "Startup & Venture",
      "Tax & Finance",
      "Criminal Law",
      "Labor & Employment",
      "Family & Divorce",
      "Intellectual Property",
      "Immigration",
      "Environmental Law",
      "Consumer Protection",
      "Data & AI Ethics"
    ],
    "languages": [
      "ko",
      "en"
    ],
    "agents": 60
  },
  "rate_limits": {
    "anonymous": {
      "queries": 0,
      "preview_lookups_per_day": 20,
      "preview_tools": [
        "lookup_precedent",
        "lookup_statute"
      ],
      "note": "Queries need a key. lookup_precedent / lookup_statute answer without one at preview depth (metadata + law.go.kr link + first 200 chars); the full holding, summary and referenced articles need a key, which is free to issue."
    },
    "signup_bonus": {
      "credits": 3,
      "recurring": false,
      "note": "one-time on login, never resets"
    },
    "authenticated": {
      "no_credit_tools_per_day": 60,
      "uncharged_llm_tools_per_day": 20,
      "allowances": {
        "lookup": {
          "tools": [
            "lookup_precedent",
            "lookup_statute"
          ],
          "free_per_day": 30,
          "then": "1 credit per 10 calls",
          "daily_ceiling": 300
        },
        "exam": {
          "tools": [
            "get_exam_answer"
          ],
          "free_per_day": 3,
          "then": "1 credit each",
          "daily_ceiling": 100
        }
      },
      "resets": "00:00 KST",
      "note": "Caps are not raised by buying credits; allowances are \u2014 see get_pricing."
    },
    "pricing_url": {
      "ko": "https://lawmadi.com/pricing",
      "en": "https://lawmadi.com/pricing-en"
    }
  },
  "contact": {
    "email": "admin@lawmadi.com"
  },
  "links": {
    "website": "https://lawmadi.com",
    "terms": "https://lawmadi.com/terms",
    "privacy": "https://lawmadi.com/privacy",
    "openapi": "https://lawmadi.com/.well-known/openapi-public.json",
    "llms_txt": "https://lawmadi.com/llms.txt"
  }
}