kcsc-mcp / openapi_spec.json
nicefree19's picture
Upload 2 files
24f0846 verified
Raw
History Blame Contribute Delete
6.35 kB
{
"openapi": "3.0.0",
"info": {
"title": "KCSC Construction Standards RAG API",
"description": "ν•œκ΅­κ±΄μ„€κΈ°μ€€(KDS/KCS/LHCS/SMCS) μ΄ˆμ •λ°€ μ‘°ν•­ 및 증거(RAG) 검색 API",
"version": "0.2.0"
},
"servers": [
{
"url": "https://nicefree19-kcsc-mcp-.hf.space",
"description": "KCSC RAG ν΄λΌμš°λ“œ 싀무 운영 μ„œλ²„ (Hugging Face Spaces)"
}
],
"paths": {
"/search/clause": {
"post": {
"tags": [
"RAG Search"
],
"summary": "μ‘°ν•­ λ‹¨μœ„ RAG 검색",
"description": "μžμ—°μ–΄ 질의λ₯Ό λ°”νƒ•μœΌλ‘œ 15만 개 건섀기쀀 μ‘°ν•­ 쀑 졜적의 원문 κ·Όκ±°(Evidence)와 곡식 μ›Ή 링크λ₯Ό μ°Ύμ•„λƒ…λ‹ˆλ‹€.",
"operationId": "search_clause",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 500,
"description": "싀무 μžμ—°μ–΄ 질의 (예: κ³ μž₯λ ₯ 볼트 μ‘°μž„ μˆœμ„œ)"
},
"limit": {
"type": "integer",
"default": 5,
"minimum": 1,
"maximum": 10,
"description": "λ°˜ν™˜ν•  μ΅œλŒ€ μ‘°ν•­ 개수"
}
},
"required": [
"query"
]
}
}
},
"responses": {
"200": {
"description": "검색 성곡",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"query": {
"type": "string"
},
"count": {
"type": "integer"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"title": {
"type": "string"
},
"section": {
"type": "string"
},
"source_location": {
"type": "string"
},
"evidence_text": {
"type": "string"
},
"relevance": {
"type": "number"
},
"official_url": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}
}
},
"/assist/response-draft": {
"post": {
"tags": [
"RAG Assist"
],
"summary": "싀무 λŒ€μ‘ μ΄ˆμ•ˆ 및 κ³ μœ„ν—˜ 심측 κ²€ν† μ„œ μž‘μ„±",
"description": "μžμ—°μ–΄ μ§ˆμ˜μ™€ ν”„λ‘œμ νŠΈ 상황(Scenario)을 κ²°ν•©ν•˜μ—¬, μ±…μž„κΈ°μˆ μž μˆ˜μ€€μ˜ μ •λ°€ λŒ€μ‘ κ°€μ΄λ“œ 및 μœ„ν—˜ 진단 체크리슀트λ₯Ό μžλ™ μž‘μ„±ν•©λ‹ˆλ‹€.",
"operationId": "response_draft",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 500,
"description": "싀무 μžμ—°μ–΄ 질의"
},
"scenario": {
"type": "string",
"maxLength": 1200,
"description": "ν˜„μž₯의 νŒŒμ† μƒνƒœ, λΆ€μž¬ 정보 λ“± ꡬ체적인 상황적 μ„€λͺ…"
},
"limit": {
"type": "integer",
"default": 5,
"minimum": 1,
"maximum": 10
}
},
"required": [
"query"
]
}
}
},
"responses": {
"200": {
"description": "κ²€ν† μ„œ μž‘μ„± 성곡",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"query": {
"type": "string"
},
"draft": {
"type": {
"type": "object",
"properties": {
"confidence": {
"type": "string"
},
"review_required": {
"type": "boolean"
},
"recommended_actions": {
"type": "array",
"items": {
"type": "string"
}
},
"additional_checks": {
"type": "array",
"items": {
"type": "string"
}
},
"answer_markdown": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}