list_taxlaw_site_menus
List menu paths and action.do calls from the Korean tax law information system to enable targeted data access and automated navigation.
Instructions
국세법령정보시스템 주요 메뉴별 접근 경로와 확인된 action.do 호출 정보를 나열합니다. 고수준 도구가 없는 메뉴는 call_taxlaw_action 또는 get_taxlaw_page_text로 접근합니다.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | 메뉴명/섹션/키/액션ID 필터. 예: 훈령서식, ASIPDM, 세목별 |
Implementation Reference
- src/index.ts:1424-1469 (handler)The actual handler function for the 'list_taxlaw_site_menus' tool. It filters the SITE_MENU_ACTIONS array based on a query string and formats the output listing all site menu entries with their paths, actionIds, and high-level tool references.
function listTaxlawSiteMenus(args: SiteMenuArgs): ToolResponse { const query = cleanText(args.query).toLowerCase() const menus = SITE_MENU_ACTIONS.filter((menu) => { if (!query) return true return [ menu.key, menu.section, menu.label, menu.path, menu.actionId, menu.highLevelTool, menu.note, ].filter(Boolean).join(" ").toLowerCase().includes(query) }) if (menus.length === 0) { return notFoundResponse(`국세법령정보시스템 메뉴 목록에서 '${args.query || "(전체)"}' 결과가 없습니다.`) } const lines = [ "국세법령정보시스템 주요 메뉴 접근 목록", `출처: ${TAXLAW_BASE}/index.do 및 각 메뉴의 action.do 요청 관찰`, `표시: ${menus.length.toLocaleString()}개`, "", ] for (const menu of menus) { lines.push(`[${menu.key}] ${menu.section} > ${menu.label}`) lines.push(` URL: ${TAXLAW_BASE}${menu.path}`) if (menu.highLevelTool) lines.push(` 고수준 도구: ${menu.highLevelTool}`) if (menu.actionId) { lines.push(` actionId: ${menu.actionId}`) lines.push(` defaultParamData: ${JSON.stringify(menu.defaultParamData ?? {})}`) lines.push(" 원시조회: call_taxlaw_action에 actionId/defaultParamData/refererPath 사용") } if (menu.note) lines.push(` 메모: ${menu.note}`) lines.push("") } lines.push( "참고:", " - highLevelTool이 명시된 메뉴는 해당 고수준 도구를 우선 사용하세요(검색 결과·환상 가드 일관성).", " - actionId만 명시된 메뉴는 call_taxlaw_action(actionId=…, paramData=defaultParamData, refererPath=URL)로 호출하세요.", " - note만 있는 정적 페이지는 get_taxlaw_page_text(path=...)를 사용하세요.", " - 응답 본문에 표시되지 않은 사실은 추론·생성하지 마세요.", ) return textResponse(truncate(lines.join("\n"), 50000)) } - src/index.ts:507-518 (schema)The 'list_taxlaw_site_menus' tool definition including its name, description, and inputSchema (with an optional 'query' string parameter).
{ name: "list_taxlaw_site_menus", description: "국세법령정보시스템 주요 메뉴별 접근 경로와 확인된 action.do 호출 정보를 나열합니다. 고수준 도구가 없는 메뉴는 call_taxlaw_action 또는 get_taxlaw_page_text로 접근합니다.", inputSchema: { type: "object", properties: { query: { type: "string", description: "메뉴명/섹션/키/액션ID 필터. 예: 훈령서식, ASIPDM, 세목별" }, }, required: [], additionalProperties: false, }, }, - src/index.ts:507-518 (registration)The tool is registered as part of the 'tools' array (line 430-648), which is then served via ListToolsRequestSchema on line 1936.
{ name: "list_taxlaw_site_menus", description: "국세법령정보시스템 주요 메뉴별 접근 경로와 확인된 action.do 호출 정보를 나열합니다. 고수준 도구가 없는 메뉴는 call_taxlaw_action 또는 get_taxlaw_page_text로 접근합니다.", inputSchema: { type: "object", properties: { query: { type: "string", description: "메뉴명/섹션/키/액션ID 필터. 예: 훈령서식, ASIPDM, 세목별" }, }, required: [], additionalProperties: false, }, }, - src/index.ts:376-386 (helper)The SiteMenuAction interface defining the structure of each menu entry.
interface SiteMenuAction { key: string section: string label: string path: string actionId?: string defaultParamData?: unknown highLevelTool?: string note?: string } - src/index.ts:387-428 (helper)The SITE_MENU_ACTIONS constant array containing all the site menu data that listTaxlawSiteMenus filters and displays.
const SITE_MENU_ACTIONS: SiteMenuAction[] = [ { key: "tax_statutes", section: "법령", label: "조세법령", path: "/st/USESTA001M.do", actionId: "ASISTA001MR01", defaultParamData: {} }, { key: "general_statutes", section: "법령", label: "일반법령", path: "/st/USESTB001M.do", actionId: "ASISTB001MR01", defaultParamData: { searchKeyword: "", recordCountPerPage: "10" } }, { key: "tax_treaties", section: "법령", label: "조세조약", path: "/st/USESTC001M.do", actionId: "ASISTC001MR01", defaultParamData: { txaAgrmClCd: "01" } }, { key: "amended_law_notice", section: "법령", label: "개정법령 안내", path: "/zz/USEZZB001M.do", actionId: "ASEZZB001MR01", defaultParamData: { searchKeyword: "", recordCountPerPage: "10" } }, { key: "notices", section: "법령", label: "고시", path: "/st/USESTF001M.do", actionId: "ASISTF001MR01", defaultParamData: { ntarClCd: "01", searchKeyword: "", ntstSjtClCd: "All", recordCountPerPage: "10" } }, { key: "directives", section: "법령", label: "훈령", path: "/st/USESTG001M.do", actionId: "ASISTF001MR01", defaultParamData: { ntarClCd: "03", searchKeyword: "", ntstSjtClCd: "All", recordCountPerPage: "10" } }, { key: "basic_rulings", section: "법령", label: "국세 기본통칙", path: "/st/USESTD001M.do", actionId: "ASISTD001MR01", defaultParamData: {}, highLevelTool: "list_taxlaw_basic_ruling_laws/get_taxlaw_basic_ruling_text" }, { key: "execution_standards", section: "법령", label: "세법집행기준", path: "/st/USESTE002M.do", note: "페이지 HTML에 법령 목록이 포함됩니다. get_taxlaw_page_text로 조회하세요." }, { key: "latest_revised_statutes", section: "법령", label: "최신개정법령", path: "/st/USESTI001M.do", actionId: "ASISTI001MR01", defaultParamData: { searchltstRvsnNm: "", recordCountPerPage: "10" } }, { key: "latest_directives_notices", section: "법령", label: "최신 훈령·고시", path: "/st/USESTI002M.do", actionId: "ASISTI002MR01", defaultParamData: { searchKeyword: "", recordCountPerPage: "10" } }, { key: "amended_tax_explanations", section: "법령", label: "조문별 개정세법해설", path: "/st/USESTH001M.do", actionId: "ASISTH001MR01", defaultParamData: { ntstSysClCd: "01" } }, { key: "interpretations_all", section: "세법해석례", label: "전체 해석례", path: "/qt/USEQTJ001M.do", highLevelTool: "search_taxlaw_documents" }, { key: "advance_answers", section: "세법해석례", label: "사전답변", path: "/qt/USEQTA001M.do?ntstDcmClCd=01", highLevelTool: "search_taxlaw_documents(docType=advance)" }, { key: "replies", section: "세법해석례", label: "질의회신", path: "/qt/USEQTA001M.do?ntstDcmClCd=02", highLevelTool: "search_taxlaw_documents(docType=reply)" }, { key: "tax_standard_advice", section: "세법해석례", label: "과세기준자문", path: "/qt/USEQTA001M.do?ntstDcmClCd=03", highLevelTool: "search_taxlaw_documents(docType=tax_standard)" }, { key: "written_questions", section: "세법해석례", label: "고시서면질의", path: "/qt/USEQTA001M.do?ntstDcmClCd=04", highLevelTool: "search_taxlaw_documents(docType=written)" }, { key: "moleg_interpretations", section: "세법해석례", label: "법제처 해석례", path: "/qt/USEQTM001M.do", actionId: "ASIBGE004MR03", defaultParamData: { searchKeyword: "", bltnStrtDt: "", bltnEndDt: "", pageIndex: "1", searchCondition: "title", recordCountPerPage: "10", ntstDcmClCdList: ["41"] } }, { key: "interpretation_cleanup", section: "세법해석례", label: "세법해석정비", path: "/qt/USEQTE001M.do", actionId: "ASIQTF001MR01", defaultParamData: { ntstTlawClCd: "", ntstItrpMntcNdYn: "", ntstItrpMntcRsnClCd: "", ntstItrpMntcCntn: "", ntstItrpMntcClCd: "01", bltnStrtDt: "", bltnEndDt: "", cntsPrtsNo: "", stttInfpClCdList: ["01", "06"], recordCountPerPage: "10" } }, { key: "frequent_issue_cases", section: "세법해석례", label: "자주찾는쟁점별사례", path: "/qt/USEQTH001M.do", actionId: "ASIQTH001MR01", defaultParamData: { ntstDcmClCd: "", ntstTlawClCd: "", ntstDcmPntClCd: "", schNtstDcmTtl: "", schNtstDcmGistCntn: "", schNtstDcmDscmCntn: "", recordCountPerPage: "10" } }, { key: "major_interpretations", section: "세법해석례", label: "주요 해석사례", path: "/qt/USEQTI001M.do", actionId: "ASIPRC022MR22", defaultParamData: { searchType: "_selectAll_", searchKeyword: "", ntstDcmClCdList: ["01", "02", "03"], ntstTlawClCdList: [], recordCountPerPage: "10", ntstCtgrClCd: "ZZ" } }, { key: "decisions_all", section: "판례·결정례", label: "전체 판례·결정례", path: "/pd/USEPDI001M.do", highLevelTool: "search_taxlaw_documents(docType=disputes)" }, { key: "audit_review", section: "판례·결정례", label: "감사원 심사청구", path: "/pd/USEPDM001M.do", actionId: "ASIPDM001MR01", defaultParamData: { ntstDcmDscmCntn: "", ntstDcmTtl: "", bltnStrtDt: "", bltnEndDt: "", lnkClCd: "02", recordCountPerPage: "10" } }, { key: "major_supreme_court", section: "판례·결정례", label: "주요대법원판결", path: "/pd/USEPDG001M.do", actionId: "ASIPDG001MR01", defaultParamData: { searchYearList: null, searchMonthList: null, searchTlawClCdList: "", searchDocNum: "", searchKeyword: "", ntstDcmClCd: "20", ntstDcmClCdList: ["09"], recordCountPerPage: "10" } }, { key: "major_decisions", section: "판례·결정례", label: "주요 판례결정례", path: "/qt/USEQTR001M.do", actionId: "ASIPRC022MR22", defaultParamData: { searchType: "_selectAll_", searchKeyword: "", ntstDcmClCdList: ["07", "08", "09"], ntstTlawClCdList: [], recordCountPerPage: "10", ntstCtgrClCd: "ZZ" } }, { key: "all_forms", section: "별표·서식", label: "전체 서식", path: "/af/USEAFE001M.do", actionId: "ASIAFE001MR01", defaultParamData: { searchFrmlNm: "", recordCountPerPage: "10" }, highLevelTool: "search_taxlaw_forms(kind=all_forms)" }, { key: "annexes", section: "별표·서식", label: "별표", path: "/af/USEAFA001M.do", actionId: "ASIAFA001MR01", defaultParamData: { searchFrmlNm: "", searchNtstBscId: "stttAll", pageIndex: 1, recordCountPerPage: 10, srtFeld: "btn_sortPmgDt", srtMthd: "desc" }, highLevelTool: "search_taxlaw_forms(kind=annex)" }, { key: "legal_forms", section: "별표·서식", label: "법령서식", path: "/af/USEAFB001M.do", actionId: "ASIAFB001MR01", defaultParamData: { searchFrmlNm: "", searchNtstBscId: "stttAll", pageIndex: 1, recordCountPerPage: 10, srtFeld: "btn_sortPmgDt", srtMthd: "desc" }, highLevelTool: "search_taxlaw_forms(kind=legal_form)" }, { key: "instruction_forms", section: "별표·서식", label: "훈령서식", path: "/af/USEAFC001M.do", actionId: "ASIAFC001MR01", defaultParamData: { searchNtarTlawClCd: "all", searchFrmlNm: "", pageIndex: 1, recordCountPerPage: 10, srtFeld: "btn_sortPmgDt", srtMthd: "desc" }, highLevelTool: "search_taxlaw_forms(kind=instruction_form)" }, { key: "favorite_forms", section: "별표·서식", label: "자주찾는서식", path: "/af/USEAFD001M.do", actionId: "ASIAFD001MR01", defaultParamData: { searchBkmrTlawClCd: "all", searchFrmlNm: "", ntstBkmrFrmlClCd: "10", pageIndex: 1, recordCountPerPage: 10 }, highLevelTool: "search_taxlaw_forms(kind=favorite_form)" }, { key: "publications", section: "전자도서관", label: "발간책자", path: "/el/USEELA001M.do", actionId: "ASIELA001MR01", defaultParamData: { ntstSjtClCd: "All", searchKeyword: "", ntarClCd: "01", recordCountPerPage: "10" }, highLevelTool: "search_taxlaw_publications" }, { key: "summary_info", section: "전자도서관", label: "세목별요약정보", path: "/bg/USEBGG001M.do", note: "정적 HTML 자료입니다. 예: get_taxlaw_page_text(path=/html/U_0101.html)" }, { key: "customer_notices", section: "고객센터", label: "공지사항", path: "/br/USEBRC001M.do", actionId: "ACMCMB001MR01", defaultParamData: { tbbsTtl: "", tbbsCtgrClCd: "01", cmnTbbsBrkdDVO: {}, recordCountPerPage: "10" } }, { key: "site_guide", section: "고객센터", label: "누리집이용안내", path: "/br/USEBRA001M.do", actionId: "ACMCMB001MR01", defaultParamData: { tbbsTtl: "", tbbsCtgrClCd: "03", cmnTbbsBrkdDVO: {}, recordCountPerPage: "10" } }, { key: "videos", section: "고객센터", label: "시스템 활용 동영상", path: "/br/USEBRB001M.do", actionId: "ASEBRC001MR01", defaultParamData: { tbbsTtl: "", tbbsCtgrClCd: "02", recordCountPerPage: "10" } }, { key: "interpretation_guide", section: "고객센터", label: "세법해석질의안내", path: "/br/USEBRD001M.do", actionId: "ACMCMB001MR01", defaultParamData: { tbbsTtl: "", tbbsCtgrClCd: "04", cmnTbbsBrkdDVO: {}, recordCountPerPage: "10" } }, { key: "taxpayer_protection_cases", section: "고객센터", label: "납세자보호위원회심의사례", path: "/bg/USEBGF001M.do", actionId: "ASIPRC019MR02", defaultParamData: { searchCondition: "", searchKeyword: "", bltnStrtDt: "", bltnEndDt: "", ntstDcmClCd: "14", recordCountPerPage: "10" } }, { key: "valuation_review_cases", section: "고객센터", label: "평가심의사례", path: "/bg/USEBGI001M.do", actionId: "ASIBGH004MR01", defaultParamData: { tbbsTtl: "", wrtrMemNm: "", bltnStrtDt: "", bltnEndDt: "991231", tbbsCtgrClCd: "12", recordCountPerPage: "10" } }, { key: "dictionary", section: "기타", label: "용어사전", path: "/st/USESTJ001M.do", actionId: "ASISTJ001MR01", defaultParamData: { searchNtstTrgyDictCntn: "", recordCountPerPage: "10" } }, { key: "tax_calendar", section: "기타", label: "세무일정", path: "/cm/USECMC001M.do", actionId: "ASECMC001MR01", defaultParamData: { year: "", month: "" }, note: "year=YYYY, month=MM을 지정하면 해당 월 세무일정을 조회합니다. 빈 값은 빈 목록을 반환할 수 있습니다." }, { key: "tax_law_suggestions", section: "기타", label: "세법개정건의", path: "/cm/USECMJ001M.do", note: "안내/서식 중심 정적 페이지입니다. get_taxlaw_page_text로 본문을 조회하세요." }, ]