lawmadi-os
What this MCP does
Provides verified Korean statute and precedent lookup, legal citation checking, legal question answering, document drafting, lawyer discovery, legal content, and bar-exam materials.
Tools
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'lang': {'enum': ['ko', 'en', ''], 'type': 'string', 'description': 'Response language. Auto-detected if omitted.'}, 'query': {'type': 'string', 'description': 'Legal question in Korean or English (max 2000 chars).'}, 'client_tag': {'type': 'string', 'description': '선택. client_tag: 호출자 식별용, **응답에 영향 없음**(8~64자, 영숫자·_-.). 서버 로그에만 남아 호출을 골라 세는 데 씁니다. 형식이 어긋나면 무시합니다 — 거절하지 않습니다. 질의 본문에 섞지 마세요: 본문에 넣으면 질문의 일부가 되어 분류와 검증 결과가 달라집니다. / Optional caller label (8-64 chars). Logged only; never affects the response. Invalid values are ignored, not rejected. Do not put it in the query text — there it becomes part of the question.'}, 'idempotency_key': {'type': 'string', 'description': '선택. 재시도 안전 키(8~64자, 영숫자·_-.). 같은 키로 다시 부르면 **두 번 과금되지 않고** 보관된 답변을 그대로 돌려줍니다(24시간). 타임아웃·연결 끊김으로 응답을 못 받았을 때 같은 키로 재시도하세요. / Optional retry-safe key (8-64 chars). Retrying with the same key is never charged twice and replays the stored answer for 24h.'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'lang': {'enum': ['ko', 'en', ''], 'type': 'string', 'description': 'Response language. Auto-detected if omitted.'}, 'query': {'type': 'string', 'description': 'Legal question in Korean or English (max 2000 chars).'}, 'client_tag': {'type': 'string', 'description': '선택. client_tag: 호출자 식별용, **응답에 영향 없음**(8~64자, 영숫자·_-.). 서버 로그에만 남아 호출을 골라 세는 데 씁니다. 형식이 어긋나면 무시합니다 — 거절하지 않습니다. 질의 본문에 섞지 마세요: 본문에 넣으면 질문의 일부가 되어 분류와 검증 결과가 달라집니다. / Optional caller label (8-64 chars). Logged only; never affects the response. Invalid values are ignored, not rejected. Do not put it in the query text — there it becomes part of the question.'}, 'idempotency_key': {'type': 'string', 'description': '선택. 재시도 안전 키(8~64자, 영숫자·_-.). 같은 키로 다시 부르면 **두 번 과금되지 않고** 보관된 답변을 그대로 돌려줍니다(24시간). 전문가 답변은 2크레딧이라 타임아웃 시 이 키가 특히 중요합니다. / Optional retry-safe key (8-64 chars). Retrying with the same key is never charged twice and replays the stored answer for 24h.'}}}
Input schema
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Docket, statute article or keyword.'}, 'limit': {'type': 'integer', 'description': 'Max results (1-20, default 5).'}, 'round': {'type': 'integer', 'description': 'Filter by exam round 1-15 (optional).'}, 'subject': {'type': 'string', 'description': 'Filter by subject: 공법 / 민사법 / 형사법 (optional).'}, 'client_tag': {'type': 'string', 'description': '선택. client_tag: 호출자 식별용, **응답에 영향 없음**(8~64자, 영숫자·_-.). 서버 로그에만 남아 호출을 골라 세는 데 씁니다. 형식이 어긋나면 무시합니다 — 거절하지 않습니다. 질의 본문에 섞지 마세요: 본문에 넣으면 질문의 일부가 되어 분류와 검증 결과가 달라집니다. / Optional caller label (8-64 chars). Logged only; never affects the response. Invalid values are ignored, not rejected. Do not put it in the query text — there it becomes part of the question.'}}}
Input schema
{'type': 'object', 'required': ['leader_id', 'query'], 'properties': {'query': {'type': 'string', 'description': 'Question to ask the leader (max 2000 chars).'}, 'confirm': {'type': 'boolean', 'description': 'Deprecated (2026-09-27): leader chat now costs 1 credit per call with no separate free allowance, so no confirmation step is needed. Accepted and ignored for backward compatibility.'}, 'history': {'type': 'array', 'items': {'type': 'object', 'required': ['role', 'content'], 'properties': {'role': {'enum': ['user', 'assistant'], 'type': 'string'}, 'content': {'type': 'string'}}}, 'description': "이전 대화. 이것을 안 보내면 서버는 매 호출을 **첫 대화**로 보고 같은 것을 또 되묻습니다 — 리더가 물어본 뒤 답을 줄 때는 그 두 턴을 반드시 함께 넘기세요. 최근 20턴까지 반영됩니다. / Prior turns. Without this the server treats every call as a fresh conversation and asks the same questions again — when you answer a leader's follow-up, send those turns here. Up to 20 recent turns are used."}, 'leader_id': {'type': 'string', 'description': "Leader identifier (e.g. 'L01'). See get_leaders."}, 'client_tag': {'type': 'string', 'description': '선택. client_tag: 호출자 식별용, **응답에 영향 없음**(8~64자, 영숫자·_-.). 서버 로그에만 남아 호출을 골라 세는 데 씁니다. 형식이 어긋나면 무시합니다 — 거절하지 않습니다. 질의 본문에 섞지 마세요: 본문에 넣으면 질문의 일부가 되어 분류와 검증 결과가 달라집니다. / Optional caller label (8-64 chars). Logged only; never affects the response. Invalid values are ignored, not rejected. Do not put it in the query text — there it becomes part of the question.'}}}
Input schema
{'type': 'object', 'required': ['region'], 'properties': {'limit': {'type': 'integer', 'description': 'Max results (1-50, default 10).'}, 'region': {'type': 'string', 'description': "Region name. Example: '강릉시'."}}}
Input schema
{'type': 'object', 'required': ['doc_type', 'context'], 'properties': {'lang': {'enum': ['ko', 'en', ''], 'type': 'string', 'description': "Default ko. 'en' returns the Korean original (the version to file with Korean courts/police) followed by an English translation for reference."}, 'context': {'type': 'string', 'description': "The user's facts/situation the document must be built from."}, 'doc_type': {'type': 'string', 'description': "Document type key from list_document_types (e.g. 'complaint')."}, 'client_tag': {'type': 'string', 'description': '선택. client_tag: 호출자 식별용, **응답에 영향 없음**(8~64자, 영숫자·_-.). 서버 로그에만 남아 호출을 골라 세는 데 씁니다. 형식이 어긋나면 무시합니다 — 거절하지 않습니다. 질의 본문에 섞지 마세요: 본문에 넣으면 질문의 일부가 되어 분류와 검증 결과가 달라집니다. / Optional caller label (8-64 chars). Logged only; never affects the response. Invalid values are ignored, not rejected. Do not put it in the query text — there it becomes part of the question.'}, 'extra_instructions': {'type': 'string', 'description': 'Optional extra drafting instructions.'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': ['stream'], 'properties': {'date': {'type': 'string', 'description': 'YYYY-MM-DD. Omit for the latest post.'}, 'stream': {'enum': ['daily', 'strategy', 'tech', 'news', 'bar', 'precedent'], 'type': 'string', 'description': 'Content stream.'}}}
Input schema
{'type': 'object', 'required': ['round', 'subject'], 'properties': {'no': {'type': 'integer', 'description': 'Question number (선택형 only).'}, 'round': {'type': 'integer', 'description': 'Exam round 1-15 (제N회).'}, 'format': {'enum': ['선택형', '사례형', '기록형'], 'type': 'string', 'description': 'Default 선택형 when `no` is given.'}, 'subject': {'type': 'string', 'description': '공법 · 민사법 · 형사법 (선택과목명도 가능).'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'properties': {'lang': {'enum': ['ko', 'en', ''], 'type': 'string', 'description': 'Default en.'}}}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Posts per stream (1-20, default 5).'}, 'stream': {'enum': ['', 'daily', 'strategy', 'tech', 'news', 'bar', 'precedent'], 'type': 'string', 'description': 'Single stream, or blank for the latest of each.'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': ['case_no'], 'properties': {'case_no': {'type': 'string', 'description': "Docket number or full citation. Example: '2020도3050'."}, 'client_tag': {'type': 'string', 'description': '선택. client_tag: 호출자 식별용, **응답에 영향 없음**(8~64자, 영숫자·_-.). 서버 로그에만 남아 호출을 골라 세는 데 씁니다. 형식이 어긋나면 무시합니다 — 거절하지 않습니다. 질의 본문에 섞지 마세요: 본문에 넣으면 질문의 일부가 되어 분류와 검증 결과가 달라집니다. / Optional caller label (8-64 chars). Logged only; never affects the response. Invalid values are ignored, not rejected. Do not put it in the query text — there it becomes part of the question.'}}}
Input schema
{'type': 'object', 'required': ['reference'], 'properties': {'reference': {'type': 'string', 'description': "Statute reference. Example: '민법 제750조'."}, 'client_tag': {'type': 'string', 'description': '선택. client_tag: 호출자 식별용, **응답에 영향 없음**(8~64자, 영숫자·_-.). 서버 로그에만 남아 호출을 골라 세는 데 씁니다. 형식이 어긋나면 무시합니다 — 거절하지 않습니다. 질의 본문에 섞지 마세요: 본문에 넣으면 질문의 일부가 되어 분류와 검증 결과가 달라집니다. / Optional caller label (8-64 chars). Logged only; never affects the response. Invalid values are ignored, not rejected. Do not put it in the query text — there it becomes part of the question.'}}}
Input schema
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': "Search query (min 2 chars). Example: '근로기준법'."}, 'limit': {'type': 'integer', 'description': 'Max results (1-100, default 10).'}, 'client_tag': {'type': 'string', 'description': '선택. client_tag: 호출자 식별용, **응답에 영향 없음**(8~64자, 영숫자·_-.). 서버 로그에만 남아 호출을 골라 세는 데 씁니다. 형식이 어긋나면 무시합니다 — 거절하지 않습니다. 질의 본문에 섞지 마세요: 본문에 넣으면 질문의 일부가 되어 분류와 검증 결과가 달라집니다. / Optional caller label (8-64 chars). Logged only; never affects the response. Invalid values are ignored, not rejected. Do not put it in the query text — there it becomes part of the question.'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'knd': {'enum': ['', '1', '2', '3', '4', '5'], 'type': 'string', 'description': 'Kind of appendix, **not** a search scope: 1 별표 · 2 서식 · 3 별지 · 4 별도 · 5 부록 (blank = all). 검색범위는 서버가 정합니다.'}, 'limit': {'type': 'integer', 'description': 'Max results (1-100, default 20).'}, 'query': {'type': 'string', 'description': 'Form name or statute name. 법령명으로 찾을 때는 **시행규칙·규칙**이 적중률이 높습니다(서식은 대개 거기 있습니다). 서버가 별표서식명 → 해당법령 순으로 두 범위를 모두 시도합니다. / Form or statute name; enforcement rules (시행규칙) usually hold the forms.'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Current user question (max 500 chars).'}}}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Text containing Korean legal citations (max 20000 chars).'}, 'client_tag': {'type': 'string', 'description': '선택. client_tag: 호출자 식별용, **응답에 영향 없음**(8~64자, 영숫자·_-.). 서버 로그에만 남아 호출을 골라 세는 데 씁니다. 형식이 어긋나면 무시합니다 — 거절하지 않습니다. 질의 본문에 섞지 마세요: 본문에 넣으면 질문의 일부가 되어 분류와 검증 결과가 달라집니다. / Optional caller label (8-64 chars). Logged only; never affects the response. Invalid values are ignored, not rejected. Do not put it in the query text — there it becomes part of the question.'}}}
Recent tool changes
Similar MCP servers
compliance-intelligence
Maps controls and evidence across compliance frameworks, provides control and crosswalk research, and supports compliance-documen…
HiveLearn
Creates and manages courses, lessons, quizzes, enrollments, learning tracks, events, certificates, resources, progress, and commu…
concordance
Provides deterministic claim verification and audit receipts, along with Bible references, commentary, geography, indexed knowled…
BNM Data Shop
Sells access to cached official reports, enforcement orders, regulatory documents, inspection records, and other public-source te…
OpenHelvetia Gateway
Provides sourced access to Swiss federal legislation and political data, including law metadata, versions, amendments, citations,…
The Ainglish Project
Maintains a measured, auditable register of language constructs, proposals, evidence, adoption, contributors, protocols, and rati…
Torah Library
Provides searchable Jewish texts, commentaries, source sheets, dictionaries, manuscripts, calendars, learning schedules, parasha …
Wordnik
Provides English dictionary functions including definitions, examples, pronunciations, hyphenation, phrases, frequencies, related…