{
  "name": "Lawmadi OS",
  "description": "법마디(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회 지급(재충전 없음).",
  "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 — 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 — 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: '근로기준법'."
            },
            "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 (판시사항), summary (판결요지), referenced articles and a direct law.go.kr full-text link. Deterministic — no LLM, no hallucination. Accepts '2020도3050', '대법원 2020. 3. 26. 선고 2020도3050 판결', or '2016헌마90'.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "case_no": {
              "type": "string",
              "description": "Docket number or full citation. Example: '2020도3050'."
            }
          },
          "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 — no LLM. Example input: '민법 제750조', '형법 제307조 제1항'.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "reference": {
              "type": "string",
              "description": "Statute reference. Example: '민법 제750조'."
            }
          },
          "required": [
            "reference"
          ]
        }
      },
      {
        "name": "verify_citations",
        "title": "Verify Citations",
        "description": "Fact-check the Korean legal citations inside any text — 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 — 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 (변호사시험) corpus — 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도6992'), statute article ('형법 제310조') 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: 공법 / 민사법 / 형사법 (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 (선택형): pass round + subject + no → official stem, all five choices, the Ministry of Justice answer key, the reasoning, a note per choice, and the cited statutes/precedents. Essay (사례형) and record-type (기록형): pass round + subject + format → document type, outline and the full answer text. Every citation passed law.go.kr verification before publishing. One item per call — this corpus is proprietary and not available for bulk export.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "round": {
              "type": "integer",
              "description": "Exam round 1-15 (제N회)."
            },
            "subject": {
              "type": "string",
              "description": "공법 · 민사법 · 형사법 (선택과목명도 가능)."
            },
            "format": {
              "type": "string",
              "enum": [
                "선택형",
                "사례형",
                "기록형"
              ],
              "description": "Default 선택형 when `no` is given."
            },
            "no": {
              "type": "integer",
              "description": "Question number (선택형 only)."
            }
          },
          "required": [
            "round",
            "subject"
          ]
        }
      },
      {
        "name": "get_daily_content",
        "title": "Get Daily Content",
        "description": "Fetch one published daily post in full-record form: 오늘의 법률상식(daily — includes the verified statute list and the FAQ), 전략 칼럼(strategy) / 기술 칼럼(tech) with their live-checked references, 리걸테크 뉴스(news) with source domains, 수험 판례 강의노트(bar), 오늘의 판례(precedent — 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 (고소장·소장·내용증명·답변서·탄원서·합의서·법률의견서 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, …) 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 (별표·서식) served by law.go.kr — 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 별표 · 2 서식 · 3 별지 · 4 별도 · 5 부록 (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 '마을변호사' (village lawyer) assigned to a Korean locality — a free legal-consultation contact point. Search by province, city or township name (e.g. '강원 강릉', '은평구'). Public data, no LLM.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "region": {
              "type": "string",
              "description": "Region name. Example: '강릉시'."
            },
            "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** — 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 — 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 — 오늘의 법률상식(daily), 전략 칼럼(strategy), 기술 칼럼(tech), 리걸테크 뉴스(news), 수험 판례 강의노트(bar), 오늘의 판례(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 — 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 — 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"
  }
}
