법원경매 데이터 MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@법원경매 데이터 MCP서울중앙지방법원 2026년 11월 매각기일 토지 경매 물건 검색해줘"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
법원경매 데이터 MCP
법원경매 부동산을 조건으로 찾고, 상세를 확인하고, 수집한 자료를 Excel·CSV·JSONL로 저장합니다. SIONLAB 제작 · MIT · Python 3.11+ · v0.1.0
유료 AI·API 키·Supabase·개인 작업 환경 없이 CLI와 Python으로 실행할 수 있습니다. MCP를 연결하면 같은 기능을 AI 클라이언트에서 사용할 수 있습니다.
flowchart LR
A[조건 정하기] --> B[물건 가져오기] --> C[상세 확인] --> D[엑셀 저장]법원 사이트 내부 JSON 요청을 쓰는 비공식 연동입니다. 사이트 변경·점검·차단으로 멈출 수 있습니다. 공식 이용안내는 2026-10-26 확인 시 일반 오픈API를 추후 제공 예정으로 안내합니다. 실제 입찰 전 법원 원문을 다시 확인하세요.
설치
GitHub 릴리스의 ZIP과 SHA-256 파일을 받아 해시를 확인하고 압축을 풉니다. PyPI 배포는 하지 않습니다.
cd court-auction-mcp-0.1.0
python3 setup-lab.py
.venv/bin/python -m court_auction_mcp coverage
.venv/bin/court-auction-mcp codesWindows에서는 python setup-lab.py와 .venv\Scripts\python.exe -m court_auction_mcp coverage를 사용합니다. 설치는 제품 폴더의 .venv에 한정됩니다. Linux에 ensurepip가 없고 기존 uv가 있으면 이를 사용합니다. 둘 다 없으면 Python의 venv 지원 환경이 필요합니다. Windows 실실행은 검증하지 않았습니다.
기존 가상환경에는 python -m pip install -r requirements.lock 뒤 python -m pip install --no-build-isolation --no-deps .로 설치할 수 있습니다.
Related MCP server: onbid-mcp
먼저 가상 자료로 연습하기
.venv/bin/python examples/run_example.py외부 요청 없이 가상 토지·건물 2개를 수집하고 세 형식 파일을 만든 뒤 Excel·CSV 원문 복원을 비교합니다. 출력 경로는 마지막 JSON에 표시됩니다. 실제 경매 데이터는 배포본에 없습니다.
실제 물건 검색과 상세
examples/query.json의 법원 또는 지역과 시작·종료일을 원하는 범위로 바꿉니다. 기본 페이지 크기는 10이며 기간은 매각기일 기준입니다.
{
"court": "B000210",
"start": "2026-10-26",
"end": "2026-11-30",
"usage": "all",
"page_size": 10
}court-auction-mcp search --query examples/query.json
court-auction-mcp search --query examples/query.json --page 2
court-auction-mcp detail --court B000210 --case 2099타경123마지막 사건번호는 가상 예시입니다. 실조회에서는 검색 결과의 normalized.court_code와 normalized.case_no를 사용하세요. .venv/bin/ 경로를 생략하려면 가상환경을 활성화합니다. 모든 명령은 python -m court_auction_mcp로도 같습니다.
조건 | 입력 |
법원·지역 |
|
용도 |
|
매각기일 |
|
감정가 |
|
최저매각가 |
|
유찰 횟수 |
|
codes는 법원 60곳, 시도 17곳, 토지·건물 대분류를 제공합니다. 시군구·세부 용도 전체 목록의 동적 조회는 제공하지 않습니다.
용도 검색은 매각물건 기준이며, 함께 매각되는 토지와 건물 목적물이 모두 반환될 수 있습니다. 건물 검색에 연결된 토지가 나와도 삭제하지 않습니다. 개별 목적물의 property_kind와 매각물건의 usage를 구분하세요. 같은 사건의 토지·건물 행에 가격이 반복될 수 있으므로 목적물별 가격을 단순 합산하지 마세요.
수집·중단 후 재개·Excel 저장
court-auction-mcp collect --job-id seoul-oct --query examples/query.json --max-pages 3
court-auction-mcp status --job-id seoul-oct
court-auction-mcp collect --job-id seoul-oct --max-pages 3
court-auction-mcp export --job-id seoul-oct --name seoul-oct-export기본 작업 DB는 ~/.court-auction-mcp/jobs.sqlite3, 출력은 현재 폴더의 output/입니다. 전역 옵션 --db와 --export-root는 명령 앞에 둡니다. 예: court-auction-mcp --db ./jobs.sqlite3 --export-root ./exports status --job-id seoul-oct.
HTTP 요청은 같은 DB를 쓰는 실행들 사이에서 순차 처리하고 최소 3초 간격을 둡니다. 여러 DB·프로세스를 나눠 병렬 수집하지 마세요.
신규 작업의 기본 한도는 초기 연결·재시도 포함 누적 10회입니다. 재개해도 초기화되지 않습니다. 세션 쿠키는 저장하지 않아 재개할 때 초기 연결 1회가 다시 필요합니다.
필요하면
collect --job-id seoul-oct --max-calls 15 --max-pages 2처럼 누적 한도를 명시적으로 늘립니다. 같은 작업의 검색 조건은 바꿀 수 없습니다.기본
max-pages는 1입니다.status=partial,reason=page_limit는 요청한 페이지 수에서 멈춘 상태입니다.call_limit는 누적 호출 한도입니다. 남은 위치는next_page입니다.차단·CAPTCHA·
ipcheck=false·403/429는 즉시 멈추고 같은 DB에서 이후 요청도 막습니다. IP·브라우저·새 DB로 우회하지 마세요. 자동 차단 해제 기능은 없습니다.5xx·일시적 네트워크 오류만 최대 한 번 재시도합니다. 점검·형식 변경·식별자 불일치·반복 페이지는 별도 상태로 보존합니다.
complete는 관측한 페이지 끝에 도달했다는 뜻입니다. 실시간 원본의 누락 없는 스냅샷을 보장하지 않습니다. 전체 건수가 변하면source_changed와partial=true로 남깁니다.
출력에는 records.xlsx, records.csv, records.jsonl, manifest.json이 포함됩니다. 기존 출력 폴더는 덮어쓰지 않습니다. Excel의 Overview는 보기용, records·long_values는 복원용, Collection은 수집 범위·완료 여부입니다. 빈 금액은 0이 아니며 원문과 누락 이유를 함께 확인하세요. 긴 CSV를 Python으로 읽을 때는 기본 필드 길이 제한이 있으므로 아래 복원 함수를 사용합니다.
from court_auction_mcp.export import restore_excel, restore_csv
records = list(restore_excel("output/seoul-oct-export/records.xlsx"))
assert records == list(restore_csv("output/seoul-oct-export/records.csv"))CLI 종료 코드: 정상 0, 입력·단일 요청 오류 2, 수집 미완료·중단 3입니다. 오류 메시지에 사이트 원문·쿠키를 포함하지 않습니다.
Python과 MCP
from court_auction_mcp import AuctionService
api = AuctionService(db="jobs.sqlite3", export_root="exports")
print(api.call("coverage"))
# api.call("search", {"query": {...}})
# api.call("collect", {"job_id": "sample", "query": {...}, "max_pages": 2})api.call()은 CLI·MCP와 같은 오류 JSON을 반환합니다. api.search() 등 직접 메서드는 잘못된 입력에 AuctionError를 발생시킬 수 있습니다.
examples/mcp-config.json을 참고해 사용하는 MCP 클라이언트에 직접 연결합니다. command에는 가상환경의 실행 파일 절대 경로를 쓰면 됩니다. 이 패키지는 운영 MCP 설정을 변경하지 않습니다.
CLI | MCP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
serve는 MCP stdio 서버를 실행합니다. MCP 수집 결과는 요약이며 대량 자료는 auction_export로 제공합니다. MCP 응답은 1MiB로 제한됩니다. 검색 페이지를 줄이거나 파일 출력을 사용하세요.
검증과 범위
실제 검증 · 데이터 계약 · 기술 흐름 · 출처·이용 조건 · 기여하기
서울중앙지방법원·2026-10-26~2026-11-30 범위에서 검색 10건, 상세 1건, 두 페이지 20건 저장, 조건 검색 10건을 확인했습니다. 호출은 초기 연결 포함 총 9회였습니다. 이는 전국 법원·모든 상세 조합·전체 수집 완료를 검증한 결과가 아닙니다. 자세한 검증 상태는 coverage를 확인하세요.
사진·첨부문서 다운로드, 15B, 자동차·중기, 온비드, 권리분석·투자추천·입찰 자동화는 지원하지 않습니다. 누락값은 추정하지 않습니다. 관계인 이름·연락처와 인증값을 저장하지 않도록 필드를 제한하며, 코드 MIT 라이선스와 법원 원자료의 이용 조건은 별개입니다.
Available Tools
7 toolsauction_codesCRead-only
법원·시도·토지/건물 대분류 코드. 하위 코드 목록 지원 범위 확인.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, destructiveHint=false, so the safety profile is covered. The description adds no behavioral context beyond that — no indication of what the returned code list looks like, whether it is static or per-account, or how the codes relate to the search/collect siblings. With no output schema, this gap matters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short fragments, no padding — but the second fragment is vague enough that its brevity comes at the cost of meaning. Short and front-loaded, yet under-specified rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent can learn what this returns and how to use it. It says 'codes' exist for three dimensions but never explains the return shape, code granularity, or that the codes feed into auction_search filters — leaving a real gap for a discovery-style tool in a seven-tool family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. Nothing in the description misleads about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (court / province / land-building major classification codes) but the action is muddled: '하위 코드 목록 지원 범위 확인' reads as 'check the supported range of sub-code lists', which is not a clear verb. It does not distinguish itself from the similarly-named sibling auction_coverage, so an agent cannot confidently pick between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus auction_search, auction_coverage, or auction_detail. The closest thing to guidance is the mention of '하위 코드 목록 지원 범위', which is a hint at scope-checking but not an explicit usage condition or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auction_collectB
순차 수집·원자 체크포인트. 같은 job_id로 재개, 조건 변경 거부.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| job_id | Yes | ||
| max_calls | No | 초기 연결·재시도 포함 누적 한도. 신규 기본 10. | |
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and openWorldHint=true; the description adds substantive traits beyond that — progress is checkpointed atomically (safe to interrupt) and the query is frozen for a job_id, so changing conditions is refused. It omits failure/retry behavior and how max_calls interacts with the checkpoint, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two terse sentences with zero filler, and the core mechanism (sequential + atomic checkpoint) is front-loaded. For a tool with a deeply nested query schema it is arguably under-sized, which keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the nested 14-property query object, no output schema, and the existence of auction_job_status for polling, the description should explain what the call returns (a job handle?) and how it relates to the status sibling. Those gaps are significant for a complex, long-running collection tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25% across 4 params plus a 14-property nested query object. The description does add real meaning to job_id and query by explaining that the query must stay identical across resumes, but the nested filter fields and max_pages remain undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description indicates a sequential bulk collection operation with atomic checkpointing, and the tool name supplies the 'auction' resource. However, it never says what is being collected (auction listings) or how it differs from sibling auction_search / auction_export, so an agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a rule for resuming ('resume with the same job_id, condition changes rejected') but gives no guidance on when to pick this tool over auction_search or auction_export, nor any prerequisite such as needing a prior run or a quota.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auction_coverageCRead-only
지원 기능과 실제 검증 범위·한계 확인.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the important nuance that this reflects 'actual verification scope and limits' (i.e., measured rather than advertised coverage), but says nothing about how results are produced or refreshed. Some added value beyond annotations, but not rich context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the key idea (scope and limits) is front-loaded. It is arguably under-specified rather than over-long, which does not hurt this dimension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the full burden of explaining what an agent will receive, yet it gives no sense of the return content (list of capabilities? pass/fail per feature?). For a meta/coverage tool whose whole value is the shape of its report, this is a significant omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is an empty, closed object, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter guidance is needed or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase '지원 기능과 실제 검증 범위·한계 확인' does name what the tool reports (supported features plus actual verification scope and limits), which is more than a restatement of the name. However, it never identifies the subject domain (the auction API/service) or the form of the output, so an agent cannot fully distinguish it from auction_detail or auction_job_status. Purpose is inferable but vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and none of the five sibling tools (auction_search, auction_codes, auction_detail, etc.) are mentioned as alternatives. An agent must guess whether this is a pre-flight capability check or a post-run validation report.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auction_detailC
법원·사건 식별을 검증한 15A 상세. 권리분석이나 투자추천이 아님.
| Name | Required | Description | Default |
|---|---|---|---|
| case | Yes | ||
| court | Yes | ||
| max_calls | No | 초기 연결·재시도 포함 누적 한도. 신규 기본 10. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false with openWorldHint=true, meaning this is not a pure local read and may reach external systems, yet the description says nothing about network calls, retries, rate limits, or whether a job/collection step is involved. The phrase about 'verifying' court/case identity hints at a lookup but does not disclose what happens when verification fails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short fragments, front-loaded and free of padding, so it is certainly concise. However, the brevity is achieved by omitting necessary detail rather than by efficient expression, so it is terse without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, an openWorld non-read-only profile, and two undocumented required parameters, the description should carry much more weight than it does. It leaves the agent unable to predict return shape, failure behavior, or parameter formats.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%: max_calls is documented, but court and case are bare strings with no format hints (court code? name? case number pattern?) and the description does not compensate at all despite those being the two required parameters. This is a critical gap because the tool's own stated purpose is verifying court/case identity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a 'detail' (상세) tool for auctions scoped to court/case, which gives some resource specificity. But '15A 상세' is unexplained internal shorthand and it never distinguishes itself from siblings like auction_search or auction_collect, so an agent cannot tell why to pick this one from the name text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage-adjacent statement is a disclaimer that this is not rights analysis or investment advice, which is scope exclusion rather than a when-to-use rule. There is no guidance on preconditions (that court and case must already be identified) or when to prefer auction_search/auction_collect instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auction_exportC
새 로컬 폴더에 JSONL/CSV/Excel. 기존 출력은 덮어쓰지 않음.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| job_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations declaring readOnlyHint=false but destructiveHint=false, the description corroborates this by stating output goes to a NEW local folder and existing output is not overwritten — resolving the apparent tension between writing and non-destructiveness. It could still mention prerequisite job state or permissions, but the key behavioral trait is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short and front-loads the formats and destination, but it reads as a sentence fragment and omits essential framing (that this is an export of a job's results). Brevity here costs clarity rather than earning it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a required identifier, multiple output formats, and no output schema, the description is missing the job_id relationship, the naming semantics of 'name', and any indication of what the return value contains. Only the overwrite policy is covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so job_id (the only required parameter) and name have no documented meaning anywhere. The description does not clarify what job_id refers to or what the optional name does (presumably output file/folder naming), leaving both parameters to guesswork.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys the action indirectly: export output (JSONL/CSV/Excel) into a new local folder, with existing output preserved. The verb is only implied by the tool name rather than stated, and there is no explicit differentiation from siblings such as auction_collect or auction_job_status, which likely also produce output tied to a job.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this over auction_collect or how it relates to auction_job_status (e.g., must a collect job finish first?). The only usage-adjacent statement is the no-overwrite rule, which is a behavior rather than a selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auction_job_statusCRead-only
저장 건수·누적 요청·체크포인트·실패 요약.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so safety is covered. The description adds almost no behavioral context: it does not say whether the job may still be running, whether failures are truncated, or whether checkpoint data is stable across polls — the kind of context that actually matters for a status endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single terse fragment with no wasted words, but that brevity comes at the cost of a missing verb and subject. Short is good here, yet the content is a return-value teaser rather than a structured statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a required identifier, no output schema, and no documented parameters, the description should explain how job_id is obtained and what a status response means for the caller. Instead it provides only a comma-separated list of fields, leaving the agent under-informed for even this simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% — the single required job_id has no description and carries only a regex pattern. The description never mentions job_id, its provenance (presumably returned by auction_collect), or what form it takes, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun fragment ('저장 건수·누적 요청·체크포인트·실패 요약') that lists the contents of a status report but never states the action or the resource — no verb like 'retrieves job status'. It hints at what the status contains, yet an agent must infer from the tool name that this reports on a collection job, and nothing ties it to the auction_collect sibling that presumably creates the job.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus auction_collect or auction_export, no mention of polling a running job, and no statement of prerequisites beyond the implicit job_id. The agent is left to infer the entire usage pattern from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auction_searchC
명시한 법원/지역·매각기일 범위에서 한 페이지 조회.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| query | Yes | ||
| max_calls | No | 초기 연결·재시도 포함 누적 한도. 신규 기본 10. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare openWorldHint=true and destructiveHint=false, but the description adds nothing about the remote court-data lookup, rate limiting, or the retry/connection budget governed by max_calls. Note the tension between the description's read-flavored '조회' and readOnlyHint=false; it is not an outright contradiction (the flag likely reflects network behavior), but the description gives no help in resolving it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the essential scope front-loaded and no filler. Its brevity is appropriate in style but is under-specification rather than economy given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested-object search with pagination, price/failure range filters, and a cumulative call budget, with no output schema and thin schema descriptions, the description leaves too much unaddressed. An agent cannot tell what a page contains, how results are ordered, or how paging terminates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% on a nested query object with roughly fourteen properties, so the description needs to compensate and largely does not. It mentions court/region and the sale-date range (start/end) but says nothing about page, page_size, usage/usage_mid/usage_small, or the appraisal/minimum/failures min-max range pairs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (조회) plus resource and scope: one page of auction listings filtered by court/region and sale-date range. The phrase '한 페이지 조회' implicitly separates it from siblings like auction_export and auction_collect (bulk operations) and auction_detail (single record), though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus auction_export, auction_collect, or auction_detail, and no prerequisites or exclusions. The only usage signal, that it returns a single page, must be inferred from the word '한 페이지'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v0.1.0- First observed
auction_codes - First observed
auction_collect - First observed
auction_coverage - First observed
auction_detail - First observed
auction_export - First observed
auction_job_status - First observed
auction_search
TDQS
Scored across 7 tools
Most tools have clearly distinct roles: code lookup, single-page search, case detail, bulk collection, job status, export, and scope metadata. The only mild overlap is between auction_codes and auction_coverage, since both mention supported ranges/scope, but their descriptions still point to different tasks.
All tools use a consistent auction_ prefix followed by a snake_case noun or noun phrase. The naming pattern is predictable throughout, with no mixed casing or inconsistent verb styles.
Seven tools is well-scoped for a court auction data server covering lookup, search, detail, collection, status, export, and coverage. Each tool has a distinct practical role without obvious bloat.
The surface covers the main lifecycle: discover codes, search listings, fetch case detail, bulk collect, check job status, export results, and inspect coverage. Minor gaps may exist around listing all jobs or cancelling a running collection, but core workflows are covered.
Maintenance
Related MCP Connectors
Korean real estate: court auctions, 10M+ MOLIT records, subscription notice facts, loan/DSR rules
Korean statutes, precedents, local business-district stats and public procurement for AI agents.
All KR Data tools in one server: Korean business checks, addresses, laws, car flood records & more
Korean business, bid and real-estate analytics, parcel, building register and simple-auth data
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables searching Korean court auction cases and personal case information via case numbers using headless browser automation of government websites.5MIT
- FlicenseNot gradedqualityBmaintenanceEnables LLM clients to ask plain-language questions about Korean public auction property data from the 온비드 OpenAPI, including normalized pricing, location, and failed-sale history.2-
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to query Korean apartment real-estate data, including official transaction prices, jeonse ratios, and AI price forecasts for 45,000+ complexes.1MIT
- AlicenseNot gradedqualityAmaintenanceEnables read-only search and retrieval of KAMCO Onbid public auction property data, including listings, details, and bidding results, using user-provided API keys.MIT