Skip to main content
Glama

๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด ยท ๐Ÿ‡ฌ๐Ÿ‡ง English

KORAIL ๊ณต๊ณต๋ฐ์ดํ„ฐ MCP

ํ•œ๊ตญ์ฒ ๋„๊ณต์‚ฌ(KORAIL) ๊ณต๊ณต๋ฐ์ดํ„ฐ๋ฅผ AI์— ์—ฐ๊ฒฐํ•˜๋Š” MCP(Model Context Protocol) ์„œ๋ฒ„ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค. ์„ค์น˜ ํ›„ Claude DesktopยทClaude CodeยทCursorยทAntigravityยทGitHub Copilot(CLI/VS Code) ๋“ฑ์—์„œ ์ž์—ฐ์–ด๋กœ KORAIL ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โœ… API ํ‚ค ์‹ ์ฒญ ๋ถˆํ•„์š” โ€” ์ „์šฉ ํ”„๋ก์‹œ ์„œ๋ฒ„๊ฐ€ ๊ณต๊ณต๋ฐ์ดํ„ฐ API ํ˜ธ์ถœ์„ ๋Œ€์‹  ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ป ๋กœ์ปฌ ์„ค์น˜ํ˜• (stdio) โ€” ๋ณ„๋„ ์„œ๋ฒ„ ์—†์ด ๊ฐœ์ธ PC์—์„œ ์ง์ ‘ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. Claude DesktopยทClaude CodeยทCursorยทAntigravityยทGitHub Copilot(CLI/VS Code) ๋“ฑ ๋กœ์ปฌ MCP ํด๋ผ์ด์–ธํŠธ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ChatGPTยทGrok ๊ฐ™์€ ์›น ์„œ๋น„์Šค๋Š” ์›๊ฒฉ ์—ฐ๊ฒฐ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค(ํ•˜๋‹จ "๊ทธ ๋ฐ–์˜ ๋ฐฉ์‹" ์ฐธ๊ณ ).

๐Ÿ“ฆ ํ•„์š” ๋””์Šคํฌ ๊ณต๊ฐ„ โ€” ์•ฝ 100MB (uv๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” Python๊ณผ ํŒจํ‚ค์ง€ ํฌํ•จ)

๐Ÿ‘‰ ์ฒ˜์Œ์ด์‹ ๊ฐ€์š”? ๋ฐ”๋กœ ์•„๋ž˜ "์ œ์ผ ์‰ฌ์šด ๋ฐฉ๋ฒ•"๋ถ€ํ„ฐ ์‹œ๋„ํ•ด๋ณด์„ธ์š”. 98๊ฐœ ๋„๊ตฌ ์ „์ฒด ๋ชฉ๋ก์€ ์„ค์น˜๋ฅผ ๋งˆ์นœ ๋’ค ํ•„์š”ํ•  ๋•Œ ์ฐธ๊ณ ํ•˜์„ธ์š”.


๐Ÿค– ์ œ์ผ ์‰ฌ์šด ๋ฐฉ๋ฒ• โ€” AI์—๊ฒŒ ๊ทธ๋Œ€๋กœ ์‹œํ‚ค๊ธฐ

Claude CodeยทCursorยทGitHub Copilot(CLI/VS Code)ยทAntigravity์ฒ˜๋Ÿผ ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์„ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” AI๋ฅผ ์“ฐ๊ณ  ์žˆ๋‹ค๋ฉด, ๊ทธ ์ฑ„ํŒ…์ฐฝ์— ์•„๋ž˜ ๋ฌธ์žฅ์„ ๊ทธ๋Œ€๋กœ ๋ถ™์—ฌ๋„ฃ์œผ์„ธ์š”.

https://github.com/lovelyquality/korail-mcp ์˜ README๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ์ด MCP ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๋‚ด ํด๋ผ์ด์–ธํŠธ์— ์—ฐ๊ฒฐํ•ด์ค˜.

AI๊ฐ€ README๋ฅผ ์ง์ ‘ ์ฝ๊ณ  uv ์„ค์น˜ โ†’ korail-mcp ์„ค์น˜ โ†’ ํด๋ผ์ด์–ธํŠธ ์„ค์ • ํŒŒ์ผ ๋“ฑ๋ก๊นŒ์ง€ ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์™„๋ฃŒ๋˜๋ฉด "์„œ์šธ์—ญ์— ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๊ฐ€ ์žˆ๋‚˜์š”?" ๊ฐ™์€ ์งˆ๋ฌธ์œผ๋กœ ํ™•์ธํ•ด๋ณด์„ธ์š”.

โš ๏ธ ChatGPTยทGrok์ฒ˜๋Ÿผ ๋กœ์ปฌ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์ง€ ๋ชปํ•˜๋Š” AI์—์„œ๋Š” ์ด ๋ฐฉ๋ฒ•์ด ํ†ตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(์™œ์ธ์ง€๋Š” ํ•˜๋‹จ "๊ทธ ๋ฐ–์˜ ๋ฐฉ์‹" ์ฐธ๊ณ ). ๊ทธ๋ฆฌ๊ณ  AI๊ฐ€ ์ค‘๊ฐ„์— ๋ง‰ํžˆ๊ฑฐ๋‚˜, ์• ์ดˆ์— ์ด๋Ÿฐ ๋ฐฉ์‹์˜ AI ๋„๊ตฌ๊ฐ€ ์—†๋‹ค๋ฉด โ†’ ๋ฐ”๋กœ ์•„๋ž˜ "์ˆ˜๋™ ์„ค์น˜"๋ฅผ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ผ ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


Related MCP server: OpenAPI Korea MCP Server

โš™๏ธ ์ˆ˜๋™ ์„ค์น˜ (Windows ยท 2๋‹จ๊ณ„)

Python์„ ๋”ฐ๋กœ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์ €์žฅ์†Œ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. uv๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ์„ ์•Œ์•„์„œ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค.

1๋‹จ๊ณ„ โ€” uv ์„ค์น˜ (์ตœ์ดˆ 1ํšŒ)

PowerShell์„ ์—ด๊ณ  ์•„๋ž˜๋ฅผ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

์„ค์น˜ ํ›„ PowerShell์„ ์ƒˆ๋กœ ์—ด๊ณ  uv --version์ด ์ถœ๋ ฅ๋˜๋ฉด ์„ฑ๊ณต์ž…๋‹ˆ๋‹ค.

2๋‹จ๊ณ„ โ€” KORAIL MCP ์„ค์น˜ (์ตœ์ดˆ 1ํšŒ)

uv tool install --from git+https://github.com/lovelyquality/korail-mcp.git korail-mcp

๋งˆ์ง€๋ง‰์— Installed 1 executable: korail-mcp ๊ฐ€ ๋‚˜์˜ค๋ฉด ์„ฑ๊ณต์ž…๋‹ˆ๋‹ค.

โณ ์ฒซ ์„ค์น˜๋Š” 1~3๋ถ„ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค(Python๊ณผ ํŒจํ‚ค์ง€๋ฅผ ๋ฐ›๋Š” ์‹œ๊ฐ„). ์„ค์น˜ ํ›„ ์‹คํ–‰์€ ์•ฝ 5์ดˆ์ž…๋‹ˆ๋‹ค.

๐Ÿ”„ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ๊ฐฑ์‹  โ€” uv tool upgrade korail-mcp ์‹คํ–‰ ํ›„ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์žฌ์‹œ์ž‘ํ•˜์„ธ์š”.

โš ๏ธ ๊ฐฑ์‹  ์ „์—๋Š” korail-mcp๋ฅผ ์“ฐ๋Š” ํด๋ผ์ด์–ธํŠธ(Claude DesktopยทCursorยทAntigravityยทVS Code ๋“ฑ)๋ฅผ ๋จผ์ € ์™„์ „ํžˆ ์ข…๋ฃŒํ•˜์„ธ์š”. ์‹คํ–‰ ์ค‘์ธ ์ƒํƒœ๋กœ ๊ฐฑ์‹ ํ•˜๋ฉด ์‹คํ–‰ํŒŒ์ผ์ด ์ž ๊ฒจ ์žˆ์–ด ๋‚ด๋ถ€ ํŒจํ‚ค์ง€๋งŒ ์ƒˆ ๋ฒ„์ „์œผ๋กœ ๋ฐ”๋€Œ๊ณ  ์‹คํ–‰ํŒŒ์ผ์€ ๊ทธ๋Œ€๋กœ ๋‚จ์•„ ModuleNotFoundError: No module named 'gateway'๋กœ ๊นจ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (2026-08-24 ์‹ค์ธก์œผ๋กœ ์žฌํ˜„ยทํ™•์ธ). ์ด๋ฏธ ์ด ์—๋Ÿฌ๊ฐ€ ๋‚˜๋ฉด korail-mcp.exe๋ฅผ ์“ฐ๋Š” ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž‘์—… ๊ด€๋ฆฌ์ž์—์„œ ์ข…๋ฃŒํ•œ ๋’ค uv tool install --from git+https://github.com/lovelyquality/korail-mcp.git korail-mcp --force๋กœ ์žฌ์„ค์น˜ํ•˜์„ธ์š”. ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐ™์€ ์„ค์น˜๋ฅผ ๋™์‹œ์— ์“ฐ๋Š” ๊ฒƒ ์ž์ฒด๋Š” ๋ฌธ์ œ ์—†์Šต๋‹ˆ๋‹ค โ€” ์ถฉ๋Œ์€ ๊ฐฑ์‹ ํ•˜๋Š” ๊ทธ ์ˆœ๊ฐ„์—๋งŒ ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค.


๐Ÿ”Œ 3๋‹จ๊ณ„ โ€” ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ

์•„๋ž˜ JSON์„ ํด๋ผ์ด์–ธํŠธ ์„ค์ • ํŒŒ์ผ์˜ mcpServers ์•ˆ์— ๋„ฃ๊ณ , <์‚ฌ์šฉ์ž๋ช…> ๋ถ€๋ถ„๋งŒ ๋ณธ์ธ ์œˆ๋„์šฐ ๊ณ„์ •๋ช…์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

{
  "mcpServers": {
    "korail-mcp": {
      "command": "C:\\Users\\<์‚ฌ์šฉ์ž๋ช…>\\.local\\bin\\korail-mcp.exe"
    }
  }
}

๐Ÿ’ก ๊ณ„์ •๋ช…์„ ๋ชจ๋ฅด๋ฉด PowerShell์— echo $env:USERNAME ์„ ์ž…๋ ฅํ•˜์„ธ์š”. ๊ฒฝ๋กœ์˜ ์—ญ์Šฌ๋ž˜์‹œ๋Š” JSON ๊ทœ์น™์ƒ ๋‘ ๊ฐœ(\\) ๋กœ ์”๋‹ˆ๋‹ค.

โš ๏ธ ์ด๋ฏธ ๋‹ค๋ฅธ MCP ์„œ๋ฒ„๋ฅผ ์“ฐ๊ณ  ์žˆ๋‹ค๋ฉด korail-mcp ํ•ญ๋ชฉ๋งŒ ๊ธฐ์กด mcpServers ์•ˆ์— ์ถ”๊ฐ€ํ•˜์„ธ์š”(์ „์ฒด๋ฅผ ๋ฎ์–ด์“ฐ๋ฉด ๊ธฐ์กด ์„œ๋ฒ„๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค).

์„ค์ • ํŒŒ์ผ ์œ„์น˜

ํด๋ผ์ด์–ธํŠธ

์„ค์ • ํŒŒ์ผ

Claude Desktop

%APPDATA%\Claude\claude_desktop_config.json

Claude Code

claude mcp add ๋ช…๋ น์œผ๋กœ ๋“ฑ๋ก (์•„๋ž˜ ๋ณ„๋„ ์•ˆ๋‚ด)

Cursor

C:\Users\<์‚ฌ์šฉ์ž๋ช…>\.cursor\mcp.json

Antigravity

C:\Users\<์‚ฌ์šฉ์ž๋ช…>\.gemini\antigravity\mcp_config.json

GitHub Copilot CLI

copilot mcp add ๋ช…๋ น์œผ๋กœ ๋“ฑ๋ก (์•„๋ž˜ ๋ณ„๋„ ์•ˆ๋‚ด)

VS Code (GitHub Copilot Chat)

์•„๋ž˜ ๋ณ„๋„ ์•ˆ๋‚ด ์ฐธ๊ณ  (JSON ํ˜•์‹์ด ๋‹ค๋ฆ„)

  1. ํƒ์ƒ‰๊ธฐ ์ฃผ์†Œ์ฐฝ์— %APPDATA% ์ž…๋ ฅ โ†’ Enter

  2. Claude ํด๋”๊ฐ€ ์—†์œผ๋ฉด ์ง์ ‘ ๋งŒ๋“œ์„ธ์š”

  3. ๊ทธ ์•ˆ์— claude_desktop_config.json ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ์œ„ JSON์„ ๋„ฃ์œผ์„ธ์š”

AppData๊ฐ€ ์•ˆ ๋ณด์ด๋ฉด ํƒ์ƒ‰๊ธฐ โ†’ ๋ณด๊ธฐ โ†’ ์ˆจ๊ธด ํ•ญ๋ชฉ์„ ์ฒดํฌํ•˜์„ธ์š”.

ํ„ฐ๋ฏธ๋„์—์„œ ์“ฐ๋Š” Claude Code CLI(claude, VS Code๋‚˜ Claude Desktop ์—†์ด๋„ ๋™์ž‘)๋กœ ์‹ค์ œ ๊ณ„์ • ๋ถ™์—ฌ์„œ ๊ฒ€์ฆํ–ˆ์Šต๋‹ˆ๋‹ค.

# 1) korail-mcp๋ฅผ MCP ์„œ๋ฒ„๋กœ ๋“ฑ๋ก (์ตœ์ดˆ 1ํšŒ)
claude mcp add korail-mcp -s user -- "C:\Users\<์‚ฌ์šฉ์ž๋ช…>\.local\bin\korail-mcp.exe"

# 2) ์‹ค์ œ ์งˆ๋ฌธ (ํ•ด๋‹น ๋„๊ตฌ๋งŒ ํ—ˆ์šฉ)
claude -p "korail-mcp ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์„œ์šธ์—ญ์— ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ๋ ค์ค˜" --allowedTools "mcp__korail-mcp__*"

โœ… 2026-08-24 ์‹ค์ธก ๊ฒฐ๊ณผ โ€” ์œ„ ๋ช…๋ น์„ ์‹ค์ œ๋กœ ์‹คํ–‰ํ•ด์„œ ์‹ค๋ฐ์ดํ„ฐ ๋‹ต๋ณ€๊นŒ์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค:

์„œ์šธ์—ญ โ€” ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ์žˆ์Œ (18๊ฐœ)
์—์Šค์ปฌ๋ ˆ์ดํ„ฐ: 23๊ฐœ ยท ์ผ๋ฐ˜ํ™”์žฅ์‹ค: ์žˆ์Œ ยท ์ˆ˜์œ ์‹ค: ์žˆ์Œ ยท ์ข…ํ•ฉ์•ˆ๋‚ด์„ผํ„ฐ: ์žˆ์Œ
(์ถœ์ฒ˜: ํ•œ๊ตญ์ฒ ๋„๊ณต์‚ฌ ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ ํŽธ์˜์‹œ์„ค์ •๋ณด, ์‹ค์‹œ๊ฐ„ API ๊ธฐ์ค€)

claude mcp list๋กœ ๋“ฑ๋ก ํ™•์ธ, claude mcp remove korail-mcp๋กœ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ™”ํ˜•์œผ๋กœ ์“ธ ๋•Œ๋Š” --allowedTools ์—†์ด ์‹คํ–‰ํ•˜๋ฉด ์ฒซ ๋„๊ตฌ ํ˜ธ์ถœ ์‹œ ์Šน์ธ ์—ฌ๋ถ€๋ฅผ ๋ฌผ์–ด๋ด…๋‹ˆ๋‹ค.

.cursor ๋˜๋Š” .gemini\antigravity ํด๋”๋‚˜ ๊ทธ ์•ˆ์˜ ์„ค์ • ํŒŒ์ผ์ด ์—†๋‹ค๋ฉด ์ง์ ‘ ๋งŒ๋“ค๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  1. ํƒ์ƒ‰๊ธฐ ์ฃผ์†Œ์ฐฝ์— %USERPROFILE% ์ž…๋ ฅ โ†’ Enter (๋ณธ์ธ ๊ณ„์ • ํด๋”๋กœ ์ด๋™)

  2. ์—†๋Š” ํด๋”(.cursor ๋˜๋Š” .gemini\antigravity)๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“œ์„ธ์š”

  3. ๊ทธ ์•ˆ์— mcp.json(Cursor) ๋˜๋Š” mcp_config.json(Antigravity) ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ์œ„ JSON์„ ๋„ฃ์œผ์„ธ์š”

Antigravity๋Š” ์ฑ„ํŒ…์— ์œ„ JSON์„ ๋ถ™์—ฌ๋„ฃ๊ณ  "์ด MCP ์„œ๋ฒ„๋ฅผ ๋“ฑ๋กํ•ด์ค˜"๋ผ๊ณ  ์š”์ฒญํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ๋กœ ์„ค์น˜ ๊ฐ€๋Šฅํ•˜๋ฉฐ, KORAIL MCP ์—ฐ๊ฒฐ์— ๋ณ„๋„ ๊ตฌ๋…์ด ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.

ํ„ฐ๋ฏธ๋„์—์„œ ์“ฐ๋Š” ๊ณต์‹ GitHub Copilot CLI(@github/copilot, VS Code ์—†์ด๋„ ๋™์ž‘)๋กœ ์‹ค์ œ ๊ณ„์ • ๋ถ™์—ฌ์„œ ๊ฒ€์ฆํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ ํ”Œ๋žœ์—์„œ๋„ MCP ์„œ๋ฒ„ ์—ฐ๊ฒฐ์ด ๋ฉ๋‹ˆ๋‹ค (๋‹ค๋งŒ ์›” ์ฑ„ํŒ… 50ํšŒ, ๋ชจ๋ธ์€ Claude Haiku 4.5 / GPT-5 mini๋กœ ์ œํ•œ).

โš ๏ธ ์‚ฌ์ „ ์ค€๋น„ โ€” Node.js 22 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. node --version์œผ๋กœ ํ™•์ธํ•˜๊ณ , ์—†์œผ๋ฉด nodejs.org์—์„œ LTS ๋ฒ„์ „์„ ์„ค์น˜ํ•˜์„ธ์š”(uv์™€ ๋‹ฌ๋ฆฌ ์ž๋™์œผ๋กœ ์ค€๋น„๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค).

# 1) ์„ค์น˜ (์ตœ์ดˆ 1ํšŒ)
npm install -g @github/copilot

# 2) korail-mcp๋ฅผ MCP ์„œ๋ฒ„๋กœ ๋“ฑ๋ก (์ตœ์ดˆ 1ํšŒ)
copilot mcp add korail-mcp -- "C:\Users\<์‚ฌ์šฉ์ž๋ช…>\.local\bin\korail-mcp.exe"

# 3) ์‹ค์ œ ์งˆ๋ฌธ (๋„๊ตฌ ์ž๋™ ์Šน์ธ)
copilot -p "์„œ์šธ์—ญ์— ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๊ฐ€ ์žˆ๋Š”์ง€ korail-mcp ๋„๊ตฌ๋กœ ์กฐํšŒํ•ด์ค˜" --allow-all-tools

โœ… 2026-08-24 ์‹ค์ธก ๊ฒฐ๊ณผ โ€” ์œ„ ๋ช…๋ น์„ ์‹ค์ œ๋กœ ์‹คํ–‰ํ•ด์„œ GitHub Copilot์ด get_urban_accessibility ๋„๊ตฌ๋ฅผ ์Šค์Šค๋กœ ํ˜ธ์ถœํ•˜๊ณ  ์‹ค๋ฐ์ดํ„ฐ๋กœ ๋‹ต๋ณ€ํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค:

โ— get_urban_accessibility (MCP: korail-mcp) ยท station_name: "์„œ์šธ์—ญ", facility_type: "elevator"

๋„ค, ์„œ์šธ์—ญ์—๋Š” ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค! ์ด 17๊ฐœ์˜ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
- ๊ณตํ•ญ์ฒ ๋„(AR): 9๊ฐœ ยท ๊ฒฝ์˜์ค‘์•™์„ (KR): 1๊ฐœ ยท 1ํ˜ธ์„ (S1): 4๊ฐœ ยท 4ํ˜ธ์„ (S1): 3๊ฐœ

์„ค์ • ํŒŒ์ผ์€ ~/.copilot/mcp-config.json์— mcpServers.korail-mcp๋กœ ์ €์žฅ๋˜๋ฉฐ, copilot mcp list๋กœ ๋“ฑ๋ก ํ™•์ธ, copilot mcp remove korail-mcp๋กœ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

VS Code ํ™•์žฅ ํ˜•ํƒœ์˜ Copilot Chat์€ ์œ„ CLI์™€ ๋ณ„๊ฐœ ์ œํ’ˆ์ด๋ผ ์„ค์ • ํŒŒ์ผ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ตœ์ƒ์œ„ ํ‚ค๊ฐ€ mcpServers๊ฐ€ ์•„๋‹ˆ๋ผ servers ๋ผ์„œ ์œ„ JSON์„ ๊ทธ๋Œ€๋กœ ์“ธ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  1. ์ €์žฅ์†Œ(์ž‘์—… ํด๋”) ๋ฃจํŠธ์— .vscode\mcp.json ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ์•„๋ž˜ ๋‚ด์šฉ์„ ๋„ฃ์Šต๋‹ˆ๋‹ค. (๋ชจ๋“  ์ž‘์—… ํด๋”์—์„œ ์“ฐ๋ ค๋ฉด ๋ช…๋ น ํŒ”๋ ˆํŠธ(Ctrl+Shift+P) โ†’ MCP: Open User Configuration ์œผ๋กœ ์—ด๋ฆฌ๋Š” %APPDATA%\Code\User\mcp.json ์— ๋„ฃ์œผ์„ธ์š”.)

{
  "servers": {
    "korail-mcp": {
      "command": "C:\\Users\\<์‚ฌ์šฉ์ž๋ช…>\\.local\\bin\\korail-mcp.exe"
    }
  }
}
  1. ํŒŒ์ผ์„ ์ €์žฅํ•˜๋ฉด ์ƒ๋‹จ์— ๋‚˜ํƒ€๋‚˜๋Š” Start ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  2. Copilot Chat์„ ์—ด๊ณ  Agent ๋ชจ๋“œ๋ฅผ ์„ ํƒ โ†’ ๋„๊ตฌ ์•„์ด์ฝ˜์—์„œ korail-mcp 98๊ฐœ ๋„๊ตฌ๊ฐ€ ๋ณด์ด๋ฉด ์—ฐ๊ฒฐ ์™„๋ฃŒ์ž…๋‹ˆ๋‹ค.

โš ๏ธ ์œ„ CLI ํ…Œ์ŠคํŠธ๋กœ ์„œ๋ฒ„ ์ชฝ(stdio ํ”„๋กœํ† ์ฝœยท98๊ฐœ ๋„๊ตฌยท์‹ค๋ฐ์ดํ„ฐ ์‘๋‹ต)์€ ์ด๋ฏธ ๊ฒ€์ฆ๋์ง€๋งŒ, VS Code ํ™”๋ฉด์—์„œ Start๋ฅผ ๋ˆŒ๋Ÿฌ ์‹ค์ œ๋กœ ๋ถ™๋Š”์ง€๋Š” GUI ์กฐ์ž‘ ๋„๊ตฌ๊ฐ€ ์—†์–ด ํ™•์ธํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์•ˆ ๋˜๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.

์—ฐ๊ฒฐ ํ›„ ๋ฐ˜๋“œ์‹œ โ€” ํด๋ผ์ด์–ธํŠธ๋ฅผ ์™„์ „ํžˆ ์ข…๋ฃŒํ–ˆ๋‹ค ๋‹ค์‹œ ์‹คํ–‰

โ„น๏ธ Claude CodeยทGitHub Copilot CLI๋Š” ์ด ๋‹จ๊ณ„๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค โ€” ๋ช…๋ น์„ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์„ค์ •์„ ์ƒˆ๋กœ ์ฝ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” Claude DesktopยทCursorยทAntigravityยทVS Code์ฒ˜๋Ÿผ ์ฐฝ์„ ๋„์›Œ๋‘๋Š” ํด๋ผ์ด์–ธํŠธ์—๋งŒ ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

์ฐฝ์˜ X๋ฅผ ๋ˆŒ๋Ÿฌ ๋‹ซ์•„๋„ ํŠธ๋ ˆ์ด(์ž‘์—…ํ‘œ์‹œ์ค„ ์˜ค๋ฅธ์ชฝ ^ ์•ˆ)์— ๊ณ„์† ์‹คํ–‰ ์ค‘์ด๋ผ ์„ค์ •์ด ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. โ†’ ํŠธ๋ ˆ์ด ์•„์ด์ฝ˜ ์šฐํด๋ฆญ โ†’ Quit / ์ข…๋ฃŒ ํ›„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜์„ธ์š”.

์ •์ƒ ์—ฐ๊ฒฐ๋˜๋ฉด ์„ค์ •์˜ MCP ์„œ๋ฒ„ ๋ชฉ๋ก์— korail-mcp๊ฐ€ running ์œผ๋กœ ํ‘œ์‹œ๋˜๊ณ , 98๊ฐœ ๋„๊ตฌ๋ฅผ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ฌ ์„ค์น˜ ํ™•์ธ โ€” ์ด๋ ‡๊ฒŒ ๋ฌผ์–ด๋ณด์„ธ์š”

์„œ์šธ์—ญ์— ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๊ฐ€ ์žˆ๋‚˜์š”?
2024๋…„ ๊ฐ„์„ ์ฒ ๋„ ์ˆ˜์†ก์‹ค์ ์„ ์•Œ๋ ค์ฃผ์„ธ์š”.
KTX 101 ์—ด์ฐจ์˜ ์šดํ–‰ ๊ณ„ํš์„ ์•Œ๋ ค์ฃผ์„ธ์š”.

์ •์ƒ ์‘๋‹ต์ด ์˜ค๋ฉด ์„ค์น˜ ์™„๋ฃŒ์ž…๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ์‚ฌ์šฉ ์˜ˆ์‹œ๋Š” ๋ฌธ์„œ ํ•˜๋‹จ์˜ "์‚ฌ์šฉ ์˜ˆ์‹œ" ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.


๐Ÿ“ฆ ์ œ๊ณต ์„œ๋ฒ„ (์ด 11๊ฐœ ยท 98๊ฐœ ๋„๊ตฌ)

์„œ๋ฒ„

๋„๊ตฌ ์ˆ˜

์ œ๊ณต ๋ฐ์ดํ„ฐ

m-convenience

6

์—ญ์‚ฌ ํŽธ์˜์‹œ์„คยท์ ‘๊ทผ์„ฑยท์—˜๋ฆฌ๋ฒ ์ดํ„ฐยท์œ„์น˜ ์ •๋ณด

m-stats

15

์ˆ˜์†ก์‹ค์ ยท๋ฐœ๊ถŒ ํ†ต๊ณ„ยท์ด์šฉ์œ ํ˜•ยทKTX ์žฅ๊ธฐ ํ†ต๊ณ„

m-train-ops

4

์—ด์ฐจ ์šดํ–‰๊ณ„ํšยท์šดํ–‰์ด๋ ฅ

m-codebook

4

์—ญ์ฝ”๋“œยท๋…ธ์„ ์ฝ”๋“œ ์กฐํšŒ

m-freight

11

ํ™”๋ฌผยท์ปจํ…Œ์ด๋„ˆยท๋ฌผ๋ฅ˜์‹œ์„คยทํ’ˆ๋ชฉยท์œ„ํ—˜๋ฌผ

m-network

8

๋…ธ์„ ยท์—ญ๊ฐ„๊ฑฐ๋ฆฌยท์šด์ž„ยท์—ญ ์„ ๋กœ์ œ์›

m-rolling-stock

6

์ฐจ๋Ÿ‰ ๋ณด์œ ํ˜„ํ™ฉยทํ˜•๋ณ„์ œ์›ยท์ฐจ์ข…๋ณ„ ์šดํ–‰์‹ค์ 

m-voc-cs

10

๊ณ ๊ฐ์„œ๋น„์Šคยท์ •๋ณด๊ณต๊ฐœ

m-internal-svc

14

์ž„๋Œ€๋งค์žฅยท์‚ฌํšŒ๊ณตํ—Œยท์ธ์‚ฌ ์ •๋ณด

m-procurement

4

์ž์žฌ๊ทธ๋ฃนยทG2B ํ’ˆ๋ช…ยท์ž์žฌ์†์„ฑยท๋Œ€์ƒ์žฅ๋น„

m-urban-rail

16

์ „๊ตญ ๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌยท๋…ธ์„ ยท์ฐจ๋Ÿ‰ ์‹œ์„คยท์ ‘๊ทผ์„ฑยท์•ˆ์ „ยทํ™˜๊ฒฝยท์‹œ๊ฐํ‘œ

์„œ๋ฒ„๋ณ„ ๋„๊ตฌ ์ƒ์„ธ (ํด๋ฆญํ•˜์—ฌ ํŽผ์น˜๊ธฐ)

๋„๊ตฌ

์„ค๋ช…

get_station_facilities

์—ญ ์ด๋ฆ„์œผ๋กœ ํŽธ์˜์‹œ์„ค ์ •๋ณด ์กฐํšŒ

get_accessible_facilities

์—ญ ์ด๋ฆ„์œผ๋กœ ๊ตํ†ต์•ฝ์ž ํŽธ์˜์‹œ์„ค ์กฐํšŒ

list_stations_with_elevator

์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๊ฐ€ ์„ค์น˜๋œ ์—ญ ๋ชฉ๋ก ์กฐํšŒ

get_station_facilities_detail

์—ญ์‚ฌ ๋‚ด์™ธ๋ถ€ ์‹œ์„คํ˜„ํ™ฉ ์กฐํšŒ

get_station_transfer_info

์—ญ๋ณ„ ํƒ€ ๊ตํ†ต์ˆ˜๋‹จ ํ™˜์Šนํ˜„ํ™ฉ ์กฐํšŒ

get_station_location

์—ญ ์œ„์น˜(์ขŒํ‘œ) ์ •๋ณด ์กฐํšŒ

๋„๊ตฌ

์„ค๋ช…

get_mainline_station_per

๊ฐ„์„ ์—ด์ฐจ ์—ญ๋ณ„ ์Šนํ•˜์ฐจ ํ†ต๊ณ„

get_mainline_route_per

๊ฐ„์„ ์—ด์ฐจ ๋…ธ์„ ๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„

get_wide_rail_station_per

๊ด‘์—ญ์ฒ ๋„ ์—ญ๋ณ„ ์Šนํ•˜์ฐจ ํ†ต๊ณ„

get_wide_rail_route_per

๊ด‘์—ญ์ฒ ๋„ ๋…ธ์„ ๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„

get_mainline_distance_per

๊ฐ„์„ ์—ด์ฐจ ๊ฑฐ๋ฆฌ๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„

get_mainline_model_per

๊ฐ„์„ ์—ด์ฐจ ์ฐจ๋Ÿ‰๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„

get_mainline_day_of_week_per

๊ฐ„์„ ์—ด์ฐจ ์š”์ผ๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„

get_mainline_grade_per

๊ฐ„์„ ์—ด์ฐจ ๊ฐ์‹ค๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„

get_mainline_ticketing_stat

๊ฐ„์„ ์—ด์ฐจ ๋ฐœ๊ถŒ์œ ํ˜• ํ†ต๊ณ„

get_mainline_person_distance

๊ฐ„์„ ์—ด์ฐจ ๋…ธ์„ ๋ณ„ ์ธ๊ฑฐ๋ฆฌ ํ†ต๊ณ„

get_ktx_long_term_stats

KTX ์žฅ๊ธฐ ํ†ต๊ณ„

get_mainline_carriage

๊ฐ„์„  ์—ฌ๊ฐ์—ด์ฐจ ์ˆ˜์†ก์‹ค์  ์กฐํšŒ

get_wide_area_carriage

๊ด‘์—ญ ์—ฌ๊ฐ์—ด์ฐจ ์ˆ˜์†ก์‹ค์  ์กฐํšŒ

get_freight_carriage

ํ™”๋ฌผ์—ด์ฐจ ์ˆ˜์†ก์‹ค์  ์กฐํšŒ

get_transport_stat_codes

์ˆ˜์†ก์‹ค์  ํ†ต๊ณ„ ์ฝ”๋“œ์ •๋ณด ์กฐํšŒ

๋„๊ตฌ

์„ค๋ช…

get_train_codes

์—ด์ฐจ์šดํ–‰ ์ฝ”๋“œ์ •๋ณด ์กฐํšŒ

get_train_run_plan

์—ฌ๊ฐ์—ด์ฐจ ์šดํ–‰๊ณ„ํš ์กฐํšŒ

get_train_run_info

์—ฌ๊ฐ์—ด์ฐจ ์‹ค์ œ ์šดํ–‰์ •๋ณด ์กฐํšŒ

get_train_run_history

์ฐจ์„ธ๋Œ€์˜ˆ์•ฝ๋ฐœ๋งค ์—ด์ฐจ ์šดํ–‰๋‚ด์—ญ ์กฐํšŒ

๋„๊ตฌ

์„ค๋ช…

search_station

์—ญ๋ช…์œผ๋กœ ์—ญ์ฝ”๋“œยท์˜๋ฌธ๋ช…ยท์ง€์—ญ๋ณธ๋ถ€ ํ†ตํ•ฉ ์กฐํšŒ

decode_station_code

์—ญ์ฝ”๋“œ๋กœ ์—ญ๋ช… ์กฐํšŒ

search_route

๋…ธ์„ ๋ช…์œผ๋กœ ๋…ธ์„ ์ฝ”๋“œ ์กฐํšŒ

list_stations_by_region

์ง€์—ญ๋ณธ๋ถ€๋ช…์œผ๋กœ ๊ด€ํ•  ์—ญ ๋ชฉ๋ก ์กฐํšŒ

๋„๊ตฌ

์„ค๋ช…

search_freight_code

๋‚ด์ ํ™”๋ฌผ์ฝ”๋“œ ๊ฒ€์ƒ‰

decode_freight_code

๋‚ด์ ํ™”๋ฌผ๋ถ„๋ฅ˜์ฝ”๋“œ ๋‹จ๊ฑด ๋””์ฝ”๋”ฉ

search_container_record

์ปจํ…Œ์ด๋„ˆ ์ ์žฌ ์ด๋ ฅ ์กฐํšŒ

list_freight_work_lines

ํ™”๋ฌผ์ ํ•˜์ž‘์—… ์ „์šฉ ์ž‘์—…์„  ์ •๋ณด

list_standard_loading_time

ํ‘œ์ค€ ์ ํ•˜์‹œ๊ฐ„ ๋งˆ์Šคํ„ฐ ์กฐํšŒ

search_loading_time_adjustment

์ ํ•˜์‹œ๊ฐ„ ์กฐ์ • ์ด๋ ฅ ์กฐํšŒ

search_consignment_change

์ˆ˜ํƒ๋ณ€๊ฒฝ์š”๊ธˆ ๊ฒ€์ƒ‰

search_consignment_change_per_wagon

์ˆ˜ํƒ๋ณ€๊ฒฝ์š”๊ธˆ ํ™”์ฐจ๋ณ„ ์กฐํšŒ

get_logistics_facility

๋ฌผ๋ฅ˜์‹œ์„ค ์ •๋ณด ํ†ตํ•ฉ ์กฐํšŒ

get_freight_items

ํ™”๋ฌผ ํ’ˆ๋ชฉ์ •๋ณด ์กฐํšŒ

get_hazardous_cargo

์œ„ํ—˜๋ฌผ ์ •๋ณด ์กฐํšŒ

๋„๊ตฌ

์„ค๋ช…

search_operation_patterns

์ „๊ตญ ์ฒ ๋„ ์šดํ–‰๊ณ„ํ†ต ๊ฒ€์ƒ‰

get_station_distance

๋‘ ์—ญ ๊ฐ„ ์ตœ๋‹จ ์šดํ–‰๊ฑฐ๋ฆฌ ์กฐํšŒ

get_freight_minimum_fare

ํ™”๋ฌผ ์šด์†ก ์ตœ์ €์šด์ž„ ๊ธฐ์ค€ ์กฐํšŒ

get_freight_rate

์ฒ ๋„ ํ™”๋ฌผ ์ž„์œจ ์ •๋ณด ์กฐํšŒ

get_segment_info

์ฒ ๋„ ์ „๋™์ฐจ ์„ธ๊ทธ๋จผํŠธ ์ •๋ณด ์กฐํšŒ

get_operation_distance

๋…ธ์„ ๋ณ„ ์—ญ๊ฐ„ ์šดํ–‰๊ฑฐ๋ฆฌ ์กฐํšŒ

get_ktx_stations

KTX ๋…ธ์„ ๋ณ„ ์—ญ ์ •๋ณด ์กฐํšŒ

get_station_track_info

์—ญ๋ณ„ ์„ ๋กœยท์‹œ์„ค ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ

๋„๊ตฌ

์„ค๋ช…

get_train_type_specs

๋™๋ ฅ์ฐจ ํ˜•๋ณ„์ œ์› ์กฐํšŒ

get_rolling_stock_by_year

์—ฐ๋„๋ณ„ ์ฐจ๋Ÿ‰๋ณด์œ ํ˜„ํ™ฉ ์กฐํšŒ

get_wagon_by_weight_class

ํ™”์ฐจ ์ž์ค‘๋ณ„ ๋ณด์œ ํ˜„ํ™ฉ ์กฐํšŒ

get_wagon_by_load_capacity

ํ™”์ฐจ ์ ์žฌํ•˜์ค‘๋ณ„ ๋ณด์œ ํ˜„ํ™ฉ ์กฐํšŒ

get_maintenance_equipment

์ฒ ๋„์ฐจ๋Ÿ‰ ๊ฒ€์ˆ˜์šฉ ๊ธฐ๊ณ„ ๋ณด์œ ํ˜„ํ™ฉ ์กฐํšŒ

get_train_operation_by_type

์ฐจ์ข…๋ณ„ ์—ฐ๊ฐ„ ์šดํ–‰์‹ค์  ์กฐํšŒ

๋„๊ตฌ

์„ค๋ช…

get_customer_satisfaction_stats

๊ณ ๊ฐ์˜์†Œ๋ฆฌ ๋งŒ์กฑ๋„ ์ผ๋ณ„ ํ†ต๊ณ„

get_consultation_types

์ฒ ๋„ ๊ณ ๊ฐ์„ผํ„ฐ ์ƒ๋‹ด์œ ํ˜• ์ฝ”๋“œ ์กฐํšŒ

get_consultation_departments

์ฒ ๋„ ๊ณ ๊ฐ์„ผํ„ฐ ๋‹ด๋‹น ๋ถ€์„œ ๋ชฉ๋ก ์กฐํšŒ

get_advance_disclosure

ํ™ˆํŽ˜์ด์ง€ ์‚ฌ์ „์ •๋ณด๊ณตํ‘œ ๋ชฉ๋ก ์กฐํšŒ

get_advance_disclosure_detail

์‚ฌ์ „์ •๋ณด๊ณตํ‘œ ์„ธ๋ถ€ ๋‚ด์—ญ ์กฐํšŒ

get_advance_disclosure_files

์‚ฌ์ „์ •๋ณด๊ณตํ‘œ ์ฒจ๋ถ€ํŒŒ์ผ ๋ชฉ๋ก ์กฐํšŒ

get_info_disclosure_dept

์ •๋ณด๊ณต๊ฐœ ๋‹ด๋‹น ๋ถ€์„œ ๋ชฉ๋ก ์กฐํšŒ

get_info_disclosure_codes

์ •๋ณด๊ณต๊ฐœ ์‹œ์Šคํ…œ ๊ณตํ†ต์ฝ”๋“œ ์กฐํšŒ

get_homepage_dept

KORAIL ํ™ˆํŽ˜์ด์ง€ ๋ถ€์„œ ์ •๋ณด ์กฐํšŒ

get_homepage_position

KORAIL ํ™ˆํŽ˜์ด์ง€ ์ง์ฑ… ์ฝ”๋“œ ์กฐํšŒ

๋„๊ตฌ

์„ค๋ช…

get_lease_stores

์—ญ์‚ฌ ๋‚ด ์ž„๋Œ€๋งค์žฅ ์šด์˜์ •๋ณด ์กฐํšŒ

get_lease_codes

์ž„๋Œ€ ์‹œ์Šคํ…œ ์ฝ”๋“œ ์กฐํšŒ

get_leased_assets

์ž„๋Œ€์ž์‚ฐ ํ˜„ํ™ฉ ์กฐํšŒ

get_dormitory_longterm_codes

์ง์›์ˆ™์‚ฌ ์žฅ๊ธฐ์˜ˆ์•ฝ ์‚ฌ์œ  ์ฝ”๋“œ ์กฐํšŒ

get_social_funds

์‚ฌํšŒ๊ณตํ—Œ ํŽ€๋“œ ์ข…๋ฅ˜ ์กฐํšŒ

get_social_volunteer_fields

์‚ฌํšŒ๊ณตํ—Œ ๋ด‰์‚ฌ ๋ถ„์•ผ ์ฝ”๋“œ ์กฐํšŒ

get_social_donations

์‚ฌ๋ž‘์˜ ์„ฑ๊ธˆ ์‚ฌ์šฉ ๋‚ด์—ญ ์กฐํšŒ

get_social_volunteer_matching

๋ด‰์‚ฌํ™œ๋™ ๋งค์นญ ์ง€์ถœ ๋‚ด์—ญ ์กฐํšŒ

get_social_org

์‚ฌํšŒ๊ณตํ—Œ ํฌํ„ธ ์กฐ์ง์ •๋ณด ์กฐํšŒ

get_support_facilities

์‚ฌ์˜ฅ ๋‚ด ๋ถ€๋Œ€์‹œ์„ค ๋ชฉ๋ก ์กฐํšŒ

get_support_departments

์—…๋ฌด์ง€์› ๋ถ€์„œ๋ณ„ ์ธ์› ํ˜„ํ™ฉ ์กฐํšŒ

get_office_meeting_rooms

๋ณธ์‚ฌ ์‚ฌ์˜ฅ ํšŒ์˜์‹ค ๋ชฉ๋ก ์กฐํšŒ

get_job_grades

์ง๊ธ‰ ์ฝ”๋“œ ์ •๋ณด ์กฐํšŒ

get_cafeteria_menu_stats

๊ตฌ๋‚ด์‹๋‹น ๋ฉ”๋‰ด ๊ฑด์ˆ˜ ํ˜„ํ™ฉ ์กฐํšŒ

๋„๊ตฌ

์„ค๋ช…

search_material_group

์ž์žฌ๊ทธ๋ฃน์ฝ”๋“œ ๊ฒ€์ƒ‰

search_g2b_item

G2B ๋ถ„๋ฅ˜๋ฒˆํ˜ธยทํ’ˆ๋ช… ๊ฒ€์ƒ‰

search_material_attr

์ž์žฌ์†์„ฑ์ •๋ณด ์กฐํšŒ

search_material_equipment

์ž์žฌ๋Œ€์ƒ์žฅ๋น„ ์กฐํšŒ

์ˆ˜๋„๊ถŒ 1~9ํ˜ธ์„ ยท์‹ ๋ถ„๋‹นยท๊ณตํ•ญ์ฒ ๋„, ๋ถ€์‚ฐยท๋Œ€๊ตฌยท๋Œ€์ „ยท๊ด‘์ฃผยท์ธ์ฒœ, ๊ฒฝ์ „์ฒ ยทGTX ๋“ฑ ์ „๊ตญ 22๊ฐœ ์šด์˜๊ธฐ๊ด€ 1,108๊ฐœ ์—ญ. ์šด์˜๊ธฐ๊ด€ยท์„ ยท์—ญ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•˜๋ฏ€๋กœ ๋จผ์ € search_urban_station์œผ๋กœ ์—ญ์„ ํŠน์ •ํ•˜์„ธ์š”. ํ™˜์Šน์—ญ ๋“ฑ ๋™์ผ ์—ญ๋ช…์€ operator(์šด์˜๊ธฐ๊ด€)๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

๋„๊ตฌ

์„ค๋ช…

search_urban_station

์—ญ๋ช…์œผ๋กœ ์šด์˜๊ธฐ๊ด€ยท์„ ยท์—ญ์ฝ”๋“œ ๊ฒ€์ƒ‰ (๋‹ค๋ฅธ ์กฐํšŒ์˜ ์„ ํ–‰ ๋‹จ๊ณ„)

get_urban_station_info

์—ญ์‚ฌ ๊ธฐ๋ณธ์ •๋ณด ์กฐํšŒ (์ฃผ์†Œยท์ขŒํ‘œยท๋‹ค๊ตญ์–ด ์—ญ๋ช…)

get_urban_accessibility

์—ญ์‚ฌ ์ ‘๊ทผ์„ฑ ์‹œ์„ค ์กฐํšŒ (์—˜๋ฆฌ๋ฒ ์ดํ„ฐยท์—์Šค์ปฌ๋ ˆ์ดํ„ฐยทํœ ์ฒด์–ด๋ฆฌํ”„ํŠธ ํ˜„ํ™ฉ/์œ„์น˜ยท์ด๋™๋™์„ ยท์•ˆ์ „๋ฐœํŒยท์ด๊ฒฉ๊ฑฐ๋ฆฌยท์ ์žยท์žฅ์• ์ธํ™”์žฅ์‹คยท์ธ์ ‘๊ณ„๋‹จ ์ฐจ๋Ÿ‰๋ฒˆํ˜ธ ๋“ฑ)

get_urban_amenity

์—ญ์‚ฌ ํŽธ์˜์‹œ์„ค ์กฐํšŒ (ํ™”์žฅ์‹คยท์ˆ˜์œ ์‹คยท๋ฌผํ’ˆ๋ณด๊ด€ํ•จยทATMยท์œ ์‹ค๋ฌผ์„ผํ„ฐยท๋ฌด์„ ์ธํ„ฐ๋„ท)

get_urban_safety

์—ญ์‚ฌ ์•ˆ์ „์‹œ์„ค ์กฐํšŒ (์ œ์„ธ๋™๊ธฐยท์†Œํ™”์„ค๋น„ยท๋น„์ƒ์ฝœํฐยท๊ณต๊ธฐํ˜ธํก๊ธฐยท์Šคํฌ๋ฆฐ๋„์–ดยท์Šน๊ฐ•์žฅ ์•ˆ์ „ํŽœ์Šค)

get_urban_surroundings

์—ญ ์ฃผ๋ณ€ ์‹œ์„ค ์กฐํšŒ (๋Œ€์ค‘๊ตํ†ตยท์ฃผ์ฐจ์žฅยท์ž์ „๊ฑฐ ์ฃผ์ฐจ/๋Œ€์—ฌ)

get_urban_exit_info

์—ญ์‚ฌ ์ถœ๊ตฌ์ •๋ณด ์กฐํšŒ (์ถœ๊ตฌ๋ฒˆํ˜ธยท์ฃผ๋ณ€์‹œ์„คยท๊ฑฐ๋ฆฌ)

get_urban_transfer_info

์—ญ์‚ฌ ํ™˜์Šน์ •๋ณด ์กฐํšŒ (ํ™˜์Šน๋…ธ์„ ยทํ™˜์Šน๊ฑฐ๋ฆฌยท๋™์„ )

get_urban_movement

๊ตํ†ต์•ฝ์ž ์ถœ์ž…๊ตฌโ†’์Šน๊ฐ•์žฅ ์ด๋™๊ฒฝ๋กœ(๋ฌด์žฅ์•  ๋™์„ ) ์กฐํšŒ

get_urban_platform

์—ญ์‚ฌ ์Šน๊ฐ•์žฅ ์ •๋ณด ์กฐํšŒ (์Šน๊ฐ•์žฅ ์œ ํ˜•ยท๋ณตํ•ฉ์—ฌ๋ถ€ ๋“ฑ)

get_urban_environment

์—ญ์‚ฌ ํ™˜๊ฒฝ์ธก์ • ์กฐํšŒ (๊ณต๊ธฐ์งˆยท์˜จ๋„ยท์Šต๋„ยท์†Œ์Œ)

get_urban_timetable

์—ญ์‚ฌ๋ณ„ ์šดํ–‰์‹œ๊ฐํ‘œ ์กฐํšŒ (ํ‰์ผ/ํœด์ผยท๊ธ‰ํ–‰ ์„ ํƒ)

get_urban_route

๋…ธ์„  ์ „์ฒด ์—ญ ๊ตฌ์„ฑ(์ƒํ–‰~ํ•˜ํ–‰ ์ˆœ์„œ) ์กฐํšŒ โ€” ์—ญ ๋ฌด๊ด€

get_urban_train_composition

์šด์˜๊ธฐ๊ด€๋ณ„ ์—ด์ฐจ ํŽธ์„ฑ์ข…๋ฅ˜(ํŽธ์„ฑ์ฝ”๋“œยทํ˜ธ์ฐจ) ์กฐํšŒ โ€” ์ฐจ๋Ÿ‰๋ณ„ ์กฐํšŒ ์„ ํ–‰

get_urban_train_facility

์ฐจ๋Ÿ‰(ํ˜ธ์ฐจ)๋ณ„ ์‹œ์„ค ์กฐํšŒ (์†Œํ™”๊ธฐยท๋น„์ƒ์ฝœํฐยท์ œ์„ธ๋™๊ธฐยท์ž„์‚ฐ๋ถ€์„ยท๋…ธ์•ฝ์ž์„ยทํœ ์ฒด์–ด ๋“ฑ)

get_urban_train_environment

์—ด์ฐจ๋ณ„ ์ฐจ๋‚ด ํ™˜๊ฒฝ์ •๋ณด ์กฐํšŒ (์˜จ๋„ยท์Šต๋„ยท๋ฏธ์„ธ๋จผ์ง€ ๋“ฑ)


๐Ÿงฉ ๊ทธ ๋ฐ–์˜ ๋ฐฉ์‹

ChatGPT์™€ Grok์€ ๋กœ์ปฌ MCP ์„œ๋ฒ„๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ณต๊ฐœ HTTPS ์—”๋“œํฌ์ธํŠธ๋งŒ ์ปค๋„ฅํ„ฐ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์–ด, ์œ„ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฒŒ์ดํŠธ์›จ์ด์— ์›๊ฒฉ(Streamable HTTP) ๋ชจ๋“œ๊ฐ€ ๋‚ด์žฅ๋˜์–ด ์žˆ์–ด ๊ณต๊ฐœ ์ฃผ์†Œ๋กœ ๋…ธ์ถœํ•˜๋ฉด ์—ฐ๊ฒฐ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์„œ๋ฒ„ ์šด์˜๊ณผ ๊ณต๊ฐœ ๋ฒ”์œ„ ๋ฌธ์ œ๊ฐ€ ๋”ฐ๋ฅด๋ฏ€๋กœ ์ƒ์„ธ๋Š” gateway/README.md๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์„ค์น˜ ๊ณผ์ • ์—†์ด uvx ๋กœ ๋ฐ”๋กœ ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

{
  "mcpServers": {
    "korail-mcp": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/lovelyquality/korail-mcp.git", "korail-mcp"]
    }
  }
}

๊ณ„์ •๋ช…์„ ๋„ฃ์ง€ ์•Š์•„๋„ ๋˜๋Š” ์žฅ์ ์ด ์žˆ์œผ๋‚˜, ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค GitHub์— ์ตœ์‹  ์ปค๋ฐ‹์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ผค ๋•Œ๋งˆ๋‹ค ๊ธฐ๋™์ด ๋А๋ฆฝ๋‹ˆ๋‹ค.

๋ฐฉ์‹

๊ธฐ๋™ ์‹œ๊ฐ„(์‹ค์ธก)

uv tool install ํ›„ ์‹คํ–‰

์•ฝ 5์ดˆ

uvx (๋งค๋ฒˆ ์›๊ฒฉ ํ™•์ธ)

์•ฝ 40์ดˆ

๊ธฐ๋™์ด ๋А๋ฆฌ๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋‹ค ๋†“์ณ ๋„๊ตฌ๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋ ค๋ฉด ์ €์žฅ์†Œ๋ฅผ clone ํ•ด์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

git clone https://github.com/lovelyquality/korail-mcp.git
cd korail-mcp
uv run gateway/server.py

์˜์กด์„ฑ์€ gateway/server.py ์ƒ๋‹จ์— ์„ ์–ธ๋˜์–ด ์žˆ์–ด uv๊ฐ€ ์ž๋™์œผ๋กœ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ํ›„์—๋Š” python docker-test/smoke_test.py ๋กœ 11๊ฐœ ์„œ๋ฒ„ยท98๊ฐœ ๋„๊ตฌยท๋ฐ˜ํ™˜ ํƒ€์ž… ์„ ์–ธ์„ ํ•œ ๋ฒˆ์— ๊ฒ€์ฆํ•˜์„ธ์š”.

์ƒ์„ธ๋Š” gateway/README.md ์ฐธ๊ณ .


๐Ÿ’ฌ ์‚ฌ์šฉ ์˜ˆ์‹œ

์„œ์šธ์—ญ์— ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๊ฐ€ ์žˆ๋‚˜์š”?                     (convenience)
2026๋…„ 4์›” KTX ๋ฐœ๊ถŒ์œ ํ˜• ๋น„์œจ์„ ์•Œ๋ ค์ฃผ์„ธ์š”.        (stats)
KTX 101 ์—ด์ฐจ์˜ ์šดํ–‰ ๊ณ„ํš์„ ์•Œ๋ ค์ฃผ์„ธ์š”.            (train-ops)
์„œ์šธ์—ญ ์ฝ”๋“œ๊ฐ€ ๋ญ”๊ฐ€์š”?                             (codebook)
2024๋…„ ๊ฐ„์„ ์ฒ ๋„ ์ˆ˜์†ก์‹ค์ ์„ ์•Œ๋ ค์ฃผ์„ธ์š”.            (stats)
์ปจํ…Œ์ด๋„ˆ ํ™”๋ฌผ ์šด์†ก ์ด๋ ฅ์„ ์กฐํšŒํ•ด์ฃผ์„ธ์š”.           (freight)
๊ฒฝ๋ถ€์„  KTX ์ •์ฐจ์—ญ๊ณผ ์—ญ๊ฐ„ ๊ฑฐ๋ฆฌ๋ฅผ ์•Œ๋ ค์ฃผ์„ธ์š”.       (network)
KTX ์ฐจ๋Ÿ‰ ํ˜•๋ณ„ ์ œ์›์„ ๋ณด์—ฌ์ฃผ์„ธ์š”.                  (rolling-stock)
์ฒ ๋„ ๊ณ ๊ฐ์„ผํ„ฐ ์ƒ๋‹ด์œ ํ˜• ์ฝ”๋“œ๋ฅผ ์•Œ๋ ค์ฃผ์„ธ์š”.         (voc-cs)
์—ญ์‚ฌ ์ž„๋Œ€๋งค์žฅ ํ˜„ํ™ฉ์„ ์•Œ๋ ค์ฃผ์„ธ์š”.                  (internal-svc)
'EMU์šฉํ’ˆ' ์ž์žฌ๊ทธ๋ฃน์ฝ”๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•ด์ฃผ์„ธ์š”.            (procurement)
๊ฐ•๋‚จ์—ญ(์„œ์šธ๊ตํ†ต๊ณต์‚ฌ) ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ์œ„์น˜๋ฅผ ์•Œ๋ ค์ฃผ์„ธ์š”.  (urban-rail)
์„œ์šธ์—ญ ๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ๋“ค์˜ ์šด์˜๊ธฐ๊ด€์„ ์ฐพ์•„์ฃผ์„ธ์š”.    (urban-rail)

๐Ÿ“š ๋ฐ์ดํ„ฐ ์ถœ์ฒ˜

  • ํ•œ๊ตญ์ฒ ๋„๊ณต์‚ฌ ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ (data.go.kr)

  • ๊ตญ๊ฐ€์ฒ ๋„๊ณต๋‹จ(KRIC) ์ฒ ๋„์‚ฐ์—…์ •๋ณด์„ผํ„ฐ ์˜คํ”ˆAPI (openapi.kric.go.kr) โ€” ๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ์ •๋ณด

  • REST API(B551457) ยท odcloud ํŒŒ์ผ๋ณ€ํ™˜ API ยท ๋กœ์ปฌ CSV

โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ

  • ๋ฐ์ดํ„ฐ ํ˜ธ์ถœ์€ ์ „์šฉ Cloudflare Workers ํ”„๋ก์‹œ๋ฅผ ๊ฒฝ์œ ํ•˜๋ฏ€๋กœ ์ง์› ๊ฐœ์ธ API ํ‚ค๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.

  • ๊ฐ ๋ฐ์ดํ„ฐ์…‹์˜ ๊ธฐ์ค€์ผยท๊ฐฑ์‹ ์ฃผ๊ธฐ๋Š” ๋„๊ตฌ ์‘๋‹ต์˜ _meta ํ•ญ๋ชฉ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.


๊ฐ ์„œ๋ฒ„์˜ ์ƒ์„ธ ๋™์ž‘์€ ํ•ด๋‹น ํด๋”์˜ server.py docstring์„ ์ฐธ์กฐํ•˜์„ธ์š”.

Available Tools

98 tools
decode_freight_codeB

๋‚ด์ ํ™”๋ฌผ๋ถ„๋ฅ˜์ฝ”๋“œ โ†’ ํ•œ๊ธ€๋ช…/์˜๋ฌธ๋ช… ๋‹จ๊ฑด ๋””์ฝ”๋”ฉ.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the single-record ('๋‹จ๊ฑด') nature and the code-to-names mapping, which is useful. However, it does not mention behavior for unknown/invalid codes, return format details, or any error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler. The core semantic (input โ†’ output) is front-loaded and every word contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter lookup, the description covers the basic input/output relationship. But without an output schema, it would benefit from stating the expected response shape or behavior for missing codes. It is adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only specifies a 'code' parameter with a generic title. The description adds meaning by clarifying that the code is a domestic freight classification code, which is important context. However, it does not specify the expected format or provide examples, leaving some ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the verb (decode), the resource (domestic freight classification code), and the output (Korean/English names). It is distinct from sibling tools like decode_station_code and search_freight_code because it targets freight classification codes specifically, though it does not explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives. The description implies it is for decoding a single domestic freight code into names, but it does not state conditions for choosing it over search_freight_code or decode_station_code.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

decode_station_codeA

์—ญ์ฝ”๋“œ(์ˆซ์ž)๋กœ ์—ญ๋ช…์„ ์กฐํšŒ. ๋‹ค๋ฅธ MCP ์‘๋‹ต์—์„œ ์ฝ”๋“œ๊ฐ€ ๋‚˜์™”์„ ๋•Œ ์‚ฌ์šฉ. ์ฐจ์„ธ๋Œ€์˜ˆ์•ฝ๋ฐœ๋งค(75์—ญ)์™€ ์ฒ ๋„์šด์˜์ •๋ณด(1255์—ญ) ๋‘ ์‹œ์Šคํ…œ ๋™์‹œ ๊ฒ€์ƒ‰. ์˜ˆ: code='3900023'(์„œ์šธ), code='390'(๋ถ€๋ถ„๋งค์นญ ๊ฐ€๋Šฅ)

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses important behaviors: simultaneous search of two systems and partial matching capability. However, it does not mention output formatting or error behavior (e.g., what happens if code not found). Given the output schema exists, some return details are covered, but not all edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is compact, front-loaded with main purpose, then adds usage context, scope (two systems), and examples. No wasted words. Each sentence contributes essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter lookup with an output schema, the description covers the essential usage context, systems searched, and matching behavior. It could mention what happens on invalid codes or whether results are singular/multiple, but the output schema likely handles return value definition. Overall, a very complete description for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has zero description coverage (0%), so the description must fully clarify the parameter. It does so: defines 'code' as a station code (numeric), gives concrete examples with full and partial codes, and explains partial matching. This adds significant meaning beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool's purpose: lookup station name by reverse numeric code. It also specifies the use case (when a code appears from another MCP response) and distinguishes from the freight-code sibling by naming station codes specifically. Example formats reinforce the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear when-to-use guidance: 'use when a code appears from another MCP response'. It also notes both systems are searched and that partial matching is supported. However, it does not explicitly mention alternatives (e.g., search_station) or when not to use it, but the context is strong enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_accessible_facilitiesB

์—ญ ์ด๋ฆ„์œผ๋กœ ๊ตํ†ต์•ฝ์ž(์žฅ์• ์ธ) ํŽธ์˜์‹œ์„ค ์กฐํšŒ (B551457 ์‹ค์‹œ๊ฐ„ API). ํœ ์ฒด์–ด๋ฆฌํ”„ํŠธยท์žฅ์• ์ธ๊ฒฝ์‚ฌ๋กœยท์žฅ์• ์ธํ™”์žฅ์‹ค ์œ ๋ฌด. station_name: ์—ญ ์ด๋ฆ„ ๋ถ€๋ถ„์ผ์น˜ (์˜ˆ: '์„œ์šธ', '๋ถ€์‚ฐ') (EN: accessible/accessibility facilities for disabled and mobility-impaired passengers - wheelchair lift, accessible ramp, accessible restroom. JA: ไบค้€šๅผฑ่€…ใƒป้šœๅฎณ่€…ๅ‘ใ‘ไพฟๅฎœๆ–ฝ่จญ - ่ปŠๆค…ๅญใƒชใƒ•ใƒˆใ€ใ‚นใƒญใƒผใƒ—ใ€้šœๅฎณ่€…ใƒˆใ‚คใƒฌ) โ€ป ๋ฐ์ดํ„ฐ๊ธฐ์ค€์ผ: ์‹ค์‹œ๊ฐ„ API. ํ˜„์žฅ ๋ณ€๊ฒฝ์ด ์ฆ‰์‹œ ๋ฐ˜์˜๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ.

ParametersJSON Schema
NameRequiredDescriptionDefault
station_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the real-time nature and notes that on-site changes may not be immediately reflected. However, it doesn't mention authentication needs, rate limits, read-only nature (though implied by '์กฐํšŒ'), or behavior on empty results. It adds some transparency but leaves gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose. It then provides parameter details and a note about data recency. The multilingual translations (KR/EN/JA) add length but are useful for diverse agents. The structure is logical, though the translations could be trimmed without losing critical content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (single parameter) and the existence of an output schema, the description covers the main purpose, parameter semantics, and a data-lag caveat. It does not address how to handle ambiguous station names or when to prefer this over closely related siblings. Given the richness of nearby tools, this is a significant gap, though not fatal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no description for the parameter (coverage 0%). The description compensates by explaining that station_name supports partial match and provides examples ('์„œ์šธ', '๋ถ€์‚ฐ'). This adds meaning beyond the schema, but it doesn't clarify case sensitivity, multiple matches, or expected formats. It's helpful but not exhaustive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb '์กฐํšŒ' (lookup) and the resource, accessible facilities by station name, listing the specific facility types (wheelchair lift, accessible ramp, accessible restroom). It is specific enough to distinguish from many siblings, though it doesn't explicitly name an alternative. The mention of '์‹ค์‹œ๊ฐ„ API' and partial match adds clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to choose this tool over alternatives such as get_urban_amenity or get_station_facilities, which likely overlap. It doesn't mention exclusions or conditions. The only usage hint is the partial-match parameter explanation, which is not about tool selection. This leaves the agent without clear selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_advance_disclosureA

ํ™ˆํŽ˜์ด์ง€ ์‚ฌ์ „์ •๋ณด๊ณตํ‘œ ๋ชฉ๋ก ์กฐํšŒ.

๊ณตํ‘œ๋Œ€์ƒ, ๊ณตํ‘œ์‹œ๊ธฐ, ๋‹ด๋‹น๋ถ€์„œ ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๊ฒฝ์˜ ํˆฌ๋ช…์„ฑ ํ™•์ธ ๋˜๋Š” ํŠน์ • ๊ณตํ‘œ ํ•ญ๋ชฉ ํƒ์ƒ‰์— ํ™œ์šฉ.

keyword: ๊ณตํ‘œ๋Œ€์ƒ ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses that it returns specific fields and that keyword performs a partial match on disclosure target. However, it does not mention any mutations, error conditions, pagination, or limitations, which is acceptable for a read-only list tool but leaves some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: it states the purpose, outputs, usage context, and parameter meaning in just three sentences. It avoids unnecessary detail and front-loads the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one optional parameter) and the presence of an output schema, the description covers the essential aspects. It explains what the tool does and the parameter meaning. It could mention the return shape or how this relates to detail/files siblings, but the output schema presumably covers return values, making this sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the single parameter has no description. The tool description explicitly explains keyword as a partial match filter on ๊ณตํ‘œ๋Œ€์ƒ, adding meaningful semantics beyond the schema. This adequately compensates for the missing schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a list inquiry for advance disclosures on the homepage and enumerates the provided fields (๊ณตํ‘œ๋Œ€์ƒ, ๊ณตํ‘œ์‹œ๊ธฐ, ๋‹ด๋‹น๋ถ€์„œ ์ฝ”๋“œ). It also indicates use cases for transparency checks or searching items. While it doesn't explicitly differentiate from sibling detail/files tools, the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context on when to use it (management transparency check, searching specific disclosure items) but does not mention exclusions or alternatives. Sibling tools like get_advance_disclosure_detail and get_advance_disclosure_files exist but are not referenced, so the agent must infer when to choose this over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_advance_disclosure_detailA

ํ™ˆํŽ˜์ด์ง€ ์‚ฌ์ „์ •๋ณด๊ณตํ‘œ ์„ธ๋ถ€ ๋‚ด์—ญ ์กฐํšŒ.

๊ณตํ‘œ๋Œ€์ƒ ์ œ๋ชฉ, ๋‹ด๋‹น๋ถ€์„œ์ฝ”๋“œ, ์กฐํšŒ์ˆ˜๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

keyword: ์ œ๋ชฉ ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ dept_code: ๋‹ด๋‹น๋ถ€์„œ ์ฝ”๋“œ ์ผ์น˜ ํ•„ํ„ฐ

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNo
dept_codeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral disclosure burden. It does add useful behavior: keyword does partial-match filtering on title, dept_code does exact-match filtering, and the result includes title, department code, and view count. However, it does not disclose what happens when both filters are omitted, whether there is pagination, or any response-size/error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: the purpose appears first, then the returned fields, then the parameter semantics. Every line earns its place and there is no padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter lookup with an output schema, this is mostly complete: it explains what the tool returns and what each parameter does. The main missing context is a clear statement of how this detail tool differs from its advance-disclosure siblings, which is relevant given the large sibling list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must add meaning to the two parameters. It does: keyword is explained as a title partial-match filter and dept_code as a department-code exact-match filter. This goes well beyond the bare schema, though it does not specify the expected dept_code format or whether filters combine with AND logic.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (ํ™ˆํŽ˜์ด์ง€ ์‚ฌ์ „์ •๋ณด๊ณตํ‘œ ์„ธ๋ถ€ ๋‚ด์—ญ) and a query action (์กฐํšŒ), and lists the returned fields. It is clear enough on its own, though it does not explicitly distinguish itself from the closely related siblings get_advance_disclosure and get_advance_disclosure_files beyond the word 'detail'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance about when to choose this tool over get_advance_disclosure or get_advance_disclosure_files. It describes the available filters but not the intended scenario or how this detail-level query relates to the sibling list/file disclosure tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_advance_disclosure_filesC

ํ™ˆํŽ˜์ด์ง€ ์‚ฌ์ „์ •๋ณด๊ณตํ‘œ ์ฒจ๋ถ€ํŒŒ์ผ ๋ชฉ๋ก ์กฐํšŒ.

์ฒจ๋ถ€ํŒŒ์ผ๋ช…, ํŒŒ์ผ ํ™•์žฅ์ž, ์—ฐ๊ฒฐ๋œ ๊ณตํ‘œ๋Œ€์ƒ ๋ฒˆํ˜ธ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

keyword: ํŒŒ์ผ๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full burden of behavioral disclosure. It only states what fields are returned, but does not mention whether the operation is read-only, pagination, authentication, error behavior, or any side effects. This is a minimal description that adds little beyond the obvious 'list' function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short lines: purpose first, then output fields, then parameter hint. It is appropriately sized for a simple tool with one optional parameter, no filler, and front-loads the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional param) and an output schema (which describes return shape), the description covers the core function and the parameter. However, it lacks usage context (when to use siblings) and behavioral notes (e.g., read-only nature). For a basic lookup tool this is acceptable but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage, so the description must explain parameters. It does clarify that 'keyword' is a partial-match filter on file name ('ํŒŒ์ผ๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ'), which adds meaning beyond the bare 'string' type. However, it does not mention case sensitivity, encoding, or edge cases, so it is adequate but not rich.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the action ('์กฐํšŒ' โ€“ retrieve) and the resource ('์ฒจ๋ถ€ํŒŒ์ผ ๋ชฉ๋ก' โ€“ attachment file list for advance disclosures), and lists the provided fields (file name, extension, linked disclosure number). This distinguishes it from sibling tools like get_advance_disclosure and get_advance_disclosure_detail, though it does not explicitly name these alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives. It does not state conditions, exclusions, or prerequisites. The only usage-related hint is 'keyword: ํŒŒ์ผ๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ', which is a parameter explanation, not a usage guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cafeteria_menu_statsA

๊ตฌ๋‚ด์‹๋‹น ๋ฉ”๋‰ด ๊ฑด์ˆ˜ ํ˜„ํ™ฉ ์กฐํšŒ (33๊ฑด).

๊ฐ ๊ตฌ๋‚ด์‹๋‹น์˜ ์กฐ์‹ยท์ค‘์‹ยท์„์‹ ์‹๋‹จ ๋ผ์ธ ์ˆ˜(๋“ฑ๋ก๋œ ์‹๋‹จ ํ•ญ๋ชฉ ๊ฑด์ˆ˜)๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์šฉ์‚ฐ์—ญยท์„œ์šธ์—ญยท๋Œ€์ „์ถฉ๋‚จ๋ณธ๋ถ€ยท๋ถ€์‚ฐ์—ญยท์ธ์žฌ๊ฐœ๋ฐœ์› ๋“ฑ ์ „๊ตญ ์‹๋‹น ํฌํ•จ.

โ€ป '๋ฉ”๋‰ด ๊ฑด์ˆ˜'๋Š” ์‹ค์ œ ์š”๋ฆฌ ๊ฐ€์ง“์ˆ˜๊ฐ€ ์•„๋‹Œ ์‹๋‹จ ์ œ๊ณต ๋ผ์ธ ์ˆ˜์ž„์— ์œ ์˜. (์˜ˆ: ์ค‘์‹ 2๋ผ์ธ = A์ฝ”์ŠคยทB์ฝ”์Šค 2์ข… ์ œ๊ณต)

location: ์‹๋‹จ์ง€์—ญ๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "์„œ์šธ์—ญ", "๋ถ€์‚ฐ", "๋Œ€์ „", "๋ณธ์‚ฌ")

ParametersJSON Schema
NameRequiredDescriptionDefault
locationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds critical nuance: '๋ฉ”๋‰ด ๊ฑด์ˆ˜' is line count not dish count, clarifying what the numbers represent. It also states the geographic scope. While it does not mention output format or pagination, an output schema exists, and the read-only nature is implied by '์กฐํšŒ' (inquiry). The key behavioral nuance is effectively disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is laid out in a clear, front-loaded structure: a one-line summary, followed by scope, a crucial note, and parameter guidance. It is somewhat verbose but each sentence earns its placeโ€”the note about line counts vs dish counts is essential to prevent misinterpretation. The parameter explanation is directly actionable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is a simple stats query with one optional filter parameter, the description covers the essential aspects: what is returned (counts by meal and location), the semantic nuance, the filter behavior, and the coverage. It does not explicitly state that an empty location returns all locations, but that is reasonably implied. Since an output schema exists, return structure is handled separately. The description is sufficiently complete for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully explain the parameter. It does: location is described as a partial-match filter on cafeteria region name with concrete examples ('์„œ์šธ์—ญ', '๋ถ€์‚ฐ', '๋Œ€์ „', '๋ณธ์‚ฌ'). This goes well beyond the schema, which only specifies a string type and default. The agent can correctly construct filter values based on this guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('์กฐํšŒ' = inquiry) and names the resource (๊ตฌ๋‚ด์‹๋‹น ๋ฉ”๋‰ด ๊ฑด์ˆ˜ - cafeteria menu counts). It clearly distinguishes the metric: menu line counts per meal (์กฐ์‹ยท์ค‘์‹ยท์„์‹), not actual dish variety, and specifies the nationwide scope with example locations. No sibling tool appears related, so differentiation is inherently clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the tool's purpose and provides usage context via the location filter examples ('์„œ์šธ์—ญ', '๋ถ€์‚ฐ'). It does not explicitly mention when not to use it or alternative tools, but given the unique nature of the tool among siblings (no other cafeteria-related tool exists), the context is sufficient. The filter semantics are clearly described, making it easy for an agent to decide when to call this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_consultation_departmentsA

์ฒ ๋„ ๊ณ ๊ฐ์„ผํ„ฐ ๋‹ด๋‹น ๋ถ€์„œ(์—ญ) ๋ชฉ๋ก ์กฐํšŒ.

๋ณธ๋ถ€๋ช…, ๋‹ด๋‹น์„ผํ„ฐ๋ช…(์—ญ๋ช…), ํ‘œ๊ธฐ๋ช…์„ ์ œ๊ณตํ•œ๋‹ค.

headquarter: ๋ณธ๋ถ€๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "๊ฐ•์›", "๋Œ€๊ตฌ", "์„œ์šธ")

ParametersJSON Schema
NameRequiredDescriptionDefault
headquarterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description bears the full disclosure burden. It does convey the filter behavior (partial match) and the output fields, but it does not mention the effect of an empty headquarter parameter, ordering, pagination, or any required permissions. For a simple read operation this is acceptable, but it lacks richness given zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a compact parameter hint. Purpose is front-loaded, and every sentence adds valueโ€”no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return-type details are covered elsewhere. The description provides the primary selection criteria (headquarter) and what fields to expect. A slight gap is not stating that an empty headquarter returns all departments, but this is inferable; overall it's complete for a straightforward list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, leaving the headquarter parameter undocumented. The description steps in by explaining it as a '๋ณธ๋ถ€๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ' (partial-match filter) with concrete examples, giving the agent the meaning and usage beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb-object pair: '์ฒ ๋„ ๊ณ ๊ฐ์„ผํ„ฐ ๋‹ด๋‹น ๋ถ€์„œ(์—ญ) ๋ชฉ๋ก ์กฐํšŒ' (retrieve list of customer-center departments/stations). It also names the exact fields returned (headquarter, center name, display name), which clearly distinguishes it from siblings like get_consultation_types or get_support_departments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit comparison to alternatives is provided. The name and description imply it is for consultation-department data, and the filter example gives a sense of when to use it, but there is no stated exclusion (e.g., 'for other department lists use X'). It's adequate but leaves the routing decision mostly to the agent's inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_consultation_typesA

์ฒ ๋„ ๊ณ ๊ฐ์„ผํ„ฐ ์ƒ๋‹ด์œ ํ˜• ์ฝ”๋“œ ์กฐํšŒ.

์ƒ๋‹ด ๋Œ€๋ถ„๋ฅ˜(MAJOR_COUNSEL), ์ค‘๋ถ„๋ฅ˜(MINOR_COUNSEL), ๊ทธ๋ฃน๋ช…, ์ƒ๋‹ด์ฝ”๋“œ(COUNSEL_CODE), ์œ ํ˜•๋ช…์„ ์ œ๊ณตํ•œ๋‹ค.

keyword: ๊ทธ๋ฃน๋ช… ๋˜๋Š” ์œ ํ˜•๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "์šด์ž„", "์˜ˆ๋งค", "๋ถ„์‹ค")

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the full burden of behavioral disclosure. It states the tool is a '์กฐํšŒ' (lookup), implying read-only, and enumerates the output fields. However, it does not specify the return format, pagination, or any behavioral constraints. For a simple lookup, this is minimally adequate but lacks depth about potential limits or response structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two compact paragraphs: first states purpose and outputs, second explains the keyword parameter with examples. Every sentence earns its place, information is front-loaded, and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple lookup with one parameter and an output schema, the description is largely complete. It covers what, outputs, and parameter semantics. It does not mention usage context or limitations, but the output schema handles return values. Minor gap: lack of differentiation from sibling tools, but that falls under usage guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It thoroughly explains the single parameter 'keyword' as a partial match filter on group name or type name, with concrete examples (์šด์ž„, ์˜ˆ๋งค, ๋ถ„์‹ค). This adds significant meaning beyond the bare schema definition and fully clarifies the only parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves railway customer service consultation type codes and lists specific fields (major/minor classification, group name, code, type name). The verb '์กฐํšŒ' (retrieve) and resource are specific. However, it does not explicitly differentiate from the sibling tool get_consultation_departments, which is likely related, so it misses sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description does not mention any exclusionary conditions, alternatives, or prerequisites. It only explains the keyword parameter's purpose, which is parameter usage, not usage context. An agent has no hint that get_consultation_departments might be more appropriate for department codes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_customer_satisfaction_statsA

๊ณ ๊ฐ์˜์†Œ๋ฆฌ ๋งŒ์กฑ๋„ ์ผ๋ณ„ ํ†ต๊ณ„ ์กฐํšŒ.

์ฒ ๋„ ๊ณ ๊ฐ์„ผํ„ฐ ๋งŒ์กฑ๋„ ์กฐ์‚ฌ ๊ฒฐ๊ณผ๋ฅผ ์ผ๋ณ„๋กœ ์ œ๊ณตํ•œ๋‹ค. ์ฐธ์—ฌ์ˆ˜์™€ ํ‰๊ท  ์ ์ˆ˜(100์  ๋งŒ์ )๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

date_from / date_to: ์กฐ์‚ฌ์ผ์ž ๋ฒ”์œ„ (์˜ˆ: "2025-01-01", "2025-03-31") day_of_week: ์š”์ผ ํ•„ํ„ฐ (์˜ˆ: "์›”์š”์ผ", "ํ† ์š”์ผ")

ParametersJSON Schema
NameRequiredDescriptionDefault
date_toNo
date_fromNo
day_of_weekNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral aspects. It states that results are daily and include participation and average score, which is useful. However, it does not mention pagination, default date range handling, empty-parameter behavior, or any error conditions. For a read-only stats tool, this is adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the main purpose. It has a slight redundancy between the first line and the second paragraph, but overall it is efficient and structured with parameter explanations. No fluff, and it uses bullets for parameters for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists (not shown), so return values need not be detailed. However, the description does not mention any limits, pagination, or behavior when no data matches. It gives examples for parameters but not edge cases. For a moderately simple stats tool, it is adequate but could be more complete regarding default behavior and result interpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero descriptions for parameters, so the description effectively compensates. It explains date_from/date_to as the survey date range with example format, and day_of_week as a filter with example values. This adds meaningful semantics beyond the bare schema, though it does not clarify optionality or behavior when fields are empty, but the examples are helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the purpose: providing daily customer satisfaction statistics from the railroad customer center, including participation count and average score. The verb '์กฐํšŒ' (inquiry) and specific resource are clear, and the tool is unique among siblings, so no confusion with alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives domain context (railroad customer center satisfaction survey) but does not explicitly state when to use this tool versus others. There are no direct sibling tools for customer satisfaction, but it lacks explicit guidance on usage scenarios or exclusions. The context is clear enough for an agent to infer, but not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_dormitory_longterm_codesA

์ง์›์ˆ™์‚ฌ ์žฅ๊ธฐ์˜ˆ์•ฝ ์‚ฌ์œ  ์ฝ”๋“œ ์กฐํšŒ (15๊ฑด).

์žฅ๊ธฐ์ˆ™๋ฐ• ์˜ˆ์•ฝ ์‹œ ์‚ฌ์šฉ๋˜๋Š” ์‚ฌ์œ ์ฝ”๋“œ(๊ทธ๋ฃนยท๊ฐ’ยท๋ช…์นญ)๋ฅผ ์ œ๊ณตํ•œ๋‹ค. '์žฅ๊ธฐ'(๊ต์œก์ƒยท์ถœ์žฅ์žยท๋น„์—ฐ๊ณ ์ง€ ๋ฐœ๋ น ๋“ฑ)์™€ '๊ธฐํƒ€'(2๊ธ‰์ด์ƒยท์•ผ๊ฐ„๊ทผ๋ฌด ๋“ฑ) ๊ตฌ๋ถ„.

group: ์ฝ”๋“œ๊ทธ๋ฃน ํ•„ํ„ฐ (์˜ˆ: "์žฅ๊ธฐ", "๊ธฐํƒ€")

ParametersJSON Schema
NameRequiredDescriptionDefault
groupNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of behavioral disclosure. It discloses that the operation is an inquiry ('์กฐํšŒ'), that there are 15 records, and that the codes are categorized with specific fields. This is sufficient for a simple read-only lookup, though it does not state behavior when group is empty.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core purpose within the first line, and uses a clear bullet-style parameter explanation. There is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-optional-parameter code lookup, the description covers the essential context: purpose, result count, output semantics, and how to apply the filter. The output schema is present, so return format need not be re-explicated. A small gap is not clarifying what happens when group is omitted, but the schema default already suggests empty means unfiltered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only a parameter title and no description (0% coverage). The description compensates by explaining 'group' as a code group filter with concrete examples ('์žฅ๊ธฐ', '๊ธฐํƒ€'), adding meaning beyond the raw schema. It does not exhaustively list valid values, but enough information is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a precise verb and resource: ์กฐํšŒ (retrieval) of employee dormitory long-term reservation reason codes. It goes beyond a simple label by specifying the output shape (group/value/name) and the distinction between '์žฅ๊ธฐ' and '๊ธฐํƒ€', making the tool's function unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use this tool: when querying reason codes for long-term dormitory reservations. It provides a group filter with examples but does not explicitly mention alternatives or exclusions; however, the domain is specific enough that no ambiguity remains.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_freight_carriageA

ํ™”๋ฌผ์—ด์ฐจ ์ˆ˜์†ก์‹ค์  ์กฐํšŒ. ๋ฐœ์†ก์—ญ~๋„์ฐฉ์—ญ ๊ตฌ๊ฐ„๋ณ„ ํ™”๋ฌผ ๋ฐœ์†กํ†คยท์šด์†ก์—ฐํ†คํ‚ค๋กœ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ™”๋ฌผ๊ตฌ๋ถ„ยทํ’ˆ๋ชฉ(๋Œ€/์ค‘/์†Œ๋ถ„๋ฅ˜)๋ณ„ ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅ.

Args: crtr_ymd: ํŠน์ • ๊ธฐ์ค€์ผ์ž (YYYYMMDD). ์ž…๋ ฅ ์‹œ ํ•ด๋‹น ๋‚ ์งœ๋งŒ ์กฐํšŒ. crtr_ymd_gte: ๊ธฐ์ค€์ผ์ž ์‹œ์ž‘ (YYYYMMDD, ์ดํ›„) crtr_ymd_lte: ๊ธฐ์ค€์ผ์ž ์ข…๋ฃŒ (YYYYMMDD, ์ด์ „) sndng_stn_cd: ๋ฐœ์†ก์—ญ์ฝ”๋“œ (์˜ˆ: "3900090"=์•ฝ๋ชฉ) sndng_stn_nm: ๋ฐœ์†ก์—ญ๋ช… (์˜ˆ: "์•ฝ๋ชฉ") arvl_stn_cd: ๋„์ฐฉ์—ญ์ฝ”๋“œ (์˜ˆ: "3900113"=๋ถ€์‚ฐ์ง„) arvl_stn_nm: ๋„์ฐฉ์—ญ๋ช… (์˜ˆ: "๋ถ€์‚ฐ์ง„") item_lclsf_cd: ํ’ˆ๋ชฉ๋Œ€๋ถ„๋ฅ˜์ฝ”๋“œ (์˜ˆ: "110") item_mclsf_cd: ํ’ˆ๋ชฉ์ค‘๋ถ„๋ฅ˜์ฝ”๋“œ (์˜ˆ: "111") item_sclsf_cd: ํ’ˆ๋ชฉ์†Œ๋ถ„๋ฅ˜์ฝ”๋“œ (์˜ˆ: "1111")

ParametersJSON Schema
NameRequiredDescriptionDefault
crtr_ymdNo
arvl_stn_cdNo
arvl_stn_nmNo
crtr_ymd_gteNo
crtr_ymd_lteNo
sndng_stn_cdNo
sndng_stn_nmNo
item_lclsf_cdNo
item_mclsf_cdNo
item_sclsf_cdNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses that the tool returns dispatch tons and ton-km, and that it supports date/station/item filtering, but does not mention response format, pagination, or default behavior when no filters are set. Not contradictory, but incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured: a two-sentence Korean intro states purpose and capabilities, followed by a clear Args list with definitions. No redundant or filler content; front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all parameters and indicates the returned data (ton and ton-km). It leaves ambiguity about default behavior when no date filters are provided and whether station code vs name are required, and doesn't clarify output structure, though an output schema exists. Overall slightly incomplete for a 10-optional-param tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description compensates fully by explaining each of the 10 parameters, including format (YYYYMMDD), meaning (gte/lte), and concrete examples like '3900090'=์•ฝ๋ชฉ. This adds significant value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool queries freight train transport performance (ํ™”๋ฌผ์—ด์ฐจ ์ˆ˜์†ก์‹ค์  ์กฐํšŒ), providing dispatch tons and transport ton-km for station-to-station segments, with filtering by freight classification and item categories. This distinguishes it from siblings like get_freight_items (item list) or search_freight_code (code lookup).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving freight performance statistics, but does not explicitly state when to use it versus alternatives or exclude certain cases. It provides context (segment-based performance with date/item filters) but no direct 'use this when' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_freight_itemsA

ํ™”๋ฌผ ํ’ˆ๋ชฉ์ •๋ณด ์กฐํšŒ (์ด 861๊ฑด, ๋กœ์ปฌ CSV).

ํ’ˆ๋ชฉ์ฝ”๋“œยทํ’ˆ๋ชฉ๋ช…ยทํ’ˆ๋ชฉ์•ฝ์–ด๋ช…ยท์ตœ์ €ํ†ค์ˆ˜์œจ ์ •๋ณด. ๊ณ„์ธตํ˜• ์ฝ”๋“œ ๊ตฌ์กฐ (์ƒ์œ„ 0000, ์ค‘์œ„ 00, ํ•˜์œ„ 01~99). ๋นˆ query์‹œ ์ƒ์œ„ ํ•ญ๋ชฉ๋ถ€ํ„ฐ limit ๋ฐ˜ํ™˜.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does disclose the local CSV source and the 861-record scope, and implies a read-only operation, but never explicitly states it's non-destructive, doesn't describe the return format (a flat list vs. nested hierarchy), and doesn't mention pagination beyond the limit parameter behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the purpose. The record count (861๊ฑด) and local CSV source are useful context. Not verbose, though the hierarchical code detail could arguably be moved to a usage note without losing purpose clarity, keeping it compact overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should cover return format, error cases, and parameter semantics more thoroughly. It covers data fields, hierarchy, and empty-query behavior but omits what the response looks like (e.g., a single flat item table), how query matches (prefix, partial, exact), and any edge cases. Adequate for basic usage but not fully complete for a 2-param lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the query parameter's behavior (empty query returns top-level items first) and the hierarchical structure of codes, which adds meaning beyond the bare schema. It doesn't fully document the limit parameter semantics though, which is a minor gap given the description clarifies the core query behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a clear verb+resource pattern (ํ™”๋ฌผ ํ’ˆ๋ชฉ์ •๋ณด ์กฐํšŒ, freight item info lookup) and specifies the data fields (ํ’ˆ๋ชฉ์ฝ”๋“œยทํ’ˆ๋ชฉ๋ช…ยทํ’ˆ๋ชฉ์•ฝ์–ด๋ช…ยท์ตœ์ €ํ†ค์ˆ˜์œจ). It distinguishes itself from sibling tools like search_freight_code and decode_freight_code by being a list/lookup tool rather than a code search/decoder, though it doesn't name those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the empty-query behavior (๋นˆ query์‹œ ์ƒ์œ„ ํ•ญ๋ชฉ๋ถ€ํ„ฐ limit ๋ฐ˜ํ™˜) and the hierarchical code structure, giving an agent context on how the query parameter behaves. However, it doesn't contrast with alternative freight-related tools (search_freight_code, decode_freight_code, list_freight_work_lines), so an agent may not know when to pick this over those.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_freight_minimum_fareA

ํ™”๋ฌผ ์šด์†ก ์ตœ์ €์šด์ž„ ๊ธฐ์ค€ ์ •๋ณด๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. (์ด 7๊ฑด โ€” ์—ญ์‚ฌ์  ์ด๋ ฅ ํฌํ•จ)

Args: fare_type: ์šด์ž„์š”๊ธˆ์œ ํ˜• (์˜ˆ: "์ตœ์ €์šด์ž„"). ์—†์œผ๋ฉด ์ „์ฒด. classification_no: ๋ถ„๋ฅ˜๋ฒˆํ˜ธ (์˜ˆ: "10", "20", "30"). ์—†์œผ๋ฉด ์ „์ฒด. current_only: True๋ฉด ์ ์šฉ์ข…๋ฃŒ์ผ์ž๊ฐ€ 2100๋…„ ์ดํ›„์ธ ํ˜„์žฌ ์œ ํšจ ์šด์ž„๋งŒ ๋ฐ˜ํ™˜.

Returns: ์šด์ž„์š”๊ธˆ์œ ํ˜•, ๋ถ„๋ฅ˜๋ฒˆํ˜ธ, ๋ถ„๋ฅ˜๋ฒˆํ˜ธ๋‚ด์šฉ, ์ ์šฉ์ตœ์ €์šด์ž„(์›), ์ ์šฉ์‹œ์ž‘์ผ์ž, ์ ์šฉ์ข…๋ฃŒ์ผ์ž.

ParametersJSON Schema
NameRequiredDescriptionDefault
fare_typeNo
current_onlyNo
classification_noNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden and does well beyond a bare statement: it reveals historical data is included, defines current_only as filtering to entries with an end date after 2100, and lists the returned fields. The term '์กฐํšŒ' implies a read operation, though it does not spell out read-only behavior explicitly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description opens with a concise purpose statement and then uses clearly organized Args and Returns sections. Every sentence adds semantic value, and there is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with three optional parameters and no output schema, the description supplies the essential information: filters, defaults, and return columns. It is only slightly incomplete in not addressing when to prefer this over similar freight-rate siblings and in omitting empty/error behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description fully compensates by explaining each parameter: fare_type with an example, classification_no with example values, and current_only with precise conditional semantics. No parameter is left undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource ('์กฐํšŒํ•ฉ๋‹ˆ๋‹ค' for freight minimum fare standard info) and includes the notable detail that 7 records including historical history are returned. It is clear, but it does not explicitly distinguish itself from the similar sibling get_freight_rate, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. The Args section explains parameter defaults and the current_only filter, but there is no mention of when this tool should be chosen over related freight or rate tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_freight_rateA

์ฒ ๋„ ํ™”๋ฌผ ์ž„์œจ(ton-km ๊ธฐ์ค€ ์šด์ž„ ์š”์œจ) ์ •๋ณด๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. (์ „์ฒด 249๊ฑด, ํ˜„์žฌ ์œ ํšจ ์•ฝ 123๊ฑด)

Args: category: ์‹ ์ฒญ๊ตฌ๋ถ„ (์˜ˆ: "์ผ๋ฐ˜", "์ปจํ…Œ์ด๋„ˆ"). ์—†์œผ๋ฉด ์ „์ฒด. classification_no: ๋ถ„๋ฅ˜๋ฒˆํ˜ธ (์˜ˆ: "10", "1001", "1021"). ์—†์œผ๋ฉด ์ „์ฒด. current_only: True๋ฉด ํ˜„์žฌ ์ ์šฉ ์ค‘์ธ ์ž„์œจ๋งŒ ๋ฐ˜ํ™˜ (์ ์šฉ์ข…๋ฃŒ์ผ์ž 2100 ์ดํ›„). ๊ธฐ๋ณธ True. โ€ป ๋ถ„๋ฅ˜๋ฒˆํ˜ธ 1xxx๋Š” ์ปจํ…Œ์ด๋„ˆ ์ž„์œจ. 10~80๋ฒˆ๋Œ€๋Š” ์ผ๋ฐ˜ ํ™”๋ฌผ ์ž„์œจ.

Returns: ์‹ ์ฒญ๊ตฌ๋ถ„, ๋ถ„๋ฅ˜๋ฒˆํ˜ธ, ๋ถ„๋ฅ˜๋ฒˆํ˜ธ๋‚ด์šฉ(ํ™”๋ฌผ ์œ ํ˜• ์„ค๋ช…), ์ ์šฉ์ž„์œจ(์›/ton-km), ์ปจํ…Œ์ด๋„ˆ๊ทœ๊ฒฉ๋‚ด์šฉ, ์ ์šฉ๊ธฐ๊ฐ„.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo
current_onlyNo
classification_noNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden โ€” and it meets it: it discloses the filtering rule for current_only (applied-end date after 2100), the valid-versus-total record counts, and the exact return fields. This gives an agent real behavioral expectations beyond a bare 'query rates' statement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Cleanly organized with Args and Returns sections, purpose front-loaded, and every line earns its place โ€” the record-count context and the container-rate note are genuinely useful. Minor verbosity in the parentheticals but nothing disposable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description carries the full weight and covers return values explicitly (์‹ ์ฒญ๊ตฌ๋ถ„, ๋ถ„๋ฅ˜๋ฒˆํ˜ธ, ์ ์šฉ์ž„์œจ, etc.) plus filter semantics. Nothing an agent needs to invoke it correctly is missing for a simple query tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully compensate, and it does: every parameter is explained with concrete examples ('์ผ๋ฐ˜', '์ปจํ…Œ์ด๋„ˆ', '10', '1001'), plus a non-obvious domain note that 1xxx classification numbers are container rates while 10~80 are general freight โ€” knowledge not derivable from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (์กฐํšŒ/query) plus a precise resource, ์ฒ ๋„ ํ™”๋ฌผ ์ž„์œจ (rail freight rate on ton-km basis), and scopes it clearly. Despite many freight siblings (get_freight_minimum_fare, get_freight_items, get_freight_carriage), the ton-km rate focus sets it apart without needing any schema inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Documents the three filter parameters thoroughly and implies they are optional filters, but never contrasts this tool with the freight siblings, nor states when to prefer it over get_freight_minimum_fare or search_freight_code. Usage is implied rather than explicitly routed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_hazardous_cargoA

์œ„ํ—˜๋ฌผ ์ •๋ณด ์กฐํšŒ (๋กœ์ปฌ CSV, 2025.09.15 ๊ธฐ์ค€).

์œ„ํ—˜๋ฌผ๋ถ„๋ฅ˜๊ธฐ์ค€(52๊ฑด) + ์œ„ํ—˜๋ฌผ์ฝ”๋“œ์ƒ์„ธ(2301๊ฑด) ๋‘ ํ…Œ์ด๋ธ”์„ ํ†ตํ•ฉ ์กฐํšŒ.

  • query: ์œ ์—”์œ„ํ—˜๋ฌผ ํ•œ๊ธ€๋ช… ๋˜๋Š” ๋ฒˆํ˜ธ ๋ถ€๋ถ„์ผ์น˜ ๊ฒ€์ƒ‰ (์˜ˆ: '๊ฐ€์Šค', '์•„์„ธํ‹ธ๋ Œ', '1001')

  • grade: ์œ„ํ—˜๋ฌผ๋“ฑ๊ธ‰๋ฒˆํ˜ธ ์ •ํ™•์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: '1'=ํญ๋ฐœ๋ฌผ, '2'=๊ฐ€์Šค, '3'=์ธํ™”์„ฑ์•ก์ฒด)

  • limit: ์ตœ๋Œ€ ๋ฐ˜ํ™˜ ๊ฑด์ˆ˜ (๊ธฐ๋ณธ 50)

์œ„ํ—˜๋ฌผ ๋“ฑ๊ธ‰ ์•ˆ๋‚ด: 1=ํญ๋ฐœ๋ฌผ, 2=๊ฐ€์Šค(์ธํ™”์„ฑยท๋…์„ฑ), 3=์ธํ™”์„ฑ์•ก์ฒด, 4=๊ฐ€์—ฐ์„ฑ๊ณ ์ฒด, 5=์‚ฐํ™”์„ฑ๋ฌผ์งˆ, 6=๋…์„ฑ๋ฌผ์งˆ, 7=๋ฐฉ์‚ฌ์„ฑ๋ฌผ์งˆ, 8=๋ถ€์‹์„ฑ๋ฌผ์งˆ, 9=๊ธฐํƒ€์œ„ํ—˜๋ฌผ

ParametersJSON Schema
NameRequiredDescriptionDefault
gradeNo
limitNo
queryNo

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description fully carries the behavioral disclosure burden. It reveals the data source (local CSV), as-of date, the two-table integration, and the matching semantics (partial vs exact). However, it does not mention the return format, error behavior, or performance implications, which would be useful. For a read-only query tool, the provided info is adequate but leaves some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and structured. It opens with the core purpose, then lists parameters in a clear dash-bullet format, and closes with a useful grade legend. The grade legend is slightly tangential but helpful for parameter values. Overall, every part serves a purpose, though it could be tightened slightly by moving the legend into the grade parameter description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and a moderate complexity (joining two tables), the description explains how to query but omits what the response looks like (fields, structure). It also doesn't specify pagination or total result counts beyond the limit parameter. This is a notable gap for an agent needing to interpret results, but for a simple lookup it's not severely impaired.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description is the sole source of parameter meaning. It explains all three parameters (query, grade, limit) with concrete examples ('๊ฐ€์Šค', '์•„์„ธํ‹ธ๋ Œ', '1001'), grade mapping, and a default limit value. This adds substantial value beyond the bare schema, fully compensating for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: retrieving hazardous cargo information from a local CSV (as of 2025.09.15), integrating two specific tables. This is distinct from all sibling tools, none of which relate to hazardous materials, so there's no ambiguity about what it does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides detailed usage for each parameter (query, grade, limit) with examples and default values, which effectively guides the agent in invoking the tool. While it doesn't explicitly state 'use this when you need hazardous cargo data,' the unique domain among siblings makes this implicit, and the parameter-level guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_homepage_deptA

KORAIL ํ™ˆํŽ˜์ด์ง€ ๋ถ€์„œ ์ •๋ณด ์กฐํšŒ (์ „์ฒด ์•ฝ 500๊ฑด).

๋ถ€์„œ๋ช…(DEPT_NM), ๋ถ€์„œ์ฝ”๋“œ(DEPT_CODE), ์ƒ์œ„๋ถ€์„œ์ฝ”๋“œ(UPPER_DEPT_CODE)๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

keyword: ๋ถ€์„œ๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "๋ณธ๋ถ€", "์ฒ˜", "๋‹จ", "TF") โ€ป ์ „์ฒด ๋ฐ์ดํ„ฐ๊ฐ€ ํฌ๋ฏ€๋กœ keyword ์—†์ด ํ˜ธ์ถœํ•˜๋ฉด ์ฒ˜์Œ 200๊ฑด๋งŒ ๋ฐ˜ํ™˜๋จ. ์ „์ฒด ์กฐํšŒ๊ฐ€ ํ•„์š”ํ•˜๋ฉด keyword๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋‚˜๋ˆ  ํ˜ธ์ถœํ•  ๊ฒƒ.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the behavioral disclosure burden. It explicitly discloses that omitting keyword returns only the first 200 records and recommends splitting calls for full retrieval, which is non-obvious and valuable. It does not mention other behavioral aspects like auth or rate limits, but for a read-only lookup this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: the purpose statement comes first, followed by field details, then a clearly formatted keyword note with an important pagination warning. Every sentence earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a single optional parameter and an output schema, the description covers everything an agent needs: the returned fields, how the parameter behaves, and the limitation of unfiltered queries. No critical information is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage for the 'keyword' parameter, so the description must compensate. It does so by explaining it as a partial-match filter on department name, providing examples, and explaining the consequence of omission. This adds substantial meaning beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it queries KORAIL homepage department information and lists the exact fields returned (DEPT_NM, DEPT_CODE, UPPER_DEPT_CODE). The verb and resource are specific, though it does not explicitly distinguish from sibling department-related tools like get_consultation_departments or get_info_disclosure_dept.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It only covers how to use the keyword parameter (partial-match filtering and the 200-record limit), but does not address tool selection or exclusion scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_homepage_positionB

KORAIL ํ™ˆํŽ˜์ด์ง€ ์ง์ฑ… ์ฝ”๋“œ ์กฐํšŒ.

์ง์ฑ… ID, ์ง์ฑ…๋ช…, ์ง์ฑ…์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

keyword: ์ง์ฑ…๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the output fields and the keyword filter behavior, but does not explicitly confirm it is read-only, nor mention side effects, pagination, or handling of empty keyword. Over a '์กฐํšŒ' (inquiry) verb implies non-mutating, but it is not explicit, and no additional behavioral context is given.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short lines with no filler. It front-loads the purpose and then explains the parameter. Every sentence adds value and there is zero redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter lookup, the description is mostly sufficient: it states the returned data and the filter meaning. However, it does not mention what happens when keyword is empty (e.g., returns all or none) or offer any alternative tools, leaving minor gaps that an agent might need to infer. The presence of an output schema covers the return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains the only parameter, 'keyword', as a partial match filter on job title name, which adds meaning beyond the schema's generic 'Keyword' label. It does not specify details like case sensitivity or behavior when empty, but the core semantics are clearly conveyed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool inquires about KORAIL homepage job position codes and lists the returned fields (ID, name, code). It is specific about the resource and action, though it does not contrast with sibling code-lookup tools, leaving some potential ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. The description does not mention that it is specifically for homepage positions, nor does it offer exclusions or point to sibling tools like get_job_grades. The usage context is only implied by the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_info_disclosure_codesA

์ •๋ณด๊ณต๊ฐœ ์‹œ์Šคํ…œ ๊ณตํ†ต์ฝ”๋“œ ์กฐํšŒ.

๋ถ„๋ฅ˜์ฝ”๋“œ(CODETYPE), ๋ถ„๋ฅ˜์ฝ”๋“œ๋ช…(CODENAME), ์‚ฌ์šฉ์—ฌ๋ถ€๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

code_type: CODETYPE ์ผ์น˜ ํ•„ํ„ฐ (๋นˆ๊ฐ’=์ „์ฒด)

ParametersJSON Schema
NameRequiredDescriptionDefault
code_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the returned fields and the filter behavior (empty value = all), providing basic transparency. However, it does not mention whether the operation is read-only, any access requirements, or the response shape beyond the output schema, so it is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and efficient, with each line serving a purpose: it states the resource, the returned fields, and the parameter semantics. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple lookup tool with an existing output schema, the description covers what it returns and how to filter. It lacks explicit mention of read-only behavior or edge cases, but is largely complete for its simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter code_type is explained beyond the schema: it is a filter matching CODETYPE and that an empty value means all. Since schema description coverage is 0%, this description adds meaningful semantic value that the schema lacks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states this tool retrieves common codes for the information disclosure system, and lists the fields provided (CODETYPE, CODENAME, usage status). While this distinguishes it from other code-lookup siblings by naming a specific system, it does not explicitly contrast itself with those siblings, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. It does not mention any conditions, prerequisites, or reference other code-lookup tools, leaving the agent to infer the appropriate context from the tool name and sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_info_disclosure_deptA

์ •๋ณด๊ณต๊ฐœ ๋‹ด๋‹น ๋ถ€์„œ ๋ชฉ๋ก ์กฐํšŒ.

๋ถ€์„œ์ฝ”๋“œ, ๋ถ€์„œ๋ช…, ์ƒ์œ„๋ถ€์„œ๋ช…(์˜๋ฌธ)์„ ์ œ๊ณตํ•œ๋‹ค.

keyword: ๋ถ€์„œ๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral burden. '์กฐํšŒ' indicates a read operation and the description lists output fields, but it does not disclose any potential side effects, error behavior, or special constraints beyond the keyword filter. For a simple list retrieval this is acceptable but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, completing its message in three short lines. It front-loads the purpose and fields, then explains the keyword. No filler or redundant content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity tool with one optional parameter and an output schema (which defines the return structure), the description covers purpose, returned fields, and parameter behavior. Nothing essential for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explicitly explains the sole parameter 'keyword' as a partial-match filter on department name (๋ถ€์„œ๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ), adding meaning beyond the schema's bare definition. This is clear and sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (์กฐํšŒ/retrieve) and resource (์ •๋ณด๊ณต๊ฐœ ๋‹ด๋‹น ๋ถ€์„œ ๋ชฉ๋ก/list of information disclosure departments), and lists the specific fields returned (๋ถ€์„œ์ฝ”๋“œ, ๋ถ€์„œ๋ช…, ์ƒ์œ„๋ถ€์„œ๋ช…). This distinguishes it from sibling department-list tools like get_consultation_departments and get_homepage_dept by its specific scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, nor any exclusions or context. The description only states what it does and the keyword filter; an agent has to infer when it would be appropriate compared to other department or lookup tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_job_gradesA

์ง๊ธ‰ ์ฝ”๋“œ ์ •๋ณด ์กฐํšŒ (109๊ฑด).

์ง๊ธ‰๋“ฑ๊ธ‰(1~10๊ธ‰), ์ง๊ธ‰๋ช…, ์ง๊ธ‰์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์‚ฌ๋ฌดยท๊ธฐ์ˆ ยท์ฐจ๋Ÿ‰ยท์šด์ „ยท์ „๊ธฐํ†ต์‹ ยทํ† ๋ชฉยท๊ฑด์ถ•ยทํŠน์ˆ˜ยท์—ด์ฐจ์Šน๋ฌดยท๋ฌผ๋ฅ˜์˜์—… ๋“ฑ ์ง์ข…๋ณ„ ๊ตฌ๋ถ„.

grade_level: ์ง๊ธ‰๋“ฑ๊ธ‰ ์ •ํ™•์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: 3 โ†’ 3๊ธ‰ ์ „์ฒด) keyword: ์ง๊ธ‰๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "์šด์ „", "์ฐจ๋Ÿ‰", "์‚ฌ๋ฌด์˜์—…")

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNo
grade_levelNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral disclosure burden. It discloses the data scope (109 records, what fields exist, job-category breakdown), which is useful. However, it doesn't explicitly state note whether the operation is read-only, whether it supports pagination, or what the exact output shape is beyond the field list. Since an output schema exists, some of this burden is reduced, but the description could still state that it's a safe lookup.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tightly structured with a summary line, a data-overview line, and clearly separated parameter documentation. The Korean formatting is compact, front-loads the purpose, and every sentence earns its place. The parameter blocks are formatted simply and readably.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple lookup tool with an output schema present, the description is nearly complete. Both parameters are fully documented with default values visible in the schema, the result content is described, and the 109-item scope sets expectations. The only minor gap is that the output schema presumably covers the return shape, so nothing critical is missing. Slight deduction for not explicitly stating that the operation is non-destructive, but with an output schema and no mutation verbs in the description, this is a minor omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description fully compensates. Both parameters are documented in detail with semantics and concrete examples: grade_level is exact-match (์˜ˆ: 3 โ†’ 3๊ธ‰ ์ „์ฒด), keyword is partial-match (์˜ˆ: '์šด์ „', '์ฐจ๋Ÿ‰', '์‚ฌ๋ฌด์˜์—…'). The examples make filter behavior unambiguous. This is exemplary parameter documentation with zero coverage in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear specific verb-resource pair ('์ง๊ธ‰ ์ฝ”๋“œ ์ •๋ณด ์กฐํšŒ' - retrieve job grade code information) and lists exactly what is returned: grade level, grade name, and grade code. It also specifies the number of records (109๊ฑด) and the categories covered. It doesn't explicitly differentiate from siblings, but among a list of lookup tools, its domain (job grades) is clearly its own.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the description being a lookup/retrieval tool, but there is no explicit when/when-not guidance or mention of alternatives. For a simple reference-data lookup among many sibling get_* code and department tools, the context is clear enough that an agent can infer when to call it (when grade info is needed), but it doesn't explicitly state exclusions or preferred alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ktx_long_term_statsA

KTX ์žฅ๊ธฐ ํ†ต๊ณ„ ์กฐํšŒ (2004~2023๋…„, ๋กœ์ปฌ XLSX).

๊ฒฝ๋ถ€์„ (์„œ์šธ-๋ถ€์‚ฐ)ยทํ˜ธ๋‚จ์„ (์šฉ์‚ฐ-๋ชฉํฌ) 2๊ฐœ ๋…ธ์„ ์˜ 20๋…„ ์—ญ์‚ฌ ๋ฐ์ดํ„ฐ.

category ์„ ํƒ: "์šดํ–‰ํšŸ์ˆ˜_์ฃผ์ค‘" โ€” ํ™”์š”์ผ ๊ธฐ์ค€ ํŽธ๋„ ์šดํ–‰ ํšŸ์ˆ˜ (๋‹จ์œ„: ํšŒ) "์šดํ–‰ํšŸ์ˆ˜_์ฃผ๋ง" โ€” ํ† ์š”์ผ ๊ธฐ์ค€ ํŽธ๋„ ์šดํ–‰ ํšŸ์ˆ˜ (๋‹จ์œ„: ํšŒ) "์šด์ž„_์›" โ€” ํ•ด๋‹น ์—ฐ๋„ ์šด์ž„ (๋‹จ์œ„: ์›, ์„œ์šธ-๋ถ€์‚ฐยท์šฉ์‚ฐ-๋ชฉํฌ ๊ธฐ์ค€) "์ด์šฉ๊ฐ_์ฒœ๋ช…์›”" โ€” ์›”ํ‰๊ท  ์ด์šฉ๊ฐ ์ˆ˜ (๋‹จ์œ„: ์ฒœ๋ช…/์›”) ๋นˆ๊ฐ’ โ€” ์œ„ 4๊ฐœ ์นดํ…Œ๊ณ ๋ฆฌ ์ „์ฒด ๋ฐ˜ํ™˜

route: "๊ฒฝ๋ถ€์„ " | "ํ˜ธ๋‚จ์„ " ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (๋นˆ๊ฐ’=์ „์ฒด) year_from / year_to: ์—ฐ๋„ ๋ฒ”์œ„ ํ•„ํ„ฐ (์˜ˆ: year_from=2010, year_to=2019)

ParametersJSON Schema
NameRequiredDescriptionDefault
routeNo
year_toNo
categoryNo
year_fromNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses that data comes from a local XLSX file, explains partial matching for route, and defines the default behavior of returning all categories when category is empty. However, it does not mention performance, authentication, or error handling, leaving some transparency gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a header, scope statement, and bullet-point-like list for category values, followed by concise explanations for route and years. It is front-loaded with the purpose and avoids redundancy, though it could be slightly tighter by combining the year filter explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all parameters and data scope, and the output schema exists, so return format is not needed. However, it leaves a gap: the defaults for year_from/year_to are ambiguousโ€”the schema defaults to 0, but the description does not explicitly state that an empty or zero value means 'all years' (unlike category and route where it clearly states empty means all). This is a notable missing detail for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description fully compensates. It explains every parameter: category with four specific values and a default of returning all, route with partial match and default of all, and year_from/year_to with an example range. This adds substantial meaning beyond the bare schema types and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves KTX long-term statistics (2004-2023) for two specific routes, with a clear verb ('์กฐํšŒ' = query) and resource. It distinguishes from sibling tools by being KTX-specific and long-term, and lists the exact data categories and data source (local XLSX).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (for querying KTX long-term stats) but does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions. While the tool's specificity makes the choice obvious, there is no guidance on when not to use it or which sibling might be more appropriate for other statistics.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ktx_stationsA

KTX ๋…ธ์„ ๋ณ„ ์—ญ ์ •๋ณด(์—ญ๋ช…, ๋„๋กœ๋ช…์ฃผ์†Œ, ์ •์ฐจ ์ˆœ๋ฒˆ)๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. (์ด 102๊ฑด)

Args: line_name: KTX ๋…ธ์„ ๋ช… ๋ถ€๋ถ„ ์ผ์น˜ (์˜ˆ: "๊ฒฝ๋ถ€์„ ", "ํ˜ธ๋‚จ์„ ", "๊ฒฝ์ „์„ "). ์—†์œผ๋ฉด ์ „์ฒด. station_name: ์—ญ๋ช… ๋ถ€๋ถ„ ์ผ์น˜ (์˜ˆ: "์„œ์šธ", "๋ถ€์‚ฐ", "๊ด‘๋ช…"). ์—†์œผ๋ฉด ํ•„ํ„ฐ ์—†์Œ.

Returns: ๊ณ ์†์ฒ ๋„๋ช…, ์ฒ ๋„์šด์˜๊ธฐ๊ด€, ๋…ธ์„ ๋ช…, ์ˆœ๋ฒˆ, ์—ญ๋ช…, ์ฃผ์†Œ(๋„๋กœ๋ช…) ๋ชฉ๋ก.

ParametersJSON Schema
NameRequiredDescriptionDefault
line_nameNo
station_nameNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It discloses the result count (์ด 102๊ฑด), the return fields (๊ณ ์†์ฒ ๋„๋ช…, ์ฒ ๋„์šด์˜๊ธฐ๊ด€, ๋…ธ์„ ๋ช…, ์ˆœ๋ฒˆ, ์—ญ๋ช…, ์ฃผ์†Œ(๋„๋กœ๋ช…) ๋ชฉ๋ก), and the partial-match filtering behavior for both parameters. However, it does not explicitly state that the operation is read-only, nor does it mention error conditions or side effects, which is a gap given the lack of annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a one-line summary, an Args block with each parameter explained individually, and a Returns block. No redundant or filler content. The most important information is front-loaded in the first sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple lookup tool with two optional filters, the description is nearly complete. It states what is returned, how to filter, and the total record count. The only minor omission is an explicit note that results are limited to KTX stations (though that is evident from the name) and no mention of error behavior, but these are not critical for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully compensate. It does so excellently: line_name is explained with examples ('๊ฒฝ๋ถ€์„ ', 'ํ˜ธ๋‚จ์„ ', '๊ฒฝ์ „์„ ') and the default behavior (์—†์œผ๋ฉด ์ „์ฒด), while station_name similarly provides examples ('์„œ์šธ', '๋ถ€์‚ฐ', '๊ด‘๋ช…') and default (์—†์œผ๋ฉด ํ•„ํ„ฐ ์—†์Œ). This adds far more meaning than the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'KTX ๋…ธ์„ ๋ณ„ ์—ญ ์ •๋ณด(์—ญ๋ช…, ๋„๋กœ๋ช…์ฃผ์†Œ, ์ •์ฐจ ์ˆœ๋ฒˆ)๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค', specifying the verb (์กฐํšŒ), resource (KTX ๋…ธ์„ ๋ณ„ ์—ญ ์ •๋ณด), and the exact fields returned. This effectively differentiates it from generic station tools like search_station or list_stations_by_region, though it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus the many station-related siblings. It only explains the two optional filters and their defaults, leaving the agent to infer that this is KTX-specific. No 'when-not-to-use' or alternative mentions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_lease_codesA

์ž„๋Œ€ ์‹œ์Šคํ…œ ์ฝ”๋“œ ์กฐํšŒ (์‹ค์‹œ๊ฐ„ REST API).

์ž„๋Œ€ ๊ด€๋ จ ๋ถ„๋ฅ˜ ์ฝ”๋“œํ‘œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ฝ”๋“œํƒ€์ž…(type), ์ฝ”๋“œ๊ฐ’(code), ์ฝ”๋“œ์„ค๋ช…(value)์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

code_type: ์ฝ”๋“œํƒ€์ž… ์ •ํ™•์ผ์น˜ ํ•„ํ„ฐ code: ์ฝ”๋“œ ์ •ํ™•์ผ์น˜ ํ•„ํ„ฐ value: ์ฝ”๋“œ์„ค๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNo
valueNo
code_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It explains the tool provides a real-time REST API, returns code tables with fields type, code, value, and describes filter behavior per parameter. This adds behavioral context beyond the schema, though it doesn't detail response format (covered by output schema) or edge cases like empty results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: the purpose is stated first, then structure, then parameter semantics. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema carries return details, the description is adequate for calling this tool. It covers parameters, purpose, and basic structure. Missing are explicit examples or disambiguation from other code lookups, but these are not critical for a simple lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description fully compensates by explaining each parameter: 'code_type' exact match, 'code' exact match, 'value' partial match. This is precisely the semantic meaning an agent needs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it's a 'lease system code lookup' providing 'lease-related classification code tables'. The specific verb '์กฐํšŒ' (lookup) and resource '์ž„๋Œ€ ๊ด€๋ จ ๋ถ„๋ฅ˜ ์ฝ”๋“œํ‘œ' (lease-related classification code table) clearly distinguishes it from sibling code tools like get_train_codes or get_transport_stat_codes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description doesn't explicitly mention when to use this tool versus alternatives. It provides the purpose and filter semantics but no guidance on when other code tables are more appropriate. Usage context is implied by the tool's name and description but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_leased_assetsA

ํ•œ๊ตญ์ฒ ๋„๊ณต์‚ฌ ์ž„๋Œ€์ž์‚ฐ ํ˜„ํ™ฉ ์กฐํšŒ (1,773๊ฑด).

์ฒ ๋„๊ณต์‚ฌ๊ฐ€ ๊ด€๋ฆฌ ์ค‘์ธ ์ž„๋Œ€ ์ž์‚ฐ์˜ ์†Œ์žฌ์ง€, ์‹œ์„ค๋ช…, ๊ณ„์•ฝ๊ธฐ๊ฐ„, ์ž„๋Œ€๋ฉด์ (ใŽก), ์—ฐ๊ฐ„์ž„๋Œ€๋ฃŒ(๋ถ€๊ฐ€์„ธ ๋ณ„๋„)๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์—ญ์‚ฌ ๋‚ด ์ƒ์—…๊ณต๊ฐ„ยท๊ฑด๋ฌผยท์œ ํœด๋ถ€์ง€ ๋“ฑ ์‹ค์ œ ์ž„๋Œ€ ์ค‘์ธ ๋ถ€๋™์‚ฐ ์ž์‚ฐ ์ •๋ณด. B551457 /stores(๋งค์žฅ ์šด์˜์ •๋ณด)์™€ ๋‹ค๋ฆ„ โ€” ์ด ๋„๊ตฌ๋Š” ์ž์‚ฐ/์žฌ๋ฌด ๊ด€์ .

location: ์ž์‚ฐ์†Œ์žฌ์ง€ ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "์„œ์šธ", "๋Œ€์ „", "๊ฒฝ๊ธฐ") facility_name: ์‹œ์„ค๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "์„œ์šธ์—ญ", "์šฉ์‚ฐ์—ญ")

ParametersJSON Schema
NameRequiredDescriptionDefault
locationNo
facility_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It clearly indicates a read-only query ('ํ˜„ํ™ฉ ์กฐํšŒ') and enumerates the data returned, implying no side effects. It also notes the data volume (1,773 records) and partial-match filter behavior, providing useful behavioral context beyond mere operation. However, it doesn't explicitly mention pagination or any limits, but for a simple read-only lookup, this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: it opens with the core purpose, lists the data fields, clarifies the distinction from a sibling, and then details each parameter with examples. Each sentence contributes value without redundancy. It is longer than two sentences but remains efficient and front-loaded with the primary directive.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is relatively simple with two optional parameters, and the description covers the data returned, parameter semantics, and a key sibling distinction. An output schema exists, which likely documents the return structure, so nothing critical is missing. The description is sufficient for an agent to invoke the tool correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description must compensate, and it does excellently. It explains that location is a partial-match filter on asset location with examples ('์„œ์šธ', '๋Œ€์ „') and facility_name is a partial-match filter on facility name with examples ('์„œ์šธ์—ญ', '์šฉ์‚ฐ์—ญ'), giving agents precise meaning and usage patterns beyond just the schema's string type and default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool queries leased assets of the Korean Railroad Corporation and lists the exact fields provided (location, facility name, contract period, area, annual rent), making the purpose unambiguous. It also directly distinguishes itself from the sibling tool get_lease_stores by clarifying this is an asset/financial perspective rather than store operations, which helps an agent select correctly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description names the sibling get_lease_stores and draws a clear distinction, effectively telling the agent when not to use this tool (when store operational info is needed) and when to use it (for asset/financial data). It also provides filter usage examples (e.g., '์„œ์šธ', '๋Œ€์ „') that clarify how to apply parameters, though it does not explicitly state broader scenario conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_lease_storesA

์—ญ์‚ฌ ๋‚ด ์ž„๋Œ€๋งค์žฅ ์šด์˜์ •๋ณด ์กฐํšŒ (์‹ค์‹œ๊ฐ„ REST API).

์—ญ์‚ฌ ๋‚ด ์ž„๋Œ€๋งค์žฅ์˜ ๋งค์žฅ๋ช…, ๋งค์žฅ์œ„์น˜, ์—ญ๋ช…, ๋ณธ๋ถ€, ๊ฐœ์—…์ผ์ž, ๊ณ„์•ฝ๊ธฐ๊ฐ„, ์Šน์ธ๋ฉด์ , ํ‰์ผยทํœด์ผ ์˜์—…์‹œ๊ฐ„ ๋“ฑ์„ ์ œ๊ณตํ•œ๋‹ค.

store_name: ๋งค์žฅ๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "ํŒŒ๋ฆฌ๋ฐ”๊ฒŒ๋œจ", "GS25") station_code: ์—ญ์ฝ”๋“œ ์ •ํ™•์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "0001") station_name: ์—ญ๋ช… ์ •ํ™•์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "์„œ์šธ์—ญ", "๋ถ€์‚ฐ์—ญ")

ParametersJSON Schema
NameRequiredDescriptionDefault
store_nameNo
station_codeNo
station_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It does disclose that the API is '์‹ค์‹œ๊ฐ„ REST API' (real-time) and reveals in the title that it is a read operation (get), but it omits auth requirements, pagination/large-result behavior, whether the data is volatile, and any error or empty-result semantics. For an unannotated tool this is a noticeable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first line and the paragraph is compact. The field list is useful, and the parameter section is well organized into a three-line block that mirrors the schema. Minor redundancy in repeating 'ํ•„ํ„ฐ' (filter) for each parameter, but overall every line earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, which relieves the description of documenting return-value structure. Combined with full parameter documentation (6.4) and the stated real-time nature, an agent has most of what it needs to invoke the tool correctly. Remaining gaps are pagination/result-volume behavior and known limitations on result count for broad queries with all parameters empty.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, putting the entire burden on the description, which fully compensates. All three parameters (store_name partial match, station_code exact match, station_name exact match) are documented with match semantics and concrete examples (e.g., 'ํŒŒ๋ฆฌ๋ฐ”๊ฒŒ๋œจ', '0001', '์„œ์šธ์—ญ'). This is exactly the value the description should add beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb (์กฐํšŒ/inquiry) and resource (์ž„๋Œ€๋งค์žฅ/lease stores within stations), and lists the fields returned (store name, location, station, headquarters, dates, hours), making it distinguishable from get_lease_codes and get_leased_assets by subject matter. The field list gives concrete substance, but it doesn't explicitly contrast against its closest siblings, so it stays below a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains how to use each filter (partial vs exact match) with Korean examples, which is genuine usage guidance. However, it never tells the agent when to choose this tool over get_lease_codes or get_leased_assets, nor does it state exclusions or context. Filter mechanics are covered but tool-selection context is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_logistics_facilityA

๋ฌผ๋ฅ˜์‹œ์„ค ์ •๋ณด ํ†ตํ•ฉ ์กฐํšŒ (๊ธฐ๋ณธ 210๊ฑด + ๊ทœ๋ชจ 71๊ฑด + ์‚ฌ์ง„ 457๊ฑด).

์—ญ๋ช… ๋˜๋Š” ์ง€์—ญ๋ณธ๋ถ€๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ. ๊ธฐ๋ณธ์ •๋ณด(์‹œ์„ค ๋ฉด์ ยท์š”๊ธˆยท์ˆ˜์ž… ๋“ฑ), ๊ทœ๋ชจ(์‹ธ์ด๋กœ ์šฉ๋Ÿ‰ยท์ˆ˜), ์‚ฌ์ง„(์ฒจ๋ถ€ํŒŒ์ผ๋ช…ยท์„ค๋ช…)์„ ์—ญ๋ช… ๊ธฐ์ค€์œผ๋กœ ๊ฒฐํ•ฉ ๋ฐ˜ํ™˜.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
regionNo
station_nameNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description takes on full responsibility. It discloses that results combine three data sources and provides data counts, which is useful. However, it does not explicitly state read-only nature, pagination, or error behavior, leaving some behavioral aspects implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is conciseโ€”two sentences that efficiently convey purpose, filters, and return content. It includes specific data counts that add value without redundancy, and the main purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description provides a high-level overview of the return content (basic info, scale, photos) and the join logic, but lacks details on response structure, pagination, or limit behavior. It is adequate but not exhaustive for an agent's full understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It explains station_name and region as partial-match filters and mentions the join key, but it does not explain the limit parameter. This partial coverage is adequate but not complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs an integrated query of logistics facility information, combining basic, scale, and photo data. It uses a specific verb (์กฐํšŒ) and resource, and the mention of integration differentiates it from general station facility tools, though it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly defines the filter conditions (partial match by station name or regional headquarters name) and the join behavior. It implies the appropriate context for use but does not mention exclusions or alternative tools, which is acceptable given the lack of obvious overlapping siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mainline_carriageA

๊ฐ„์„  ์—ฌ๊ฐ์—ด์ฐจ ์ˆ˜์†ก์‹ค์  ์กฐํšŒ. ์—ญ๋ณ„ ์Šนํ•˜์ฐจ ์ธ์›์ˆ˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์šดํ–‰์ผ์ž, ์ฃผ์šดํ–‰์„ (๊ฒฝ๋ถ€์„ ยทํ˜ธ๋‚จ์„  ๋“ฑ), ์—ญ ๊ธฐ์ค€์œผ๋กœ ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅ.

Args: run_ymd: ํŠน์ • ์šดํ–‰์ผ์ž (YYYYMMDD). ์ž…๋ ฅ ์‹œ ํ•ด๋‹น ๋‚ ์งœ๋งŒ ์กฐํšŒ. run_ymd_gte: ์šดํ–‰์ผ์ž ์‹œ์ž‘ (YYYYMMDD, ์ดํ›„) run_ymd_lte: ์šดํ–‰์ผ์ž ์ข…๋ฃŒ (YYYYMMDD, ์ด์ „) mrnt_cd: ์ฃผ์šดํ–‰์„ ์ฝ”๋“œ (์˜ˆ: "01"=๊ฒฝ๋ถ€์„ ) mrnt_nm: ์ฃผ์šดํ–‰์„ ๋ช… (์˜ˆ: "๊ฒฝ๋ถ€์„ ", "ํ˜ธ๋‚จ์„ ") stn_cd: ์—ญ์ฝ”๋“œ (์˜ˆ: "3900023"=์„œ์šธ) stn_nm: ์—ญ๋ช… (์˜ˆ: "์„œ์šธ", "๋ถ€์‚ฐ")

ParametersJSON Schema
NameRequiredDescriptionDefault
stn_cdNo
stn_nmNo
mrnt_cdNo
mrnt_nmNo
run_ymdNo
run_ymd_gteNo
run_ymd_lteNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral disclosure burden. It does not mention read-only nature, auth requirements, rate limits, or any side effects. It also doesn't describe the return format or how filters interact. This is a notable gap for a data retrieval tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: a two-sentence overview followed by a structured parameter list. It front-loads the purpose and organizes details clearly. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 optional parameters and an output schema, the description covers the main purpose and parameter meanings. However, it does not clarify interactions between run_ymd and run_ymd_gte/lte (e.g., does run_ymd override the range?), nor does it state whether any parameters are required for a meaningful query. These ambiguities could lead to incorrect calls, though the output schema likely clarifies return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description's Args section fully compensates. Each parameter is explained with format examples (e.g., YYYYMMDD for dates, '01'=Gyeongbu line, '3900023'=Seoul) and semantics. This is highly valuable and goes beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear purpose: querying mainline passenger train transportation performance, providing station-wise boarding/alighting counts. It distinguishes this from siblings that focus on stations, routes, or ticketing, though it doesn't explicitly name alternatives. The verb and resource are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: if you need station-wise passenger counts, this is the tool. It also lists filter dimensions (date, line, station). However, it doesn't explicitly mention when to use this versus the many sibling tools like get_mainline_station_per, nor does it state any exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mainline_day_of_week_perA

๊ฐ„์„ ์—ด์ฐจ ์š”์ผ๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„ (๊ฐฑ์‹ : ๋งค์›” 1์ผ, M-2). run_ym=์šดํ–‰์—ฐ์›”(YYYYMM), rte_nm=๋…ธ์„ ๋ช…

ParametersJSON Schema
NameRequiredDescriptionDefault
rte_nmNo
run_ymNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden for behavioral disclosure. It does mention the update frequency (๊ฐฑ์‹ : ๋งค์›” 1์ผ, M-2), which is a useful behavioral trait. However, it does not explicitly state that the operation is read-only, does not describe any side effects, authentication needs, or response behavior. For a statistics retrieval tool, the lack of a read-only hint is a gap, though the 'get' prefix and the content type imply a safe query. The update info adds value beyond the schema, but more context would elevate it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences: the first states the core purpose and update cadence, the second maps the two parameters. It is front-loaded with the main purpose, with zero filler. Every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (so return values are documented separately), the description covers the essential elements: what the tool does, when the data is refreshed, and what the two parameters mean. It does not explicitly state that parameters are optional (though the schema shows defaults), nor does it give guidance on required vs. optional usage, but the schema handles that. The description is sufficient for an agent to call it correctly, though a brief usage example or clarification of required inputs would improve it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters, and it does: 'run_ym=์šดํ–‰์—ฐ์›”(YYYYMM)' provides the meaning and format, while 'rte_nm=๋…ธ์„ ๋ช…' gives the field meaning. This adds clear semantic value beyond the bare schema entries, enabling the agent to construct correct queries. Both parameters are covered concisely.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool provides '๊ฐ„์„ ์—ด์ฐจ ์š”์ผ๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„' (mainline train day-of-week usage statistics), which is a specific verb+resource. It clearly distinguishes itself from sibling tools like get_mainline_station_per (station-based stats) and get_mainline_route_per (route-based stats) by focusing on the day-of-week breakdown. The update cadence is also mentioned, adding specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly name alternatives or state 'use when', but the tool name and description make its purpose unmistakable, and the sibling context (multiple get_mainline_* statistics tools) implies it is the right choice for day-of-week usage data. The relative clarity of the purpose is sufficient for an agent to infer usage, though it could be more explicit about not using it for station/route-level stats.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mainline_distance_perB

๊ฐ„์„ ์—ด์ฐจ ๊ฑฐ๋ฆฌ๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„ (๊ฐฑ์‹ : ๋งค์›” 1์ผ, M-2). run_ym=์šดํ–‰์—ฐ์›”(YYYYMM)

ParametersJSON Schema
NameRequiredDescriptionDefault
run_ymNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does add genuinely useful context: update timing (๋งค์›” 1์ผ, M-2) and the meaning of run_ym as the operating year-month. However, it does not disclose read-only nature explicitly (implied by the 'get' prefix), behavior when run_ym is empty (the schema marks it optional with an empty default), or any pagination or limits. The freshness disclosure partially compensates for the missing annotation layer, but other behaviors remain undocumented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence that front-loads the purpose before the parameter hint, with zero filler. The refresh-cadence parenthetical and the parameter format are both compact and relevant. It is appropriately short for a single-parameter query tool, though the terse style contributes to the under-specification noted in usage guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with an output schema present (so return values need not be explained), the description covers purpose and format reasonably well. The gaps are sibling disambiguation and empty-parameter behavior. Given the large, heavily overlapping sibling set (especially other mainline 'per' statistics), the lack of any distinguishing guidance makes the definition incomplete for confident tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it partially does:run_ym=์šดํ–‰์—ฐ(YYYYMM)' clarifies the expected format, which is the single most critical semantic for this parameter. However it does not explain that the parameter is optional (schema shows required: 0 with an empty default), what value to use for current data, or provide an example. The format hint is valuable but the optionality and fallback behavior unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific purpose: '๊ฐ„์„ ์—ด์ฐจ ๊ฑฐ๋ฆฌ๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„' (mainline train distance-based passenger usage statistics), naming both the resource (mainline trains) and the aggregation dimension (distance). This is clear and matches the name's 'distance_per' signal. It does not, however, name any sibling it is distinct from, which weakens differentiation given the many similar 'per' tools in the sibling list (station_per, route_per, grade_per, ticket_stat, person_distance).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 tool over its many siblings, such as get_mainline_person_distance (which might appear to overlap on distance) or the other mainline 'per' statistics. The only contextual hint is the refresh cadence (updated 1st of each month, M-2 lag), which speaks to data freshness rather than selection criteria. With 72 siblings including several distance-like tools, the absence of any alternative-routing guidance is a meaningful gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mainline_grade_perA

๊ฐ„์„ ์—ด์ฐจ ๊ฐ์‹ค๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„ (๊ฐฑ์‹ : ๋งค์›” 1์ผ, M-2). run_ym=์šดํ–‰์—ฐ์›”(YYYYMM), carmdl=์ฐจ์ข…๋ช…(์˜ˆ:KTX)

ParametersJSON Schema
NameRequiredDescriptionDefault
carmdlNo
run_ymNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the monthly update cadence and M-2 data lag, which is valuable behavioral context. But it does not explain aggregation behavior, whether omitting carmdl returns all train models, or whether run_ym can be left blank for the latest available period.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence that front-loads the tool's purpose, then adds update timing and parameter definitions. There is no filler, and every clause contributes useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter statistics tool with an output schema, the description is mostly sufficient: purpose, freshness, and parameter semantics are covered. The main gaps are optionality/default behavior and explicit guidance for choosing this tool among the numerous mainline 'per' statistics siblings, especially given the absence of annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description fully compensates: run_ym is defined as ์šดํ–‰์—ฐ์›”(YYYYMM) and carmdl as ์ฐจ์ข…๋ช… with a concrete example (KTX). Both parameters receive format and meaning that the schema alone does not provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the resource clearly: '๊ฐ„์„ ์—ด์ฐจ ๊ฐ์‹ค๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„' (mainline train passenger counts by cabin/class), and identifies the two relevant dimensions (run_ym, carmdl). It does not explicitly distinguish itself from sibling per-statistics tools like get_mainline_model_per, but '๊ฐ์‹ค๋ณ„' implies a distinct grouping.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a useful data-freshness cue ('๊ฐฑ์‹ : ๋งค์›” 1์ผ, M-2'), which implies when the data is available. However, it never says when to prefer this tool over the many similar mainline statistics siblings, nor whether the parameters are required or optional.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mainline_model_perA

๊ฐ„์„ ์—ด์ฐจ ์ฐจ๋Ÿ‰๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„ (๊ฐฑ์‹ : ๋งค์›” 1์ผ, M-2). run_ym=์šดํ–‰์—ฐ์›”(YYYYMM), carmdl=์ฐจ์ข…๋ช…(์˜ˆ:KTX)

ParametersJSON Schema
NameRequiredDescriptionDefault
carmdlNo
run_ymNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the update cycle (๋งค์›” 1์ผ) and the data lag (M-2), which is valuable behavioral context for data freshness. However, it does not mention that it is a read-only query, whether any authentication is required, or how results are structured. For a stats query, this is acceptable but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that packs the core purpose, update frequency, and both parameter explanations without any filler. It is front-loaded with the subject, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple two-parameter stats tool and the existence of an output schema (which handles return format), the description covers the essential semantics: what the tool returns (passenger statistics per vehicle), the data cadence, and parameter meanings. It could be improved by stating the granularity (e.g., per month per vehicle) or explicitly noting that both parameters are filters, but the description is adequate for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description fully compensates by explaining both parameters: run_ym = operation year-month in YYYYMM format, carmdl = vehicle type name (e.g., KTX). This is precise and includes a concrete example, exceeding the minimal requirement and providing the agent with the exact expected value formats.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the specific resource: mainline train per-vehicle passenger statistics, which is distinct from sibling tools for station, route, distance, etc. The verb is implied (get/query) but the action and subject are clear. It also names the two parameters that define the query scope, so an agent can tell exactly what this tool retrieves.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this tool versus the many sibling statistics tools (e.g., get_mainline_station_per, get_mainline_route_per). It gives a hint via '์ฐจ๋Ÿ‰๋ณ„' (by vehicle) but does not explicitly state when it applies or what alternatives exist. There is no mention of scenarios that would warrant a different tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mainline_person_distanceB

๊ฐ„์„ ์—ด์ฐจ ๋…ธ์„ ๋ณ„ ์ธ๊ฑฐ๋ฆฌ ํ†ต๊ณ„ (๊ฐฑ์‹ : ๋งค์›” 1์ผ, M-2). run_ym=์šดํ–‰์—ฐ์›”(YYYYMM), rte_nm=๋…ธ์„ ๋ช…

ParametersJSON Schema
NameRequiredDescriptionDefault
rte_nmNo
run_ymNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the update schedule (monthly, M-2) which is useful for data freshness expectations. However, it does not explicitly state that the tool is read-only or describe any side effects, though 'ํ†ต๊ณ„' (statistics) implies a query operation. The return format is covered by the output schema, so not required here. The disclosure is partial but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with the core purpose, followed by a compact parameter legend. It is perfectly front-loaded with the key information and contains zero fluff. Every character earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema is present, so return format is covered. The description gives purpose, update frequency, and parameter meanings, which is good for a simple 2-param query. However, it does not clarify default behavior when parameters are omitted (e.g., returns all routes or all months), which is a plausible usage scenario given the optional params. This is a minor gap but leaves some ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description fully compensates by explaining both parameters: run_ym is the operating year-month in YYYYMM format, and rte_nm is the route name. This is exactly the needed context for an agent to construct valid calls. The default empty strings are not explained, but that's minor given the explicit format for the main usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the resource clearly: 'Mainline train route distance statistics'. This distinguishes it from sibling tools by naming the specific metric (person distance) and the entity (mainline route). However, it does not explicitly differentiate from other mainline statistics tools (e.g., get_mainline_route_per, get_mainline_distance_per), so it's clear but not fully distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. It does not mention any conditions, exclusions, or why one would choose this over sibling stats tools. The update frequency hints at data freshness but does not help with selection. This is a significant gap for an agent deciding between many similar get_mainline_* functions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mainline_route_perA

๊ฐ„์„ ์—ด์ฐจ ๋…ธ์„ ๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„ (๊ฐฑ์‹ : ๋งค์›” 1์ผ, M-2). run_ym=์šดํ–‰์—ฐ์›”(YYYYMM), rte_nm=๋…ธ์„ ๋ช…

ParametersJSON Schema
NameRequiredDescriptionDefault
rte_nmNo
run_ymNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of disclosing behavior. It does mention the update frequency (monthly, M-2), which is useful for interpreting data freshness. However, it does not state read-only nature, permission requirements, return format, pagination, or any side effects. Given it's a data retrieval tool, the lack of behavioral clarity is a notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, with the purpose stated first and parameter semantics following. It contains no redundant information or fluff. Every element earns its place, and the structure is front-loaded for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple two-parameter tool and the presence of an output schema (which handles return format), the description covers the essential context: purpose, parameter meanings, and update cadence. It doesn't explain potential constraints like required fields or typical values, but for a straightforward lookup tool this is adequate. Some details about expected response structure could be added, but the output schema mitigates that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage, so the description must explain the parameters. It does so explicitly: 'run_ym=์šดํ–‰์—ฐ์›”(YYYYMM)' provides both meaning and format, and 'rte_nm=๋…ธ์„ ๋ช…' explains the route name parameter. This fully compensates for the schema's lack of information and leaves no ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides passenger usage statistics by route for mainline trains ('๊ฐ„์„ ์—ด์ฐจ ๋…ธ์„ ๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„'). It specifies the resource (mainline routes) and the metric (passenger counts), distinguishing it from sibling tools like get_mainline_station_per (by station) or get_wide_rail_route_per. It lacks an explicit verb like 'retrieve' but the intent is unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus the many sibling statistics tools. The description only states what it provides and the update schedule; it does not mention alternative tools or conditions under which this one should be preferred. An agent would have to infer usage from the name and context, which is error-prone given the large sibling set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mainline_station_perB

๊ฐ„์„ ์—ด์ฐจ ์—ญ๋ณ„ ์Šนํ•˜์ฐจ ํ†ต๊ณ„ (๊ฐฑ์‹ : ๋งค์ผ D-2~D-1). opr_ymd=ํŠน์ •์ผ์ž(YYYYMMDD), opr_ymd_gte/lte=๊ธฐ๊ฐ„, stn_nm=์—ญ๋ช…

ParametersJSON Schema
NameRequiredDescriptionDefault
stn_nmNo
opr_ymdNo
opr_ymd_gteNo
opr_ymd_lteNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The freshness note '๊ฐฑ์‹ : ๋งค์ผ D-2~D-1' (updated daily, 2 days delayed) does add genuinely useful latency context. However, nothing is disclosed about the return format, whether opr_ymd and opr_ymd_gte/lte conflict, or how results behave with all parameters empty.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact Korean sentence front-loads the purpose, appends the freshness caveat, and enumerates all four parameters with their formats. Zero wasted words; every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be documented. All parameters are covered in the description. The gap is operational ambiguity: all 4 parameters are optional, and the description never clarifies that a date filter is expected or that opr_ymd excludes opr_ymd_gte/lte โ€” leaving an agent unsure what an unconstrained call returns. Moderate incompleteness for a multi-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate, and it does: each parameter is mapped to meaning and format (opr_ymd=YYYYMMDD specific date, opr_ymd_gte/lte=period, stn_nm=station name). This adds real value beyond the bare schema. It stops short of clarifying that opr_ymd and the range parameters are alternatives rather than complements, holding it below 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states '๊ฐ„์„ ์—ด์ฐจ ์—ญ๋ณ„ ์Šนํ•˜์ฐจ ํ†ต๊ณ„' (mainline train station boarding/alighting statistics), identifying the resource (mainline trains) and granularity (station-level) with enough specificity to be distinguished from siblings like get_wide_rail_station_per and get_mainline_route_per. It stops short of naming these alternatives, so a 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The agent must infer mainline-vs-wide-rail and station-vs-route distinctions from the name alone. No exclusions, no preconditions, and no mention of when NOT to use it are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mainline_ticketing_statA

๊ฐ„์„ ์—ด์ฐจ ๋ฐœ๊ถŒ์œ ํ˜• ํ†ต๊ณ„ (๊ฐฑ์‹ : ๋งค์›” 1์ผ, M-1). ntsl_ym=ํŒ๋งค์—ฐ์›”(YYYYMM), ise_type=๋ฐœ๊ถŒ์œ ํ˜•๋ช…

ParametersJSON Schema
NameRequiredDescriptionDefault
ntsl_ymNo
ise_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must carry behavioral disclosure. It discloses the data refresh schedule (monthly on 1st, M-1) which is a useful behavioral trait. However, it does not explicitly state read-only nature, error behavior, or limits, though the 'get' prefix implies read-only. Missing explicit side-effect disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single line with no fluff. Purpose is front-loaded, then update schedule, then parameter definitions. Efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values need not be described. Tool is a simple statistics query with two optional params; description covers param semantics and refresh info. However, it lacks usage context and differentiation from sibling stats tools, which is a gap. Overall adequate for a simple tool but incomplete in guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, so description fully compensates. It defines ntsl_ym as ํŒ๋งค์—ฐ์›”(YYYYMM) with format, and ise_type as ๋ฐœ๊ถŒ์œ ํ˜•๋ช… (ticketing type name). Both parameters are explained with meaning and format, which is essential given no schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states '๊ฐ„์„ ์—ด์ฐจ ๋ฐœ๊ถŒ์œ ํ˜• ํ†ต๊ณ„' (mainline train ticketing type statistics), a specific resource and purpose. It distinguishes from siblings like get_mainline_station_per by focusing on ticketing types rather than stations or routes. The update schedule is an extra detail, not obfuscating the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description only provides param meanings and update cadence, with no mention of scenarios or exclusions. Among many sibling stats tools, no discriminating use case is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_maintenance_equipmentA

์ฒ ๋„์ฐจ๋Ÿ‰ ๊ฒ€์ˆ˜์šฉ ๊ธฐ๊ณ„ ๋ณด์œ ํ˜„ํ™ฉ ์กฐํšŒ (2024.12.31 ๊ธฐ์ค€, 16๊ฐœ ์ง€์—ญ). ์ง€์—ญ(์ •๋น„๋‹จยท์ง€์—ญ๋ณธ๋ถ€)๋ณ„ ๊ณต์ž‘๊ธฐ๊ณ„ยท์›๋™๊ธฐ๊ณ„ยท์‹œํ—˜๊ธฐ๊ณ„ยท์œ ์ฒด๊ธฐ๊ณ„ยท์–‘๋ฌผ๊ธฐ๊ณ„ยท ๊ณต๊ธฐ๊ธฐ๊ณ„ยทํ† ๋ชฉ๊ธฐ๊ณ„ยท๊ณ„์ค‘๊ธฐ๊ณ„ยท์ฐจ๋Ÿ‰์ด๋™๊ธฐ๊ณ„ยท์ „๊ธฐ๊ธฐ๊ณ„ยท๋กœ๊ธฐ๊ณ„ยท์žก๊ธฐ๊ณ„ยท๊ณ ์†์‹œํ—˜๊ธฐ๊ณ„ ์ˆ˜๋Ÿ‰. region: ์ง€์—ญ ๋ถ€๋ถ„์ผ์น˜ (์˜ˆ: '์ˆ˜๋„๊ถŒ', '๋ถ€์‚ฐ', '๋Œ€์ „', '๊ฐ•์›'). '์ •๋น„๋‹จ' ๋˜๋Š” '์ง€์—ญ๋ณธ๋ถ€'๋กœ ๊ตฌ๋ถ„ ๊ฐ€๋Šฅ. ๋ฏธ์ž…๋ ฅ ์‹œ ์ „์ฒด 16๊ฐœ ์ง€์—ญ ๋ฐ˜ํ™˜.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the data as-of date (2024.12.31), the 16-region scope, and the default behavior (returns all regions if region is empty). It also hints at the granularity of data by listing the machine categories. It does not explicitly state read-only behavior, but the verb '์กฐํšŒ' (inquiry) strongly implies a non-mutating operation, and there is no mention of side effects. The lack of explicit mutability note is minor given the query nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: it opens with the main purpose, then details the parameter semantics, and ends with the default behavior. The list of machine categories is lengthy but provides useful detail about the data scope. It is somewhat verbose for a simple tool, but every part contributes informational value, and the structure facilitates quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional parameter) and that an output schema exists, the description covers the essential points: what the tool returns, how to filter, and the default behavior. It does not explain output structure, but that is provided by the output schema. Any missing edge cases (e.g., no matches) are not addressed, but for a query tool of this nature the description is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides only a string with a default; there is no schema description (0% coverage). The tool description compensates thoroughly by explaining that 'region' supports partial matching, gives concrete examples ('์ˆ˜๋„๊ถŒ', '๋ถ€์‚ฐ', '๋Œ€์ „', '๊ฐ•์›'), clarifies that it can be filtered by '์ •๋น„๋‹จ' or '์ง€์—ญ๋ณธ๋ถ€', and states the outcome when left empty. This goes well beyond the schema and leaves no ambiguity about the parameter's meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action (์กฐํšŒ/inquiry), the resource (์ฒ ๋„์ฐจ๋Ÿ‰ ๊ฒ€์ˆ˜์šฉ ๊ธฐ๊ณ„ ๋ณด์œ ํ˜„ํ™ฉ, railway vehicle inspection machine inventory), and even the as-of date and scope (16 regions). It distinguishes itself from sibling tools by focusing specifically on maintenance equipment, not on stations, routes, or customer data. An agent can immediately understand what this tool returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage guidance for the parameter: partial matching, examples, how to filter by ์ •๋น„๋‹จ or ์ง€์—ญ๋ณธ๋ถ€, and the default behavior when no input is provided. It does not explicitly mention alternative tools, but among the siblings there is no obvious competitor, so the lack of an explicit alternative is not a significant omission. The guidance is practical and sufficient for correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_office_meeting_roomsA

๋ณธ์‚ฌ ์‚ฌ์˜ฅ ํšŒ์˜์‹ค ๋ชฉ๋ก ์กฐํšŒ (11๊ฑด).

ํšŒ์˜์‹ค์ฝ”๋“œ, ์ˆ˜์šฉ์ธ์›, ํšŒ์˜์‹ค์‚ฌ์–‘(๋ช…์นญยท์ขŒ์„์ˆ˜)์„ ์ œ๊ณตํ•œ๋‹ค. ๋Œ€ํšŒ์˜์‹ค(160์„)๋ถ€ํ„ฐ ์†ŒํšŒ์˜์‹ค(18์„), ์˜์ƒํšŒ์˜์‹ค, ๋””์ง€ํ„ธํ—ˆ๋ธŒ ๋žฉ ํฌํ•จ.

โ€ป 2024๋…„ ์ดํ›„ ์ตœ์‹ ํ™” ์ด๋ ฅ ์—†์Œ. ํ˜„์žฌ ์šด์˜ ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ.

min_capacity: ์ตœ์†Œ ์ˆ˜์šฉ์ธ์› ํ•„ํ„ฐ (์˜ˆ: 30 โ†’ 30์ธ ์ด์ƒ ํšŒ์˜์‹ค๋งŒ)

ParametersJSON Schema
NameRequiredDescriptionDefault
min_capacityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly warns that the data has not been updated since 2024 and may differ from current operations, which is a significant behavioral caveat. It also discloses the data scope (headquarters building) and the nature of the output (list of rooms with code, capacity, specs). It does not state whether the operation is read-only, but for a list endpoint this is obvious from context. The staleness warning and scope note provide solid transparency beyond what the schema conveys.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compactโ€”four lines totalโ€”and front-loads the core purpose (room list lookup). It then provides the key data attributes, the range of rooms, and the staleness warning, ending with the parameter explanation. Every sentence contributes value; there is no redundancy or fluff. The structure flows logically from purpose to specifics to caveat to filter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (one optional parameter, no nested objects, and an output schema available), the description covers all necessary context: the scope (headquarters), the number of results (11), the data fields provided, the range of room sizes, and the staleness caveat. The filter is explained with an example. Since an output schema exists, the description need not detail return formats. The description is complete for an agent to decide whether to call the tool and how to use its single parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage for the min_capacity parameter, so the description must compensate. It does so effectively, explaining that min_capacity filters rooms to those with at least the specified capacity, and even gives an example (30 means 30 or more). This adds clear semantic meaning beyond the bare integer type and default value. While it could mention edge cases (e.g., behavior with 0), the explanation is sufficient for the single parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: it retrieves the list of meeting rooms in the headquarters building, provides 11 entries, and details the specific attributes (room code, capacity, specs). It is unambiguous and distinct from all sibling tools, which are unrelated domains like stations, freight, and trains. There is no ambiguity about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (for querying meeting room lists) and explains the one filter (min_capacity), but it does not state when to use this tool versus alternatives, or when not to use it. Since no sibling operates on meeting rooms, this is a minor gap, but the description lacks explicit context about the intended scenario (e.g., 'when a user needs meeting room capacity information'). The filter guidance is present, but broader usage context is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_operation_distanceA

์ „๊ตญ ์ฒ ๋„ ๋…ธ์„ ๋ณ„ ์—ญ๊ฐ„ ์šดํ–‰๊ฑฐ๋ฆฌ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. (20๊ฐœ ๋…ธ์„  ๊ทธ๋ฃน)

์—ด์ฐจ๊ฐ€ ์‹ค์ œ๋กœ ์ฃผํ–‰ํ•˜๋Š” ์„ ๋กœ ๊ฑฐ๋ฆฌ ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค. ์šด์ž„ ๊ณ„์‚ฐ์šฉ ์—ฌ๊ฐ์ตœ๋‹จ์šดํ–‰๊ฑฐ๋ฆฌ์™€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์˜ˆ: ์„œ์šธโ†”๋ถ€์‚ฐ KTX ์šดํ–‰๊ฑฐ๋ฆฌ 417.4 km, ์—ฌ๊ฐ์ตœ๋‹จ์šดํ–‰๊ฑฐ๋ฆฌ 441.7 km)

โš ๏ธ ์ด ๋ฐ์ดํ„ฐ๋Š” ์ฒ ๋„์šดํ–‰๊ฑฐ๋ฆฌ_์ „์ฒด XLSX(๋…ธ์„ ๋ณ„ ์‚ผ๊ฐํ–‰๋ ฌ)์— ์ˆ˜๋ก๋œ ์—ญ๋งŒ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. KTX ์ „์šฉ์„  ๊ฒฝ์œ  ์—ญ(๊ฒฝ๋ถ€KTX: ์„œ์šธยท์˜๋“ฑํฌยท๊ด‘๋ช…ยท์ฒœ์•ˆ์•„์‚ฐยท์˜ค์†กยท๋Œ€์ „ยท๊น€์ฒœ๊ตฌ๋ฏธยท๋™๋Œ€๊ตฌยท๋ถ€์‚ฐ ๋“ฑ)๋งŒ ์žˆ๊ณ , ๊ฐ™์€ KTX๊ฐ€ ๊ฒฝ์œ ํ•ด๋„ ํ–‰์‹ ยท์ˆ˜์›์ฒ˜๋Ÿผ ๋ณ„๋„ ์ธ์ž…์„ ยท์žฌ๋ž˜์„  ์—ญ์€ ๋ฏธํฌํ•จ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Args: line_name: ๋…ธ์„ ๋ช… ๋ถ€๋ถ„ ์ผ์น˜ (์˜ˆ: "๊ฒฝ๋ถ€", "ํ˜ธ๋‚จ", "์ „๋ผ", "๊ฐ•๋ฆ‰", "์˜๋™", "์ค‘์•™", "ํƒœ๋ฐฑ"). ์—†์œผ๋ฉด ์ „์ฒด ๋…ธ์„  ๊ทธ๋ฃน ๋ชฉ๋ก ๋ฐ˜ํ™˜. from_station: ์ถœ๋ฐœ์—ญ๋ช… (์ •ํ™• ์ผ์น˜). ํ•ด๋‹น ์—ญ์—์„œ ์ถœ๋ฐœํ•˜๋Š” ๋ชจ๋“  ๊ฑฐ๋ฆฌ ๋ฐ˜ํ™˜. to_station: ๋„์ฐฉ์—ญ๋ช… (์ •ํ™• ์ผ์น˜). from_station๊ณผ ํ•จ๊ป˜ ์ง€์ • ์‹œ ๋‘ ์—ญ ๊ฐ„ ๊ฑฐ๋ฆฌ ๋ฐ˜ํ™˜.

Returns: line_name ์—†์Œ: available_lines ๋ชฉ๋ก. line_name๋งŒ: ๋งค์นญ ๋…ธ์„ ๊ณผ ์—ญ ๋ชฉ๋ก. from_station ์ถ”๊ฐ€: ์ถœ๋ฐœ์—ญ์—์„œ ๊ฐ ์—ญ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ ๋ชฉ๋ก(๊ฑฐ๋ฆฌ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ). from+to ๋ชจ๋‘: ๋‘ ์—ญ ๊ฐ„ ๊ฑฐ๋ฆฌ(km). โ€ป ์ตœ์ดˆ ํ˜ธ์ถœ ์‹œ XLSX ํŒŒ์‹ฑ์— ์ˆ˜ ์ดˆ ์†Œ์š”๋ฉ๋‹ˆ๋‹ค.

ParametersJSON Schema
NameRequiredDescriptionDefault
line_nameNo
to_stationNo
from_stationNo

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description discloses key behavioral traits: initial call parsing delay, data source limitations (only stations in the specific XLSX, KTX-only), and exact-match/partial-match handling. It is transparent about side effects and edge cases, though it does not state that the operation is read-only (implied by '์กฐํšŒ'). Slightly below a 5 due to minor omissions like error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (purpose, caveat, args, returns) and front-loads the main purpose. Every sentence adds value, including the relevant example (Seoulโ€“Busan KTX) and the latency note. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and 3 optional parameters, the description explains all return variations (no line_name, line_name only, with from_station, with both) and notes the parsing delay. It even clarifies the data source scope. For a query tool of this complexity, nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description fully compensates: line_name is partial match with examples, from_station and to_station are exact match, and the behavior for each parameter combination is described in the Returns section. This adds comprehensive meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('์ „๊ตญ ์ฒ ๋„ ๋…ธ์„ ๋ณ„ ์—ญ๊ฐ„ ์šดํ–‰๊ฑฐ๋ฆฌ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค') and clarifies it is actual track distance (์šดํ–‰๊ฑฐ๋ฆฌ) distinct from fare-calculation shortest distance. This distinguishes it from the sibling get_station_distance without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains that the tool returns operation distance, not passenger shortest distance, and warns about the KTX-dedicated-line data coverage. This implies when to use it (actual track distance), but it does not explicitly name alternative tools or give a when-not-to-use statement. Adequate but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_rolling_stock_by_yearA

์—ฐ๋„๋ณ„ ์ฐจ๋Ÿ‰๋ณด์œ ํ˜„ํ™ฉ ์กฐํšŒ (2024.12.31 ๊ธฐ์ค€, 2016~2024๋…„ 9๊ฐœ ์—ฐ๋„). KTXยทSRTยทKTX-์ด์Œยท๋””์ ค๊ธฐ๊ด€์ฐจยท์ „๊ธฐ๊ธฐ๊ด€์ฐจยท๋””์ ค๋™์ฐจยท์ „๊ธฐ๋™์ฐจยท๊ฐ„์„ ํ˜•์ „๊ธฐ๋™์ฐจยท ITX-์ฒญ์ถ˜ยท๊ฐ์ฐจยท๋ฐœ์ „์ฐจยทํ™”์ฐจยท๊ธฐ์ค‘๊ธฐ ์ฐจ์ข…๋ณ„ ์—ฐ๋„๋ณ„ ๋ณด์œ  ๋Œ€์ˆ˜ ํฌํ•จ. year: ์กฐํšŒ ์—ฐ๋„ (์˜ˆ: '2024', '2020'). ๋ฏธ์ž…๋ ฅ ์‹œ ์ „์ฒด 9๊ฐœ ์—ฐ๋„ ๋ฐ˜ํ™˜. โ€ป SRT๋Š” SR(์ˆ˜์„œ๊ณ ์†์ฒ ๋„) ์†Œ์†์œผ๋กœ KORAIL ๋ณด์œ  ์ˆ˜์น˜์— ํฌํ•จ๋œ ๊ฒƒ์œผ๋กœ ํ‘œ๊ธฐ๋จ.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the burden. It discloses the data scope and the SRT ownership caveat, which is useful. However, it does not state whether the operation is read-only, how invalid year values are handled, or any other behavioral traits. It is not contradictory, but leaves room for more detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the main purpose, followed by the vehicle types and parameter guidance. The list of vehicle types is a bit long but necessary for completeness. No wasted words; slightly verbose but acceptable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description does not need to explain return format. It covers the tool's purpose, data coverage, parameter behavior, and the SRT nuance. Nothing critical is missing for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description fully compensates for the year parameter. It explains the expected format, gives examples ('2024', '2020'), and specifies the default when omitted. This adds meaningful guidance beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries annual rolling stock holdings (์—ฐ๋„๋ณ„ ์ฐจ๋Ÿ‰๋ณด์œ ํ˜„ํ™ฉ ์กฐํšŒ) and lists the specific vehicle types included. It conveys the resource and scope, but does not explicitly contrast it with any sibling tools, so it earns a 4 rather than a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: the available years (2016-2024), the year parameter with examples, and the default behavior when year is omitted (returns all 9 years). It does not mention when not to use this tool or suggest alternatives, so the lack of exclusions keeps it at a 4.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_segment_infoA

์ฒ ๋„ ์ „๋™์ฐจ ์„ธ๊ทธ๋จผํŠธ(๊ตฌ๊ฐ„) ์ •๋ณด๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. ์„ธ๊ทธ๋จผํŠธ๋Š” ๋…ธ์„ ์„ ์šดํ–‰ ๋ถ„์„ ์ตœ์†Œ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•œ ๊ตฌ๊ฐ„์ž…๋‹ˆ๋‹ค.

Args: segment_code: ์„ธ๊ทธ๋จผํŠธ์ฝ”๋“œ (์˜ˆ: "100", "200", "300"). region: ์šดํ–‰์ง€์—ญ๋ณธ๋ถ€ ๋ถ€๋ถ„ ์ผ์น˜ (์˜ˆ: "์„œ์šธ", "๋Œ€์ „", "์ˆ˜๋„๊ถŒ์„œ๋ถ€", "๋ถ€์‚ฐ"). station: ์„ธ๊ทธ๋จผํŠธ ์‹œ์ž‘์—ญยท์ข…๋ฃŒ์—ญยท๊ฒฝ์œ ์—ญ๋ช… ๋ถ€๋ถ„ ์ผ์น˜ (์˜ˆ: "์„œ์šธ", "๋Œ€์ „").

Returns: basic: ์„ธ๊ทธ๋จผํŠธ ๊ธฐ๋ณธ ์ •๋ณด (์ฝ”๋“œ, ๊ธฐ๊ฐ„, ์ง€์—ญ๋ณธ๋ถ€, ์‹œ์ž‘์—ญ, ์ข…๋ฃŒ์—ญ, ๊ฑฐ๋ฆฌ(km)). detail: ํ•ด๋‹น ์„ธ๊ทธ๋จผํŠธ ๊ตฌ์„ฑ ์—ญ ์ƒ์„ธ (์—ญ๋ช…, ์—ญ์ผ๋ จ๋ฒˆํ˜ธ, ๋ˆ„์ ๊ฑฐ๋ฆฌ). total_segments: ๋งค์นญ๋œ ์„ธ๊ทธ๋จผํŠธ ์ˆ˜.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNo
stationNo
segment_codeNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral disclosure burden. It specifies partial-match behavior for region and station, defines the segment concept, and enumerates the return structure. It does not cover edge cases like empty filters or exact match semantics for segment_code, but provides solid behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured, front-loaded with the core purpose, followed by a brief definition, parameter documentation, and return breakdown. Every line adds value with no unnecessary repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is sufficient for a simple lookup tool with three optional parameters and no output schema. It explains the domain concept, all filters, and the returned fields. It does not mention behavior when no filters are provided or how filters combine, but these are minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description fully compensates by documenting all three parameters with concrete examples and matching rules. It clearly explains what segment_code, region, and station mean in the context of this tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves railway electric train segment information and defines what a segment is. This distinguishes it from sibling tools like station info or route search tools. The verb '์กฐํšŒํ•ฉ๋‹ˆ๋‹ค' is specific and the resource is well-defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through its definition of a segment and its filter parameters, but it does not explicitly state when to prefer this tool over alternatives. There is no mention of when not to use it or how it relates to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_social_donationsA

์‚ฌํšŒ๊ณตํ—Œ '์‚ฌ๋ž‘์˜ ์„ฑ๊ธˆ' ์‚ฌ์šฉ ๋‚ด์—ญ ์กฐํšŒ (1,053๊ฑด).

์„ฑ๊ธˆ ์ง€์ถœ ๊ด€๋ฆฌ๋ฒˆํ˜ธ, ์ˆœ๋ฒˆ, ์ง€์ถœ์ผ์ž, ๊ธˆ์•ก(์›), ์‚ฌ์šฉ๋‚ด์—ญ์„ ์ œ๊ณตํ•œ๋‹ค. ์˜จ๋ˆ„๋ฆฌ์ƒํ’ˆ๊ถŒ ๊ตฌ๋งค, ํ•ดํ”ผํŠธ๋ ˆ์ธ ์—ฌํ–‰์ƒํ’ˆ๋น„, ํ›„์›๋ฌผํ’ˆ ๊ตฌ์ž… ๋“ฑ.

date_from: ์ง€์ถœ์ผ์ž ์‹œ์ž‘ (์˜ˆ: "2025-01-01") date_to: ์ง€์ถœ์ผ์ž ์ข…๋ฃŒ keyword: ๋‚ด์—ญ ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "์˜จ๋ˆ„๋ฆฌ", "ํ•ดํ”ผํŠธ๋ ˆ์ธ", "ํ—Œํ˜ˆ")

ParametersJSON Schema
NameRequiredDescriptionDefault
date_toNo
keywordNo
date_fromNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the behavioral disclosure burden. It states the tool provides specific fields and gives usage examples, which implies a read-only inquiry (์กฐํšŒ). However, it does not mention pagination/limits or any authorization requirements, and the count (1,053๊ฑด) is ambiguous as whether it's a total or returned set, leaving some transparency gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a short purpose line, a line on returned fields, an example list, and then parameter definitions. It front-loads the main action and stays free of fluff, making each sentence earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all three parameters with semantic detail and provides field names and examples of the returned data. An output schema exists, so return types are already defined. The only omission is pagination/limits and sorting behavior, which are minor given the simplicity of a filtered query tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has zero description coverage, but the description provides a dedicated parameter block that explains each field's meaning and gives concrete examples (e.g., date format '2025-01-01', keyword '์˜จ๋ˆ„๋ฆฌ'). This fully compensates for the schema's lack of documentation and adds practical usage guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Purpose is explicit: queries donation spending details ('์‚ฌ๋ž‘์˜ ์„ฑ๊ธˆ' ์‚ฌ์šฉ ๋‚ด์—ญ ์กฐํšŒ). Verbs and resource are specific, and the tool is clearly distinguished from sibling tools like get_social_funds (funds) and get_social_org (organization) by its focus on expenditure records. The examples (์˜จ๋ˆ„๋ฆฌ์ƒํ’ˆ๊ถŒ, ํ•ดํ”ผํŠธ๋ ˆ์ธ) make the scope concrete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on what data is returned and includes filter examples, making the use case obvious. However, it does not explicitly compare with alternatives or state when not to use it, though sibling overlap is minimal, so a near-top score is warranted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_social_fundsA

์‚ฌํšŒ๊ณตํ—Œ ํŽ€๋“œ ์ข…๋ฅ˜ ์กฐํšŒ (6๊ฑด).

์‚ฌํšŒ๊ณตํ—Œ ์žฌ์› ํŽ€๋“œ ์œ ํ˜•(์ข…๋ฅ˜๋ช…, ๊ธฐ๋ณธ๊ฐ’์—ฌ๋ถ€, ๋ถ„๋ฅ˜์ˆœ์„œ)์„ ์ œ๊ณตํ•œ๋‹ค. '์‚ฌ๋ž‘์˜ ์„ฑ๊ธˆ', '๋งค์นญ๊ทธ๋žœํŠธ', '์ž์ฒด์„ฑ๊ธˆ', '๋Ÿฌ๋ธŒํฌ์ธํŠธ' ๋“ฑ ๊ตฌ๋ถ„.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral burden. It discloses the returned content (fund type names, default flag, classification order) and the fixed result count of 6, plus example values. The verb '์กฐํšŒ' makes the read-only nature evident. It does not claim to mutate state, so no contradiction. Minor gap: it never explicitly states the operation is safe/stateless, but for a 0-parameter lookup that is low risk.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, each earning its place: the count and resource in the first line, the returned fields in the second, and concrete examples in the third. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return formatting is handled elsewhere. For a 0-parameter lookup tool the description conveys the result count, field set, and example values โ€” effectively everything an agent needs to interpret the result. The only omission is explicit usage context, which is minor for this simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, which per rubric earns a baseline of 4. Schema coverage is 100% (empty properties object), so there are no undocumented arguments requiring compensation from the description. The description appropriately adds nothing about parameters since none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb '์กฐํšŒ' (inquiry) plus a bounded resource: '์‚ฌํšŒ๊ณตํ—Œ ํŽ€๋“œ ์ข…๋ฅ˜' (social contribution fund types). It further specifies the payload ( items, fields: name/default flag/classification order) and concrete example values ('์‚ฌ๋ž‘์˜ ์„ฑ๊ธˆ', '๋งค์นญ๊ทธ๋žœํŠธ', etc.). This clearly separates it from sibling lookup tools like get_social_donations and get_social_volunteer_fields.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is given. There is no mention of alternative tools or the conditions that would favor get_social_donations or get_social_org instead. The intended context must be fully inferred from the tool name and purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_social_orgA

์‚ฌํšŒ๊ณตํ—Œ ํฌํ„ธ ์กฐ์ง์ •๋ณด ์กฐํšŒ (6,306๊ฑด).

ํ•œ๊ตญ์ฒ ๋„๊ณต์‚ฌ ์ „์ฒด ์กฐ์ง ํ˜„ํ™ฉ(๋ณธ๋ถ€ยท์—ญยท์‚ฌ์—…์†ŒยทํŒ€ ๋“ฑ)์„ ์ œ๊ณตํ•œ๋‹ค. ์กฐ์ง๋ช…์€ 'KORAIL/๊ฐ•์›๋ณธ๋ถ€/๊ฐ•๋ฆ‰์—ญ' ํ˜•์‹์˜ ๊ณ„์ธต ๊ฒฝ๋กœ. ๋ฉ”๋ชจ1ยท๋ฉ”๋ชจ2ยท๋ฉ”๋ชจ3์— ๋ณธ๋ถ€๋ช…ยท์†Œ์† ์ •๋ณด ํฌํ•จ.

โ€ป ์ „์ฒด ์กฐํšŒ ์‹œ ์ตœ๋Œ€ 200๊ฑด ๋ฐ˜ํ™˜. org_name ๋˜๋Š” headquarter ํ•„ํ„ฐ ๊ถŒ์žฅ.

org_name: ์กฐ์ง๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "๊ฐ•๋ฆ‰์—ญ", "์ฐจ๋Ÿ‰์‚ฌ์—…์†Œ", "AI์ „๋žต๋ณธ๋ถ€") headquarter: ๋ณธ๋ถ€๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "๊ฐ•์›๋ณธ๋ถ€", "์„œ์šธ๋ณธ๋ถ€", "๋Œ€์ „")

ParametersJSON Schema
NameRequiredDescriptionDefault
org_nameNo
headquarterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses the 200-item limit, the hierarchical path format, and that memo fields contain affiliation info. It doesn't explicitly state read-only behavior, but '์กฐํšŒ' (query) implies it. It lacks details on pagination or authentication, but for a lookup tool this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with a main statement, a note on format, and a warning about limits, followed by parameter explanations. Slightly more detail than necessary but each sentence adds value; the warning is front-loaded before usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (2 optional parameters) and presence of an output schema, the description is nearly complete. It covers filters, the limit, and data format. It doesn't explain how to retrieve all 6,306 items or pagination, but the warning implies the need for filtering. Sufficient for a lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, so the description is the only source of parameter meaning. It thoroughly explains each parameter with examples and partial-match semantics, far exceeding the minimal schema of just type and default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: querying organization information from the social contribution portal, specifically for Korean Railroad Corporation's full organizational hierarchy. It provides the exact hierarchical path format and distinguishes itself from sibling tools like get_social_funds or get_social_donations by focusing on org details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context by explaining the 200-item cap and recommending filters. It also specifies parameter usage with partial-match examples. However, it does not explicitly compare itself to alternatives or state when not to use it, though the purpose is distinct enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_social_volunteer_fieldsA

์‚ฌํšŒ๊ณตํ—Œ ๋ด‰์‚ฌ ๋ถ„์•ผ ์ฝ”๋“œ ์กฐํšŒ (7๊ฑด).

๋ด‰์‚ฌ๋ถ„์•ผ ๊ตฌ๋ถ„์ฝ”๋“œ, ๋ถ„์•ผ๋ช…, ๋ถ„์•ผ์„ค๋ช…์„ ์ œ๊ณตํ•œ๋‹ค. ๋‚ด์ผํ•˜์šฐ์Šคยทํ•ดํ”ผํŠธ๋ ˆ์ธยท๋ณต์ง€๋‹จ์ฒดยทํ™˜๊ฒฝ๋ด‰์‚ฌยทํ—Œํ˜ˆ ๋“ฑ.

keyword: ๋ถ„์•ผ๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "ํ—Œํ˜ˆ", "ํ™˜๊ฒฝ", "ํ•ดํ”ผ")

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It discloses that exactly 7 records are returned, what fields are included, and how keyword filtering behaves. It does not mention auth, empty-keyword behavior, or side effects, but for a simple code lookup these are minor gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: purpose/count, output fields with examples, then parameter behavior. Every line adds value, and the main purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple optional-keyword code list with an output schema and a default value in the input schema, the description covers both invocation and result content adequately. Nothing material is missing for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully compensate. It clearly defines keyword as a ๋ถ„์•ผ๋ช… partial-match filter and provides concrete examples (ํ—Œํ˜ˆ, ํ™˜๊ฒฝ, ํ•ดํ”ผ), which is sufficient for the single optional parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear statement that this tool retrieves social contribution volunteer field codes and lists the exact returned fields (๊ตฌ๋ถ„์ฝ”๋“œ, ๋ถ„์•ผ๋ช…, ๋ถ„์•ผ์„ค๋ช…). It also gives domain examples, making it easy to distinguish from sibling tools like get_social_volunteer_matching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete usage guidance for the keyword parameter, explaining that it performs a partial match on ํ•„๋“œ๋ช… with examples. However, it does not explicitly name sibling alternatives or state when not to use this tool, so the routing guidance is implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_social_volunteer_matchingA

์‚ฌํšŒ๊ณตํ—Œ ๋ด‰์‚ฌํ™œ๋™ ๋งค์นญ ์ง€์ถœ ๋‚ด์—ญ ์กฐํšŒ (877๊ฑด).

๋ด‰์‚ฌํ™œ๋™ ๋งค์นญ ๊ด€๋ จ ์ง€์ถœ์˜ ๊ด€๋ฆฌ๋ฒˆํ˜ธ, ์ˆœ๋ฒˆ, ์ง€์ถœ์ผ์ž, ์‚ฌ์šฉ๊ธˆ์•ก(์›), ์‚ฌ์šฉ๋‚ด์—ญ์„ ์ œ๊ณตํ•œ๋‹ค. ๋งค์นญ๊ทธ๋žœํŠธยท์˜จ๋ˆ„๋ฆฌ์ƒํ’ˆ๊ถŒยท๋ด‰์‚ฌ์š”์› ๊ฐ„์‹๋น„ ๋“ฑ.

date_from: ์ง€์ถœ์ผ์ž ์‹œ์ž‘ date_to: ์ง€์ถœ์ผ์ž ์ข…๋ฃŒ keyword: ์‚ฌ์šฉ๋‚ด์—ญ ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "๋งค์นญ๊ทธ๋žœํŠธ", "๋ด‰์‚ฌ์ž", "์˜จ๋ˆ„๋ฆฌ")

ParametersJSON Schema
NameRequiredDescriptionDefault
date_toNo
keywordNo
date_fromNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the output fields and filter behavior (partial keyword match), and notes an approximate result count (877๊ฑด). However, it does not state read-only behavior, pagination, sorting, or any prerequisitesโ€”gaps that annotations might otherwise cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a purpose sentence, a field list, example categories, and parameter explanations. It avoids fluff, though the inline count '877๊ฑด' is minor extra context. Slightly more detail than strictly necessary but each line serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists and parameters are optional with clear semantics, the description is sufficient for correct invocation. The only minor gaps are lack of explicit mention of sorting, pagination, or whether date range is inclusiveโ€”common but not critical for a simple filter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must and does compensate fully. Each parameter (date_from, date_to, keyword) is explained with explicit meanings and examples (e.g., keyword '๋งค์นญ๊ทธ๋žœํŠธ'), making the call semantics unambiguous and highly actionable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves social contribution volunteer matching expense details, listing the exact fields returned (management number, sequence, expense date, amount, usage details) and example categories. This is specific and distinguishable from sibling tools like get_social_funds or get_social_donations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for volunteer matching expense queries but does not explicitly contrast with any sibling tools or state when not to use it. No alternative tools are mentioned, leaving the agent to infer based on the domain name and examples.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_station_distanceA

๋‘ ์—ญ ๊ฐ„ ์ตœ๋‹จ ์šดํ–‰๊ฑฐ๋ฆฌ(km)๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ฐยทํ™”๋ฌผ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌ๋ถ„ํ•˜๋ฉฐ ๊ฒฝ์œ ์—ญ ์ •๋ณด ํฌํ•จ.

Args: from_station: ์ถœ๋ฐœ์—ญ๋ช… (์ •ํ™•ํ•œ ์—ญ๋ช… ๊ถŒ์žฅ, ๋ถ€๋ถ„ ์ผ์น˜๋„ ์ง€์›. ์˜ˆ: "์„œ์šธ", "๋ถ€์‚ฐ"). to_station: ๋„์ฐฉ์—ญ๋ช… (๋ถ€๋ถ„ ์ผ์น˜). ์—†์œผ๋ฉด ์ถœ๋ฐœ์—ญ์—์„œ ์ถœ๋ฐœํ•˜๋Š” ๋ชจ๋“  ๊ตฌ๊ฐ„ ๊ฑฐ๋ฆฌ ๋ฐ˜ํ™˜. current_only: True๋ฉด ํ˜„์žฌ ์œ ํšจ ๋ฐ์ดํ„ฐ(์ ์šฉ์ข…๋ฃŒ์ผ์ž=9999-12-31)๋งŒ ๋ฐ˜ํ™˜. ๊ธฐ๋ณธ True.

Returns: ์ถœ๋ฐœ์—ญ๋ช…, ๋„์ฐฉ์—ญ๋ช…, ์—ฌ๊ฐ์ตœ๋‹จ์šดํ–‰๊ฑฐ๋ฆฌ(km), ํ™”๋ฌผ์šดํ–‰๊ฑฐ๋ฆฌ(km), ๊ตฌ๊ฐ„๊ฑฐ๋ฆฌ๋‚ด์šฉ(๊ฒฝ์œ ์—ญ), ์ ์šฉ๊ธฐ๊ฐ„. โ€ป ์ด 220,782๊ฑด. ์ตœ์ดˆ ํ˜ธ์ถœ ์‹œ ๋กœ๋”ฉ์— ์ˆ˜ ์ดˆ๊ฐ€ ์†Œ์š”๋ฉ๋‹ˆ๋‹ค. ์ตœ๋Œ€ 200๊ฑด ๋ฐ˜ํ™˜. โ€ป ์ถœ๋ฐœ์—ญ๋ช… ๊ธฐ์ค€ ์ธ๋ฑ์Šค๋งŒ ์กด์žฌ. "ํŠน์ • ์—ญ์— ๋„์ฐฉํ•˜๋Š” ๋ชจ๋“  ๊ฒฝ๋กœ" ์—ญ๋ฐฉํ–ฅ ์กฐํšŒ๋Š” ๋ฏธ์ง€์›. โ€ป ์—ฌ๊ฐ์ตœ๋‹จ์šดํ–‰๊ฑฐ๋ฆฌ๋Š” ์šด์ž„ ๊ณ„์‚ฐ ๊ธฐ์ค€ ๊ฑฐ๋ฆฌ๋กœ, ์‹ค์ œ ์—ด์ฐจ ์šดํ–‰๊ฑฐ๋ฆฌ(XLSX ๊ธฐ์ค€)์™€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ. ์˜ˆ: ์„œ์šธโ†”๋ถ€์‚ฐ ์—ฌ๊ฐ์ตœ๋‹จ 441.7 km vs KTX ์šดํ–‰๊ฑฐ๋ฆฌ 417.4 km (๊ณ ์†์„  vs ์šด์ž„ ๊ธฐ์ค€์„  ์ฐจ์ด).

ParametersJSON Schema
NameRequiredDescriptionDefault
to_stationNo
current_onlyNo
from_stationYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully carries the burden of behavioral disclosure. It discloses performance (initial load takes seconds, max 200 records), indexing limitation (only departure-based lookup, no reverse query), and semantic distinction (fare-basis vs actual distance) with a concrete example. This is exceptionally transparent about constraints and data characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (Args, Returns, notes). Every sentence adds value: parameter explanations, return field list, performance caveat, and distance semantics. It is informative without redundancy, and the most critical purpose is stated first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters and no output schema, the description is comprehensive. It lists return fields, total record count, maximum result limit, initial load time, indexing limitation, and defines the semantic of '์—ฌ๊ฐ์ตœ๋‹จ์šดํ–‰๊ฑฐ๋ฆฌ' vs actual track distance. This covers all necessary context for an agent to call the tool correctly and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no descriptions, so the description compensates fully. Each parameter is explained: from_station (exact recommended, partial matches), to_station (partial match, absence returns all segments), current_only (default true, filters to current data). This exceeds what the schema provides and enables correct usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries the shortest operating distance between two stations, distinguishing passenger and freight distances and including via-station information. It uses a specific verb ('์กฐํšŒ') and resource ('๋‘ ์—ญ ๊ฐ„ ์ตœ๋‹จ ์šดํ–‰๊ฑฐ๋ฆฌ'). Among the large sibling list, this tool is uniquely about station-to-station distance, and the description clarifies its scope, making it easy to differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool (for distance between stations) and includes behavior for optional parameters (e.g., if to_station is omitted, returns all segments from departure). It also warns that the distance is fare-basis, not actual track distance, implicitly distinguishing it from get_operation_distance. However, it does not explicitly state 'use X for actual distance' or 'when not to use this tool', though context implies alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_station_facilitiesB

์—ญ ์ด๋ฆ„์œผ๋กœ ํŽธ์˜์‹œ์„ค ์ •๋ณด ์กฐํšŒ (B551457 ์‹ค์‹œ๊ฐ„ API). ์—˜๋ฆฌ๋ฒ ์ดํ„ฐยท์—์Šค์ปฌ๋ ˆ์ดํ„ฐยทํ™”์žฅ์‹คยท์ˆ˜์œ ์‹คยท์ข…ํ•ฉ์•ˆ๋‚ด์„ผํ„ฐ ์œ ๋ฌด. station_name: ์—ญ ์ด๋ฆ„ ๋ถ€๋ถ„์ผ์น˜ (์˜ˆ: '์„œ์šธ', '๋ถ€์‚ฐ') (EN: station amenities/facilities - elevator, escalator, restroom, nursing room, information center. JA: ้ง…ใฎไพฟๅฎœๆ–ฝ่จญใƒป่จญๅ‚™ - ใ‚จใƒฌใƒ™ใƒผใ‚ฟใƒผใ€ใ‚จใ‚นใ‚ซใƒฌใƒผใ‚ฟใƒผใ€ใƒˆใ‚คใƒฌใ€ๆŽˆไนณๅฎคใ€ๆกˆๅ†…ใ‚ปใƒณใ‚ฟใƒผ) โ€ป ๋ฐ์ดํ„ฐ๊ธฐ์ค€์ผ: ์‹ค์‹œ๊ฐ„ API (๋‚ ์งœ ๋ฏธํฌํ•จ). ํ˜„์žฅ ๋ณ€๊ฒฝ์ด ์ฆ‰์‹œ ๋ฐ˜์˜๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ.

ParametersJSON Schema
NameRequiredDescriptionDefault
station_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral. It does add a valuable caveat: '๋ฐ์ดํ„ฐ๊ธฐ์ค€์ผ: ์‹ค์‹œ๊ฐ„ API (๋‚ ์งœ ๋ฏธํฌํ•จ). ํ˜„์žฅ ๋ณ€๊ฒฝ์ด ์ฆ‰์‹œ ๋ฐ˜์˜๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ' (data is real-time without a date, and field changes may not be immediately reflected). This informs the agent about potential staleness. However, it does not disclose other behavioral aspects such as authentication requirements, rate limits, or response shape (though the output schema exists). The behavior is partially transparent, deserving a middle score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the primary purpose, followed by the facility list, the parameter explanation, and a caveat. It is not long, though the inclusion of full English and Japanese translations adds some verbosity. Each section adds valuepurpose, parameter, caveat), and the format is easy to parse. It earns a 4 for being appropriately concise without sacrificing necessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has a single parameter, an output schema (signal indicates has output schema: true and the description explains the parameter semantics and a data-freshness caveat, it is reasonably complete for an agent to call it correctly. The lack of usage guidance is a minor gap, but the core invocation are covered. The description is adequate for a simple lookup tool, though it could improve by mentioning the response structure or typical use cases, but these are partially covered by the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage for the only parameter 'station_name', but the description compensates by explicitly stating 'station_name: ์—ญ ์ด๋ฆ„ ๋ถ€๋ถ„์ผ์น˜ (์˜ˆ: โ€˜์„œ์šธโ€™, โ€˜๋ถ€์‚ฐโ€™)' โ€” explaining that the station name is matched as a partial string and providing concrete examples. This adds meaning beyond the type definition and helps the agent understand acceptable input. It is not exhaustive (e.g., case sensitivity or language nuances are missing but it significantly understanding, warranting a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '์—ญ ์ด๋ฆ„์œผ๋กœ ํŽธ์˜์‹œ์„ค ์ •๋ณด ์กฐํšŒ' (look up facility information by station name) and explicitly lists the facility categories (elevator, escalator, restroom, nursing room, information center). It is specific about the verb and resource, and mentions it is a real-time API. However, it does not explicitly distinguish itself from sibling tools like get_accessible_facilities or get_station_facilities_detail, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, conditions, or exclusions. There is no reference to sibling tools or differing use cases. An agent cannot discern from the description whether to choose this over get_accessible_facilities or list_stations_with_elevator for a particular query.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_station_facilities_detailA

์—ญ์‚ฌ ๋‚ด์™ธ๋ถ€ ์‹œ์„คํ˜„ํ™ฉ ์กฐํšŒ (odcloud, 2024.12.31 ๊ธฐ์ค€, 288๊ฐœ ์—ญ). ์—˜๋ฆฌ๋ฒ ์ดํ„ฐยท์—์Šค์ปฌ๋ ˆ์ดํ„ฐยทํœ ์ฒด์–ด๋ฆฌํ”„ํŠธยท์žฅ์• ์ธ๊ฒฝ์‚ฌ๋กœยท์žฅ์• ์ธํ™”์žฅ์‹คยท์ผ๋ฐ˜ํ™”์žฅ์‹คยท ๋ชจ์œ ์ˆ˜์œ ์‹คยท์ข…ํ•ฉ์•ˆ๋‚ด์†Œยทํ™˜์Šน์ฃผ์ฐจ์žฅ(๋ฉด์ˆ˜) ์ˆ˜๋Ÿ‰ ํฌํ•จ. station_name: ์—ญ๋ช… ๋ถ€๋ถ„์ผ์น˜ (์˜ˆ: '์„œ์šธ', '๊ด‘๋ช…'). ๋ฏธ์ž…๋ ฅ ์‹œ ์ „์ฒด ๋ฐ˜ํ™˜. (EN: detailed interior/exterior station facilities - elevator, escalator, wheelchair lift, accessible ramp/restroom, nursing room, parking. JA: ้ง…่ˆŽๅ†…ๅค–ใฎ่ฉณ็ดฐใช่จญๅ‚™็พๆณ) โ€ป B551457 ํŽธ์˜์‹œ์„ค API ๋Œ€๋น„ ์ˆ˜๋Ÿ‰ ์ •๋ณด ๋” ํ’๋ถ€ํ•˜๋‚˜ ๋ฐ์ดํ„ฐ ๊ธฐ์ค€์ผ ๊ณ ์ •(2024.12.31).

ParametersJSON Schema
NameRequiredDescriptionDefault
station_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it does well: it discloses the data source, data vintage, station count, partial-match behavior, default full-return behavior, and the specific quantities covered. It does not discuss response size or potential performance implications, but the output schema covers return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core content is well front-loaded: purpose, data date, station count, and query semantics appear early. However, the Korean description is followed by redundant EN and JA translations that restate the same information, adding length without new useful detail for an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and an output schema, this description is complete: it covers data source, snapshot date, scope, filtering semantics, default behavior, and the facility types included. The only minor gap is not naming a sibling tool explicitly, but the trade-off note gives enough directional guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensateโ€”and it does fully. It explains that station_name is a partial match with examples ('์„œ์šธ', '๊ด‘๋ช…') and that omitting it returns all stations, adding essential meaning the empty schema description lacks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the operation ('์—ญ์‚ฌ ๋‚ด์™ธ๋ถ€ ์‹œ์„คํ˜„ํ™ฉ ์กฐํšŒ') and the resource (detailed station facilities for 288 stations), with a specific list of included facility types and quantities. It also distinguishes itself from the convenience-facility API by noting richer quantity information but a fixed data date, helping an agent tell it apart from nearby siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: station_name is a partial-match filter, no input returns all stations, and the data is fixed as of 2024.12.31. It implies a trade-off versus the B551457 convenience-facility APIโ€”richer quantity data but less currentโ€”though it does not name the sibling tool explicitly or give a direct 'when not to use' rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_station_locationA

์—ญ ์œ„์น˜ ์ •๋ณด ์กฐํšŒ (odcloud, 2024.04.01 ๊ธฐ์ค€, 202๊ฐœ ๊ฐ„์„  ์ฒ ๋„์—ญ). ์ง€์—ญ๋ณธ๋ถ€ยท์—ญ๋ช…ยท์œ„๋„ยท๊ฒฝ๋„ยท์ถœ์ž…๊ตฌ ๊ฐœ์ˆ˜ ํฌํ•จ. station_name: ์—ญ๋ช… ๋ถ€๋ถ„์ผ์น˜ (์˜ˆ: '์„œ์šธ', '๋ถ€์‚ฐ'). region: ์ง€์—ญ๋ณธ๋ถ€ ๋ถ€๋ถ„์ผ์น˜ (์˜ˆ: '์„œ์šธ๋ณธ๋ถ€', '๋Œ€์ „์ถฉ์ฒญ', '๊ฐ•์›๋ณธ๋ถ€'). ๋ฏธ์ž…๋ ฅ ์‹œ ์ „์ฒด ๋ฐ˜ํ™˜. (EN: station location - coordinates, regional HQ, number of exits. JA: ้ง…ใฎไฝ็ฝฎๆƒ…ๅ ฑ)

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNo
station_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It reveals key behaviors: partial matching, default 'return all', data source date, and the inclusion of exit count. It does not mention auth, rate limits, or error handling, but for a simple read-only query these are not critical and the given details are transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is informative without being overly redundant. It front-loads the purpose, then details parameters and defaults, and includes translations at the end which add length but not clutter. The structure is clear and each sentence serves a purpose, though the EN/JA translations are optional extras.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema exists, so return structures are handled outside the description. The description covers input semantics, default behavior, dataset scope (202 stations, date), and provided fieldsโ€”sufficient for a straightforward lookup tool. It omits edge-case handling, but these are not essential for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must fully document parameters. It does: station_name is a partial match with examples, region is a partial match with examples, and empty inputs return all. This adds complete meaning beyond the bare schema, fully compensating for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves station location information, listing specific fields (regional HQ, coordinates, exit count) and the data source (202 mainline stations as of 2024.04.01). This is a specific verb+resource and is distinct from sibling tools like get_station_facilities or search_station, which focus on other aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains how to use the parameters (partial matching for station_name and region, providing examples) and the default behavior (returns all when empty). It does not explicitly contrast with alternatives, but the usage context is clear and adequate for an agent to decide when this tool fits.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_station_track_infoA

์—ญ๋ณ„ ์„ ๋กœยท์‹œ์„ค ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ (๊ณตํ†ต๊ธฐ์ค€ ์—ญ์ƒ์„ธ, ๋กœ์ปฌ CSV, 2025.06.18 ๊ธฐ์ค€, 5161ํ–‰).

๊ตฌ๋‚ด์œ ํšจ์žฅยท์„ ๋กœ๊ธธ์ดยท์ง€์„ ยท์ „์šฉ์„  ๊ฑฐ๋ฆฌ, ์ด์„ ์ˆ˜, ๋ถ„๊ธฐ์—ญ์—ฌ๋ถ€, ์ž…ํ™˜์‹œ์ž‘์—ฌ๋ถ€ ๋“ฑ ํ˜„์žฅ ์šด์˜์— ํ•„์š”ํ•œ ์—ญ ์„ ๋กœ ์ œ์› ์ •๋ณด ์ œ๊ณต.

  • station_name: ์—ญ์ด๋ฆ„ ๋ถ€๋ถ„์ผ์น˜ (์˜ˆ: '์„œ์šธ', '๋ถ€์‚ฐ', '๋Œ€์ „'). ๋ฏธ์ž…๋ ฅ ์‹œ ์ „์ฒด.

  • current_only: True(๊ธฐ๋ณธ)์ด๋ฉด ํ˜„์žฌ ์œ ํšจํ•œ ์ด๋ ฅ๋งŒ ๋ฐ˜ํ™˜ (์—ญ์ด๋ ฅ์ ์šฉ์ข…๋ฃŒ์ผ์ž ๋นˆ ๊ฐ’). False์ด๋ฉด ์ด๋ ฅ ์ „์ฒด(๋™์ผ ์—ญ์˜ ์ด๋ ฅ ๋ณ€๊ฒฝ ํฌํ•จ) ๋ฐ˜ํ™˜.

์ฃผ์š” ์ปฌ๋Ÿผ: ๊ตฌ๋‚ด์œ ํšจ์žฅ(m), ๊ตฌ๋‚ด์„ ๋กœ๊ธธ์ด(m), ์ง€์„ ์œ ํšจ์žฅ(m), ์ง€์„ ์„ ๋กœ๊ฑฐ๋ฆฌ(m), ์ „์šฉ์„ ์œ ํšจ์žฅ(m), ์ „์šฉ์„ ์„ ๋กœ๊ฑฐ๋ฆฌ(m), ์ด์„ ์ˆ˜, ๋ถ„๊ธฐ์—ญ์—ฌ๋ถ€(Y/N), ์ž…ํ™˜์‹œ์ž‘์—ฌ๋ถ€(Y/N)

ParametersJSON Schema
NameRequiredDescriptionDefault
current_onlyNo
station_nameNo

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the data source (CSV, date, row count) and the current_only filtering behavior, which is helpful. However, it does not mention permissions, response structure beyond listing '์ฃผ์š” ์ปฌ๋Ÿผ' (main columns, implying not all), or whether multiple rows can be returned. This falls short of full transparency for a read operation with no external annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a summary, parameter explanations, and a column list. It is slightly verbose but each part is informative. It is front-loaded with the primary purpose and then details. No wasted sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should fully describe the return data. It lists '์ฃผ์š” ์ปฌ๋Ÿผ' (main columns) but explicitly says 'main', implying additional columns are omitted. It also does not specify the return format (e.g., JSON array) or pagination. An agent would need to infer some details, making it incomplete for a tool with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description is the only source. It fully explains both parameters: station_name as partial match with examples and default, current_only with True/False behavior regarding history. This adds substantial meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves station track and facility details ('์—ญ๋ณ„ ์„ ๋กœยท์‹œ์„ค ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ'), lists specific fields (effective length, track length, branch lines, etc.), and differentiates from sibling tools like get_station_facilities by focusing on track specifications. It is a specific verb+resource with clear scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context ('ํ˜„์žฅ ์šด์˜์— ํ•„์š”ํ•œ ์—ญ ์„ ๋กœ ์ œ์› ์ •๋ณด ์ œ๊ณต') and explains parameter usage (partial match, current_only) but does not explicitly mention when not to use this tool or name alternatives. It gives clear context without exclusions, so a 4 is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_station_transfer_infoA

์—ญ๋ณ„ ํƒ€ ๊ตํ†ต์ˆ˜๋‹จ๊ณผ ํ™˜์Šนํ˜„ํ™ฉ ์กฐํšŒ (odcloud, 2024.12.31 ๊ธฐ์ค€, 93๊ฐœ ์—ญ). ๋…ธ์„ ๋ณ„ยท์—ญ๋ณ„ KTXยท๊ด‘์—ญ์ฒ ๋„ยท๋„์‹œ์ฒ ๋„ ์—ญ์ˆ˜ ๋ฐ ํ™˜์Šน์ฃผ์ฐจ์žฅ ๋ฉด์ˆ˜ ํฌํ•จ. station_name: ์—ญ๋ช… ๋ถ€๋ถ„์ผ์น˜ (์˜ˆ: '์„œ์šธ', '๋™๋Œ€๊ตฌ'). line_name: ๋…ธ์„ ๋ช… ๋ถ€๋ถ„์ผ์น˜ (์˜ˆ: '๊ฒฝ๋ถ€๊ณ ์†', 'ํ˜ธ๋‚จ์„ '). ๋ฏธ์ž…๋ ฅ ์‹œ ์ „์ฒด ๋ฐ˜ํ™˜. (EN: transfer info to other transit modes by station. JA: ้ง…ๅˆฅใฎไป–ไบค้€šๆ‰‹ๆฎตใธใฎไน—ๆ›็พๆณ)

ParametersJSON Schema
NameRequiredDescriptionDefault
line_nameNo
station_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the data snapshot date, the number of stations (93), the filtering behavior (partial match), and the default of returning all records. This is useful. However, it does not describe the output structure (though an output schema exists), nor any error behavior, permissions, or side effects. It also does not explicitly state that the operation is read-only. description adds context but leaves some behavioral aspects unaddressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: the first sentence states the core purpose and data source, followed by included data, then parameter explanations, then default behavior, and finally English/Japanese translations. The translations add length but are useful for international agents. The purpose is front-loaded, and the content is logically ordered with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 optional params, output schema present), the description covers purpose, parameters, defaults, and data scope. However, it omits details that could be important: how multiple filters combine (if both are given), whether results are paginated, and what happens if no matches are found. The output schema likely covers return structure, but the description does not address these edge behaviors. It is adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides no descriptions (coverage 0%), so the description must compensate. It does so by explaining each parameter: station_name and line_name both support partial match, with examples ('์„œ์šธ', '๋™๋Œ€๊ตฌ' and '๊ฒฝ๋ถ€๊ณ ์†', 'ํ˜ธ๋‚จ์„ '). It also states that omitting both returns all records, covering default behavior. This provides clear semantics beyond the bare parameter names and default empty strings.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the purpose: '์—ญ๋ณ„ ํƒ€ ๊ตํ†ต์ˆ˜๋‹จ๊ณผ ํ™˜ํ˜„ํ™ฉ ์กฐํšŒ' (inquiry of transfer status to other transportation modes by station). It specifies the data source (odcloud), date (2024.12.31), and scope (93 stations), and mentions the included data elements (KTX, metropolitan railway, urban railway, transfer parking lots). This is a specific verbresource. However, it does not explicitly differentiate from the sibling tool 'get_urban_transfer_info', so the purpose is clear but sibling distinction is not fully articulated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides usage context for the parameters (partial match, examples) and the default behavior when no input is given ('๋ฏธ์ž…๋ ฅ ์‹œ ์ „์ฒด ๋ฐ˜ํ™˜'). It tells the agent how to filter and what to expect., it does not mention when to choose this tool over alternatives like get_urban_transfer_info or search_station, nor does it state any exclusions. The guidance is partial but not absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_support_departmentsA

์—…๋ฌด์ง€์› ๋ถ€์„œ๋ณ„ ์ง์œ„ยท์ง๊ธ‰ ์ธ์› ํ˜„ํ™ฉ ์กฐํšŒ (10,015๊ฑด).

๋ถ€์„œ๋ช…, ์ง์œ„๋ช…, ์ง๊ธ‰๋ช…, ์ธ์›์ˆ˜๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์กฐ์ง ๋‚ด ์ธ๋ ฅ ๋ฐฐ๋ถ„ ๋ฐ ์ง๋ฌด ๊ตฌ์กฐ ํŒŒ์•…์— ํ™œ์šฉ.

โ€ป ์ „์ฒด ์กฐํšŒ ์‹œ ์ตœ๋Œ€ 200๊ฑด ๋ฐ˜ํ™˜. ํ•„ํ„ฐ ์‚ฌ์šฉ ๊ถŒ์žฅ.

dept_name: ๋ถ€์„œ๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "์„œ์šธ์—ญ", "AI์ „๋žต๋ณธ๋ถ€", "์ฐจ๋Ÿ‰์‚ฌ์—…์†Œ") position: ์ง์œ„๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "์—ญ์žฅ", "ํŒ€์žฅ", "๊ธฐ์ˆ ์›") grade: ์ง๊ธ‰๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: "์‚ฌ๋ฌด์˜์—…3๊ธ‰", "์šด์ „4๊ธ‰", "ํ† ๋ชฉ5๊ธ‰")

ParametersJSON Schema
NameRequiredDescriptionDefault
gradeNo
positionNo
dept_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite no annotations, the description discloses key behavior: returns at most 200 rows on a full query, recommends filters, and clarifies that filters are partial matches (๋ถ€๋ถ„์ผ์น˜) with examples. The verb '์กฐํšŒ' implies a read operation, so there is no concern about side effects. However, it omits details like pagination, error behavior, or whether the result set is sorted, so it carries less than the full burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, with a clear opening, a purpose sentence, a warning about the 200-row limit, and a bullet-style parameter guide. No redundant sentences; each part adds value, and the most critical constraint (limit) is highlighted early.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema is present, explaining return values isn't needed. The description covers purpose, usage, filter mechanics, and a limit. Minor gaps such as default ordering or handling of empty results are not critical for an agent to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters are documented in the description with meaning (๋ถ€์„œ๋ช…, ์ง์œ„๋ช…, ์ง๊ธ‰๋ช…) and examples of partial-match values. Since the input schema lists only names and defaults, the description fully compensates for the 0% schema coverage, giving agents precise guidance on what to pass.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the verb '์กฐํšŒ' (inquiry) and specifies the resource: headcount statistics by department, position, and grade. It lists the returned fields (๋ถ€์„œ๋ช…, ์ง์œ„๋ช…, ์ง๊ธ‰๋ช…, ์ธ์›์ˆ˜) and the use case, making the tool's purpose unambiguous. It does not explicitly contrast with sibling tools like get_job_grades or get_homepage_position, but the resource is distinct enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context: states the tool is for analyzing workforce allocation and job structure, and explicitly advises using filters because a full query returns at most 200 records. This is practical guidance, but it does not name alternative tools or state when not to use this tool, so it stops short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_support_facilitiesA

์‚ฌ์˜ฅ ๋‚ด ๋ถ€๋Œ€์‹œ์„ค ๋ชฉ๋ก ์กฐํšŒ (29๊ฑด).

๋ณธ์‚ฌ ์‚ฌ์˜ฅ ๋‚ด ๋ถ€๋Œ€์‹œ์„ค(์นดํŽ˜ยท์–ด๋ฆฐ์ด์ง‘ยทํšŒ์˜์‹คยท์Šคํฌ์ธ ์„ผํ„ฐยทํŽธ์˜์  ๋“ฑ)์˜ ์‹œ์„ค๋ช…, ์ƒ์„ฑ์ผ์‹œ, ์ˆ˜์ •์ผ์‹œ, ๋น„๊ณ ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

โ€ป ์ตœ์‹ ์„ฑ ์ฃผ์˜: 2025.08.20 ๊ธฐ์ค€ ๋ฐ์ดํ„ฐ๋กœ ํ˜„์žฌ์™€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses a key behavior: the data is frozen as of 2025.08.20 and may be stale, which is valuable. However, it does not explicitly state that this is a read-only operation or describe other side effects, though for a simple list this is largely implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with no fluff: states the resource, lists example categories and output fields, and adds a crucial data-freshness caveat. The most important info is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and an output schema (which is not shown but exists per context), the description sufficiently covers the essential usage context: what the tool returns, its scope, and a staleness warning. There is nothing missing that an agent needs to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema trivially covers them all. The description adds no parameter-specific information because none are needed; it focuses on output fields and data context, which is appropriate for a no-arg tool. Baseline 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action (list) on a specific resource (auxiliary facilities in the headquarters building) and enumerates example facility types (cafรฉ, daycare, meeting rooms, sports center, convenience store) and the data fields returned (name, creation time, modification time, remarks). This distinguishes it from siblings like get_office_meeting_rooms and get_cafeteria_menu_stats, which target narrower facilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for retrieving a general snapshot of all 29 support facilities, but it does not explicitly state when to use this over alternatives or when not to use it (e.g., if only meeting rooms are needed, a specific tool might be more appropriate). Context is clear but exclusions are missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_train_codesA

์—ด์ฐจ์šดํ–‰ ์ฝ”๋“œ์ •๋ณด ์กฐํšŒ. ์ตœ์†Œ ํ•˜๋‚˜ ์ด์ƒ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ํ•„์š”. code_type=์ฝ”๋“œ์œ ํ˜•(์˜ˆ:stn_cd,mrnt_cd), code=์ฝ”๋“œ๊ฐ’(์ •ํ™•์ผ์น˜), value=์ฝ”๋“œ๋ช…(๋ถ€๋ถ„์ผ์น˜) ์ฃผ์š” code_type: stn_cd(์—ญ์ฝ”๋“œ), mrnt_cd(์ฃผ์šดํ–‰์„ ์ฝ”๋“œ)

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNo
valueNo
code_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the minimum parameter requirement and matching behavior, but does not clarify the relationship between parameters (e.g., whether code_type is required when using code or value), nor does it mention any limitations or side effects. For a lookup tool, this is adequate but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded: the first sentence states the purpose, followed by parameter requirements and examples. It contains no filler or redundant information, and every line adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema covers the return format, so that is not required. The description explains parameters and usage constraints, but leaves some ambiguity about how parameters interact (e.g., whether multiple parameters are combined with AND or OR, and whether code_type is needed when using code or value). For a tool of this complexity, it is mostly complete but could benefit from clarifying these interactions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage, so the description is the sole source of parameter meaning. It clearly defines each parameter (code_type with examples like stn_cd, mrnt_cd; code for exact match; value for partial match) and even lists common code_type values. This fully compensates for the schema's silence and is highly useful for an agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves train operation code information ('์—ด์ฐจ์šดํ–‰ ์ฝ”๋“œ์ •๋ณด ์กฐํšŒ') with specific examples of code types. It is distinct from siblings like decode_station_code or search_station, but does not explicitly differentiate itself, which would have earned a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It specifies the requirement of at least one parameter and explains the matching semantics for code (exact) and value (partial). However, it does not mention when to prefer this tool over sibling tools like decode_station_code or search_station, nor does it describe any alternative or when-not-to-use scenario.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_train_operation_by_typeA

์ฐจ์ข…๋ณ„ ์—ฐ๊ฐ„ ์šดํ–‰์‹ค์  ์กฐํšŒ (๋กœ์ปฌ CSV, 2025.08.31 ๊ธฐ์ค€, 2019~2025๋…„).

๋””์ ค๊ธฐ๊ด€์ฐจยท์ „๊ธฐ๊ธฐ๊ด€์ฐจยท์ „๋™์ฐจ(์ˆ˜๋„๊ถŒ) ๋“ฑ KORAIL ๋ณด์œ  ์ฐจ์ข…๋ณ„ ์—ฐ๊ฐ„ ์šดํ–‰ ํšŸ์ˆ˜. 2025๋…„์€ 8์›”๊นŒ์ง€์˜ ํ†ต๊ณ„.

  • year: ํŠน์ • ์—ฐ๋„ (์˜ˆ: 2024). 0์ด๋ฉด ์ „์ฒด(2019~2025).

  • train_type: ์ฐจ์ข…๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ (์˜ˆ: 'KTX', 'ITX', '๋””์ ค๊ธฐ๊ด€์ฐจ', '์ „๊ธฐ๊ธฐ๊ด€์ฐจ'). ๋ฏธ์ž…๋ ฅ ์‹œ ์ „์ฒด ์ฐจ์ข… ์ปฌ๋Ÿผ ๋ฐ˜ํ™˜.

์ฃผ์š” ์ฐจ์ข…: ๋””์ ค๊ธฐ๊ด€์ฐจ(4400ยท7300ยท7400ยท7500ํ˜ธ๋Œ€), ์ „๊ธฐ๊ธฐ๊ด€์ฐจ(8200ยท8500ํ˜ธ๋Œ€), KTX, ITX-์ƒˆ๋งˆ์„, ITX-์ฒญ์ถ˜, ๋ˆ„๋ฆฌ๋กœ, ์ˆ˜๋„๊ถŒ์ „๋™์ฐจ ๊ฐ ๊ณ„์—ด

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
train_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden and discharges it well: it reveals the data source (๋กœ์ปฌ CSV), the as-of date (2025.08.31), the time window, the fact that 2025 covers only through August, and the partial-match filtering behavior. This adds real context beyond the bare schema and contains no contradiction (no annotations exist).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then parameter semantics, then an optional type list; the dated-data warning and year-range statement are high-value and not wasted. Slightly longer than strictly necessary, but every sentence carries information and the structure is logical.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only two-parameter query with an output schema present, the description covers data source, date range, partial-match behavior, defaults, and examples. An output schema exists, so the omission of return-shape details is acceptable. The only minor gap is the absence of explicit sibling routing, which is a usage-guidance concern rather than a completeness one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% โ€” the input schema provides only types and defaults. The description compensates fully: year is explained as a specific year vs. 0 for the whole range, and train_type as a partial-match filter with '' meaning all columns, plus worked examples ('KTX', 'ITX', '๋””์ ค๊ธฐ๊ด€์ฐจ'). This is precisely the compensation expected when the schema is silent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (์ฐจ์ข…๋ณ„ ์—ฐ๊ฐ„ ์šดํ–‰์‹ค์ ํšŒ โ€” query of annual operation counts by train type) and enumerates the covered KORAIL categories. It is clearly distinguishable from siblings like get_train_type_specs or get_rolling_stock_by_year because it reports operation counts rather than specs or stock, but it never names those siblings explicitly, leaving a small differentiation gap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys domain context (local CSV, 2019โ€“2025, KORAIL types) so an agent can infer when the tool applies, and it clarifies that 2025 is partial (through August). However, it offers no explicit when-to-use versus alternatives or any exclusion conditions, and several siblings (get_train_run_history, get_rolling_stock_by_year, search_operation_patterns) sit in the same operational domain with no routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_train_run_historyA

์ฐจ์„ธ๋Œ€์˜ˆ์•ฝ๋ฐœ๋งค ์—ด์ฐจ ์šดํ–‰๋‚ด์—ญ ์กฐํšŒ (2024-01-01 ๋‹จ์ผ ์ผ์ž 100๊ฑด ์Šค๋ƒ…์ƒท).

โ€ป ๋ฐ์ดํ„ฐ ํ•œ๊ณ„ (๋ฐ˜๋“œ์‹œ ์ฐธ๊ณ ):

  • ์ด ๋ฐ์ดํ„ฐ๋Š” 2024-01-01 ํ•˜๋ฃจ์น˜๋งŒ ์กด์žฌ. ๋‹ค๋ฅธ ๋‚ ์งœ ํ•„ํ„ฐ ์‹œ 0๊ฑด ๋ฐ˜ํ™˜.

  • ์‹ค์ œ ํ•˜๋ฃจ ์šดํ–‰ ์—ด์ฐจ๋Š” ์ˆ˜๋ฐฑ ํŽธ์ด๋‚˜, ์ด ์Šค๋ƒ…์ƒท์€ ์ผ๋ถ€ ์—ด์ฐจยท์—ญ ํฌํ•จ.

  • ๋™์ผ (์—ด์ฐจ๋ฒˆํ˜ธ, ์—ญ)์ด 2๊ฑด์”ฉ ์ค‘๋ณต ๋“ฑ์žฅํ•˜๋Š” ๊ฒฝ์šฐ ์žˆ์Œ (๊ฒฝ์œ  ์ฒ˜๋ฆฌ ๋ฐฉ์‹).

  • ์ •์ฐจ ์ˆœ๋ฒˆ ํ•„๋“œ ์—†์Œ โ†’ ์ •ํ™•ํ•œ ์ •์ฐจ ์ˆœ์„œ๋Š” get_train_run_info ๋˜๋Š” get_train_run_plan์œผ๋กœ ๊ต์ฐจ ํ™•์ธ ํ•„์š”.

  • ์—ญ์ฝ”๋“œ ์ƒ์„ธ ์ •๋ณด(์˜๋ฌธ๋ช…ยท์ง€์—ญ๋ณธ๋ถ€ ๋“ฑ)๋Š” korail-codebook์˜ decode_station_code ๋„๊ตฌ๋กœ ์กฐํšŒ ๊ฐ€๋Šฅ.

ํŒŒ๋ผ๋ฏธํ„ฐ:

  • run_dt: ์šดํ–‰์ผ์ž (YYYY-MM-DD, ์˜ˆ: '2024-01-01')

  • trn_no: ์—ด์ฐจ๋ฒˆํ˜ธ (์˜ˆ: '6' ๋˜๋Š” '00006', ์ˆซ์ž ์ž๋™ ๋ณ€ํ™˜)

  • stn_nm: ํ•œ๊ธ€์—ญ๋ช… ๋ถ€๋ถ„์ผ์น˜ (์˜ˆ: '์„œ์šธ', '๋ถ€์‚ฐ')

  • stn_cd: ์—ญ์ฝ”๋“œ ์ •ํ™•์ผ์น˜ (์˜ˆ: '3900023')

  • dedupe: True ์‹œ ๋™์ผ (์—ด์ฐจ๋ฒˆํ˜ธ+์—ญ์ฝ”๋“œ) ์ค‘๋ณต ๋ ˆ์ฝ”๋“œ ์ œ๊ฑฐ (๊ธฐ๋ณธ False)

๋ฐ˜ํ™˜ ํ•„๋“œ: ์šดํ–‰์ผ์ž(RUN_DT), ์—ด์ฐจ๋ฒˆํ˜ธ(TRN_NO), ์—ญ์ฝ”๋“œ(STN_CD), ํ•œ๊ธ€์—ญ๋ช…(KOR_STN_NM)

ParametersJSON Schema
NameRequiredDescriptionDefault
dedupeNo
run_dtNo
stn_cdNo
stn_nmNo
trn_noNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full responsibility. It thoroughly discloses data limitations (only 2024-01-01, partial coverage), duplicate records, missing stop order, and the dedupe parameter to handle it. This is exemplary transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Despite its length, the description is well-structured with clear sections, bullet points for caveats, and a parameter list. It front-loads the most critical limitation (single date) and every sentence adds value. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (multiple parameters, data caveats, alternative tools, return fields), the description is complete. It also lists return fields and explicitly mentions the output schema is available. Nothing an agent needs is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has zero description coverage, but the description explains every parameter (run_dt, trn_no, stn_nm, stn_cd, dedupe) with formats, examples, and default behavior. It fully compensates for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it queries train operation history (์—ด์ฐจ ์šดํ–‰๋‚ด์—ญ) for a specific date, and distinguishes itself from siblings by noting that exact stop order should be obtained via get_train_run_info or get_train_run_plan. The resource and scope are unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly warns about the single-date snapshot, partial data, duplicates, and lack of stop order, while directing the agent to alternative tools for stop ordering and station code decoding. This is precise when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_train_run_infoB

์—ฌ๊ฐ์—ด์ฐจ ์‹ค์ œ ์šดํ–‰์ •๋ณด ์กฐํšŒ (์šดํ–‰์ผ์žยท์—ญ๋ณ„ ์‹ค์ œ ์ถœ๋ฐœ/๋„์ฐฉ์‹œ๊ฐยท์ •์ฐจ๊ตฌ๋ถ„). run_ymd=ํŠน์ •์ผ์ž(YYYYMMDD), run_ymd_gte/lte=๊ธฐ๊ฐ„ ๋ฒ”์œ„, stn_nm=์—ญ๋ช…(์˜ˆ:์„œ์šธ), mrnt_nm=์ฃผ์šดํ–‰์„ ๋ช…(์˜ˆ:๊ฒฝ๋ถ€์„ )

ParametersJSON Schema
NameRequiredDescriptionDefault
stn_nmNo
mrnt_nmNo
run_ymdNo
run_ymd_gteNo
run_ymd_lteNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states it queries info, which implies a read-only operation, but does not explicitly mention that, nor does it disclose any authentication, rate limits, or output characteristics. This is a significant gap for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the purpose and then lists parameter explanations. It is efficient and well-structured, with no wasted words. The parameter notes are concise yet informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, return values are covered elsewhere. However, the description does not state whether at least one filter is required, whether any combination of parameters is valid, or whether pagination applies. For a query tool with five optional parameters, this missing context could cause incorrect invocations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description fully compensates by explaining every parameter: run_ymd as a specific date in YYYYMMDD format, run_ymd_gte/lte as a date range, stn_nm as station name with example, and mrnt_nm as line name with example. This adds meaning beyond the bare schema and helps the agent construct valid queries.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it queries passenger train actual operation info, including operation date, actual departure/arrival times by station, and stop classification. This is a specific verb+resource. However, it does not explicitly distinguish itself from sibling tools like get_train_run_plan or get_train_run_history, so it loses a point.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides parameter syntax but no guidance on when to use this tool versus alternatives. There is no mention of conditions or scenarios where this tool is preferred over get_train_run_plan or get_train_run_history. The tool name implies 'actual' data, but the description does not elaborate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_train_run_planB

์—ฌ๊ฐ์—ด์ฐจ ์šดํ–‰๊ณ„ํš ์กฐํšŒ (์—ด์ฐจ๋ฒˆํ˜ธยท์ถœ๋ฐœ/๋„์ฐฉ์—ญยท๊ณ„ํš์ถœ๋ฐœ/๋„์ฐฉ์‹œ๊ฐ). run_ymd=ํŠน์ •์ผ์ž(YYYYMMDD), run_ymd_gte/lte=๊ธฐ๊ฐ„ ๋ฒ”์œ„, dptre_stn_nm=์ถœ๋ฐœ์—ญ๋ช…(์˜ˆ:์„œ์šธ), arvl_stn_nm=๋„์ฐฉ์—ญ๋ช…(์˜ˆ:๋ถ€์‚ฐ)

ParametersJSON Schema
NameRequiredDescriptionDefault
run_ymdNo
arvl_stn_nmNo
run_ymd_gteNo
run_ymd_lteNo
dptre_stn_nmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that it is a query (์กฐํšŒ) and describes parameters, but does not disclose any limitations, side effects, permissions, or whether results are real-time or planned. It does not contradict annotations (none exist) but fails to add meaningful behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the purpose and follows with parameter explanations. It is efficient and structured, though the inline parameter list could be seen as slightly dense. It earns its place without excessive verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers parameter semantics well, but it does not clarify parameter combination rules (e.g., whether run_ymd and run_ymd_gte/lte are mutually exclusive) or requiredness (all are optional per schema). The output schema exists, so return format is covered. Overall, it is adequate for a basic query tool but leaves some ambiguities for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description compensates for the 0% schema coverage by explicitly explaining each parameter's meaning and format (run_ymd as YYYYMMDD, run_ymd_gte/lte as date range, station names with examples). This adds significant value beyond the bare schema, which only provides default empty strings and titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear purpose: querying passenger train operation plans, listing specific fields (train number, departure/arrival station, planned times). It is specific about the resource and operation, but does not explicitly differentiate from similar siblings like get_train_run_info or get_train_run_history, so it lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention any conditions, exclusions, or related tools, which is a significant gap given the large number of sibling tools with overlapping functionality.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_train_type_specsA

๋™๋ ฅ์ฐจ ํ˜•๋ณ„์ œ์› ์กฐํšŒ (2024.12.31 ๊ธฐ์ค€, 47๊ฐœ ์ฐจ์ข…). KTXยทKTX-์‚ฐ์ฒœยทKTX-์ด์Œยท๋””์ ค๊ธฐ๊ด€์ฐจยท์ „๊ธฐ๊ธฐ๊ด€์ฐจยท๋””์ ค๋™์ฐจยท์ „๊ธฐ๋™์ฐจยทITX ๋“ฑ ๊ฐ ์ฐจ์ข…์˜ ๋งˆ๋ ฅ(HP)ยท๋ณด์œ ๋Œ€์ˆ˜ยท์ž์ค‘(ํ†ค)ยท๋‚ด์šฉ์—ฐ์ˆ˜ ํฌํ•จ. train_type: ํ˜•๋ณ„๋ช… ๋ถ€๋ถ„์ผ์น˜ (์˜ˆ: 'KTX', '๋””์ ค๊ธฐ๊ด€์ฐจ', '์ „๊ธฐ๊ธฐ๊ด€์ฐจ', 'ITX'). ๋ฏธ์ž…๋ ฅ ์‹œ ์ „์ฒด 47๊ฐœ ๋ฐ˜ํ™˜.

ParametersJSON Schema
NameRequiredDescriptionDefault
train_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the data's effective date and the count of items, and it implies a read-only lookup. However, it does not describe the return format (though an output schema exists), pagination, error behavior, or whether the partial match is case-sensitive or Korean-specific. There is no indication of side effects or performance constraints, but the static nature of the data is adequately hinted. This is a moderate level of transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded: the primary purpose appears first, followed by data scope and parameter usage. There is no redundant information; every sentence contributes. The examples and default behavior are efficiently packed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool, the description is remarkably complete. It covers what data is returned (specific fields), the scope (47 types as of a date), and the parameter semantics. The output schema already handles return structure, so no further details are needed. The description fully enables an agent to invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter with zero description coverage, but the description fully compensates by explaining the partial-match semantics, providing concrete examples (KTX, ๋””์ ค๊ธฐ๊ด€์ฐจ, etc.), and stating the default when omitted. This adds critical meaning beyond the bare schema, making the parameter self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb+resource ('๋™๋ ฅ์ฐจ ํ˜•๋ณ„์ œ์› ์กฐํšŒ' โ€“ power vehicle type specification inquiry) and specifies the scope: as of 2024.12.31, 47 vehicle types. It lists specific train classes (KTX, KTX-Sancheon, etc.) and data fields (horsepower, count, dead weight, service life), making its purpose unmistakable and clearly distinct from the many sibling tools that deal with timetables, run plans, stations, or freight.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on the optional train_type parameter: partial match is supported, examples are given, and the default behavior (return all 47 types when not provided) is stated. However, it does not explicitly compare to alternatives like get_train_codes or get_rolling_stock_by_year, so the when-not-to-use guidance is implicit rather than explicit. The parameter usage is well covered though, warranting a 4.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_transport_stat_codesA

์ˆ˜์†ก์‹ค์  ํ†ต๊ณ„ ์ฝ”๋“œ์ •๋ณด ์กฐํšŒ. ๊ฐ„์„ ยท๊ด‘์—ญยทํ™”๋ฌผ ์ˆ˜์†ก์‹ค์ ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. (๊ตฌ get_carriage_codes โ€” carriageStatistics/codes) ์ตœ์†Œ ํ•˜๋‚˜ ์ด์ƒ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ž…๋ ฅํ•ด์•ผ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

Args: code_type: ์ฝ”๋“œ์œ ํ˜• (์˜ˆ: "stn_cd"=์—ญ์ฝ”๋“œ, "mrnt_cd"=์ฃผ์šดํ–‰์„ ์ฝ”๋“œ, "sbwy_ln_cd"=์ „์ฒ ์„ ์ฝ”๋“œ) code: ์ฝ”๋“œ๊ฐ’ ์ •ํ™•์ผ์น˜ (์˜ˆ: "3900023") value: ์ฝ”๋“œ๋ช… ๋ถ€๋ถ„์ผ์น˜ (์˜ˆ: "์„œ์šธ", "๊ฒฝ๋ถ€")

์ฃผ์˜: ํŒŒ๋ผ๋ฏธํ„ฐ ์—†์ด ํ˜ธ์ถœํ•˜๋ฉด 0๊ฑด ๋ฐ˜ํ™˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. code_type ์ง€์ •์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNo
valueNo
code_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that calling without parameters may return 0 results and recommends code_type. However, it doesn't mention return format, pagination, authentication, or how multiple parameters interact (AND/OR). It adds some behavioral context but leaves important traits undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with a header, a legacy-name note, an Args section, and a caution. It is concise enough, though the legacy-name note adds some verbosity. The most critical usage info (parameter requirement) is front-loaded in the caution.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is a straightforward code lookup with an output schema available, the description covers the essential usage and parameter behavior. It doesn't discuss multiple-parameter combination semantics, but the output schema presumably defines the response. Overall, it is sufficiently complete for an agent to make a correct first call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero descriptions, so the description fully compensates. For each parameter it gives meaning and concrete examples: code_type ('stn_cd', 'mrnt_cd', 'sbwy_ln_cd'), code (exact match with example '3900023'), and value (partial match with examples '์„œ์šธ', '๊ฒฝ๋ถ€'). This goes beyond the bare schema types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('์กฐํšŒ' - inquire) and resource (transport performance statistics codes for trunk/metropolitan/freight transport). It distinguishes itself from generic code tools by specifying the scope, but doesn't explicitly name sibling alternatives, so it's clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides usage guidance: it states that at least one parameter must be provided to get results and recommends specifying code_type. However, it does not discuss when to use this tool versus alternatives like get_train_codes or search_freight_code, so the 'when-not' aspect is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_accessibilityA

๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ์ ‘๊ทผ์„ฑ ์‹œ์„ค ์กฐํšŒ (๊ตํ†ต์•ฝ์ž).

facility_type: elevator ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ํ˜„ํ™ฉ elevator_route ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ์ด๋™๋™์„  elevator_route_detail ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ์ƒ์„ธ ์ด๋™๋™์„ (๊ฒฝ๋กœ ํ…์ŠคํŠธ) escalator ์—์Šค์ปฌ๋ ˆ์ดํ„ฐ ํ˜„ํ™ฉ wheelchair_route ํœ ์ฒด์–ด๋ฆฌํ”„ํŠธ ์ด๋™๋™์„  wheelchair_lift_loc ํœ ์ฒด์–ด๋ฆฌํ”„ํŠธ ์„ค์น˜ ์œ„์น˜(์น˜์ˆ˜ยทํ•œ๊ณ„์ค‘๋Ÿ‰) safety_step ์Šน๊ฐ•์žฅ ์•ˆ์ „๋ฐœํŒ ์„ค์น˜์œ ๋ฌด platform_gap ์Šน๊ฐ•์žฅ-์ฐจ๋Ÿ‰ ์ด๊ฒฉ๊ฑฐ๋ฆฌ braille ์ ์žํ‘œ์‹œ ์œ ๋ฌด disabled_toilet ์žฅ์• ์ธํ™”์žฅ์‹ค ์œ„์น˜ adjacent_elevator ์ธ์ ‘ ์Šน๊ฐ•๊ธฐ ์ฐจ๋Ÿ‰๋ฒˆํ˜ธ stair_car ์ธ์ ‘ ๊ณ„๋‹จ ์ฐจ๋Ÿ‰๋ฒˆํ˜ธ(ํœ ์ฒด์–ด ํ•˜์ฐจ์œ„์น˜) all ์œ„ ์ „์ฒด (์—ญ์ด 1~3๊ฐœ๋กœ ํŠน์ •๋  ๋•Œ๋งŒ) station_name: ์—ญ๋ช…. operator: ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…(์„ ํƒ).

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
operatorNo
station_nameYes
facility_typeNoall

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry behavioral disclosure. It does explain how to handle data timestamps (based on _meta '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ') and tells the agent to report empty results explicitly ('ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'). It also constrains the 'all' facility_type to 1-3 specific stations. However, it doesn't mention other behaviors like rate limits, authentication, or result structure (though an output schema exists).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is lengthy, with the facility_type list and a separate block of answer guidelines. It is organized and front-loaded with the core purpose, but the answer instructions (tone, repetition, phone-number rules) are verbose and could be streamlined. While every part adds some value, it lacks the brevity of top-tier descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a query tool with an output schema, the description covers essential context: what facility types exist, the station name required, and the operator parameter. It also includes critical usage constraints (e.g., 'all' only for 1-3 stations) and response rules for data freshness and empty results. These details make it sufficiently complete for an agent to call correctly, though it doesn't address authentication or other operational aspects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Since schema description coverage is 0% and there are no enums, the description is the sole source of parameter meaning. It fully documents facility_type with all options and Korean labels, explains station_name and operator, and even adds usage constraints for 'all'. This is exemplary compensation for the schema's lack of detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves urban railway station accessibility facilities for transportation-disadvantaged users ('๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ์ ‘๊ทผ์„ฑ ์‹œ์„ค ์กฐํšŒ (๊ตํ†ต์•ฝ์ž)'). It enumerates facility types, which specifies the resource. However, it does not differentiate from sibling tools like get_accessible_facilities or list_stations_with_elevator, so it lacks explicit sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. The extensive answer guidelines about data timestamps and tone are about response formatting, not selection criteria. There is no mention of prerequisites, exclusions, or conditions that would route an agent to this tool over its siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_amenityA

๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ํŽธ์˜์‹œ์„ค ์กฐํšŒ.

amenity_type: toilet(ํ™”์žฅ์‹ค) / nursing_room(์ˆ˜์œ ์‹ค) / locker(๋ฌผํ’ˆ๋ณด๊ด€ํ•จ) / atm(ATM) / lost_found(์œ ์‹ค๋ฌผ์„ผํ„ฐ) / wifi(๋ฌด์„ ์ธํ„ฐ๋„ท) / all(์ „์ฒด) station_name: ์—ญ๋ช…. operator: ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…(์„ ํƒ).

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
operatorNo
amenity_typeNoall
station_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations carry nothing, so the description bears the full burden and does well: '์กฐํšŒ' signals read-only, and the detailed data-recency reporting rules (recent vs. old modification date tones, single notice based on oldest dataset, don't fabricate empty results) disclose real behavioral traits beyond any structured field. Slightly verbose but substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and parameters are front-loaded, which is good. But the answer-guidelines block is long and somewhat repetitive โ€” the 'single notice / don't repeat' rule is stated more than once, and the phone-number policy is over-qualified. Every sentence earns its place but it could be tighter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values are covered, and the description documents all parameters plus detailed presentation rules including empty-result handling. The only gaps are unaddressed operational details like rate limits or error conditions, which are minor for a lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% yet the description fully documents all three parameters: amenity_type with all valid values, station_name semantics, and operator as optional code/name. It even supplies the enum set that the schema lacks. This is textbook compensation for an undocumented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: '๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ํŽธ์˜์‹œ์„ค ์กฐํšŒ' (urban railway station amenity lookup), and enumerates the exact amenity types (toilet, nursing_room, locker, atm, lost_found, wifi, all). This clearly distinguishes it from sibling tools like get_urban_safety or get_urban_environment, whose scope is different, even though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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 tool versus the many get_urban_* / get_station_facilities siblings. However, the description gives substantial answer-formatting guidance (data-recency tone, not repeating the notice, saying 'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ' when empty), which helps the agent use results correctly. Tool-selection guidance is missing, so not a 4.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_environmentA

๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ํ™˜๊ฒฝ์ธก์ • ์ •๋ณด ์กฐํšŒ (๊ณต๊ธฐ์งˆยท์˜จ๋„ยท์Šต๋„ยท์†Œ์Œ).

measure: air_quality(๊ณต๊ธฐ์งˆยท๋ฏธ์„ธ๋จผ์ง€ยทCO2) / temperature(์˜จ๋„) / humidity(์Šต๋„) / noise(์†Œ์Œ๋„) / all(์ „์ฒด) station_name: ์—ญ๋ช…. operator: ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…(์„ ํƒ). ์ฃผ์˜: ํ™˜๊ฒฝ์ธก์ •๊ธฐ๋Š” ์ผ๋ถ€ ์šด์˜๊ธฐ๊ด€ยท์—ญ์—๋งŒ ์„ค์น˜๋˜์–ด ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์„ ์ˆ˜ ์žˆ๋‹ค (ํŠนํžˆ ์†Œ์Œ๋„). ์ธก์ •๊ฐ’์—๋Š” ์ธก์ •์ผ์‹œ(msmtDttm)๊ฐ€ ํ•จ๊ป˜ ์˜จ๋‹ค.

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
measureNoall
operatorNo
station_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that data may be absent for some operators/stations, and that measurement timestamps (msmtDttm) accompany values. However, it does not mention error behavior, response structure, authentication, or rate limits. The extensive answer-guideline section addresses response tone but not core behavioral aspects. It adds some value beyond a bare description but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core description is concise (one line), but it is followed by a long 'answer guidelines' section that instructs how to phrase responses based on data freshness. This is more about assistant behavior than tool invocation, adding significant verbosity. While structured and purposeful, it dilutes the focus and is longer than necessary for a tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (which likely covers response structure), the description adequately explains inputs, data availability caveats, and measurement timestamp inclusion. It also provides guidance on handling empty results ('ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'). Missing details like authentication or pagination are minor given the schema and the tool's scope. Overall, it is sufficiently complete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, requiring the description to compensate. It explicitly explains 'measure' with enumerated values (air_quality, temperature, humidity, noise, all) and their meanings, and clarifies 'station_name' and 'operator' (optional). This is sufficient for an agent to populate parameters correctly, though it could be more detailed about operator code formats.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb and resource: '๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ํ™˜๊ฒฝ์ธก์ • ์ •๋ณด ์กฐํšŒ' (retrieval of urban railway station environment measurement info). It lists the specific measures (air quality, temperature, humidity, noise) and distinguishes itself from sibling tools like get_urban_train_environment and get_urban_surroundings by focusing on environmental measurements. The purpose is unambiguous and specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this tool versus alternatives. It mentions a caution about data availability (some operators/stations have no sensors) but does not indicate when this tool is preferred over siblings (e.g., get_urban_surroundings or get_urban_train_environment). No exclusions or alternative conditions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_exit_infoA

๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ์ถœ๊ตฌ์ •๋ณด ์กฐํšŒ (์ถœ๊ตฌ๋ฒˆํ˜ธยท์ฃผ๋ณ€์‹œ์„คยท๊ฑฐ๋ฆฌ). station_name: ์—ญ๋ช…. operator: ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…(์„ ํƒ).

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
operatorNo
station_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It identifies the operation as a read/inquiry (์กฐํšŒ) implying no side effects, and it includes detailed response behavior guidelines (adapting tone based on _meta's data modification date, not fabricating missing data). However, it does not disclose potential limitations like authentication requirements or rate limits, which would be atypical for a query tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is verbose. After the clear one-sentence purpose and brief param definitions, it includes a lengthy block of answer-guide instructions about timestamp handling and tone. While relevant, these rules could be condensed or moved to a referenced section, and the overall length exceeds what is typical for a tool definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists (though not shown), the description covers the essential invocation aspects: purpose, parameter meanings, and key response behavior (including empty-result handling). It lacks explicit usage alternatives or prerequisites, but the tool is self-contained and callable with the provided information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description explicitly defines both parameters: station_name as the station name and operator as the operating agency code/name (optional). This adds meaning beyond the bare string types in the schema. It lacks format examples or value restrictions, but it sufficiently clarifies the purpose of each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('์กฐํšŒ' - retrieve/inquire) and a concrete resource ('๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ์ถœ๊ตฌ์ •๋ณด' - urban railway station exit information), listing the exact fields (์ถœ๊ตฌ๋ฒˆํ˜ธ, ์ฃผ๋ณ€์‹œ์„ค, ๊ฑฐ๋ฆฌ). This clearly differentiates it from siblings like get_urban_transfer_info and get_urban_platform, which cover different aspects of a station.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose statement makes it obvious that this tool is for exit information, but it does not explicitly state when to use this tool versus its many siblings, nor does it mention any exclusions or alternatives. Usage is implied rather than articulated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_movementA

๋„์‹œ์ฒ ๋„ ๊ตํ†ต์•ฝ์ž ์ถœ์ž…๊ตฌโ†’์Šน๊ฐ•์žฅ ์ด๋™๊ฒฝ๋กœ(๋™์„ ) ์กฐํšŒ.

์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ๋“ฑ ๋ฌด์žฅ์•  ๊ฒฝ๋กœ๋ฅผ ์ถœ์ž…๊ตฌ๋ถ€ํ„ฐ ์Šน๊ฐ•์žฅ๊นŒ์ง€ ๋‹จ๊ณ„๋ณ„ ํ…์ŠคํŠธ(mvContDtl)์™€ ์•ˆ๋‚ด ์ด๋ฏธ์ง€(imgPath)๋กœ ์ œ๊ณตํ•œ๋‹ค. station_name: ์—ญ๋ช…. operator: ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…(์„ ํƒ). line: ๋…ธ์„ (์„ ํƒ). next_station: ์—ด์ฐจ ์ง„ํ–‰๋ฐฉ๋ฉด์˜ '๋‹ค์Œ ์—ญ๋ช…'(์Šน๊ฐ•์žฅ ๋ฐฉํ–ฅ ํŠน์ •์— ์‚ฌ์šฉ). ๊ฐ™์€ ๋…ธ์„ ์˜ ๋‹ค์Œ ์—ญ๋ช…์„ ๋„ฃ๋Š”๋‹ค. ๋ฏธ์ž…๋ ฅ ์‹œ ๋ฐฉ๋ฉด ๊ตฌ๋ถ„ ์—†์ด ์กฐํšŒ. ์ฐธ๊ณ : ์—ญ ๋‚ด ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ์ƒ์„ธ ๋™์„ ์€ get_urban_accessibility(elevator_route_detail)๋„ ์žˆ๋‹ค.

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
lineNo
operatorNo
next_stationNo
station_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully carries behavioral disclosure. It reveals that results include step-by-step text (mvContDtl) and an image (imgPath), and provides detailed answer guidelines on managing data recency notifications, tone variation, and empty-result handling. This exceeds typical disclosure and is directly actionable for the agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core tool description is concise and front-loaded with the purpose. The appended answer-guidelines section is lengthy but highly relevant for consistent output handling, so every part earns its place. Could be trimmed, but the structure is logical and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the existence of an output schema, the description covers purpose, parameter roles, alternatives, and even response formatting rules. It leaves nothing essential unexplained for correct invocation and result interpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does explain every parameter's meaning, especially next_station with its purpose of specifying platform direction and the instruction to use the same-line next station. However, it doesn't define valid operator codes or line formats, leaving some semantic gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb+resource: '๋„์‹œ์ฒ ๋„ ๊ตํ†ต์•ฝ์ž ์ถœ์ž…๊ตฌโ†’์Šน๊ฐ•์žฅ ์ด๋™๊ฒฝ๋กœ(๋™์„ ) ์กฐํšŒ' โ€” an explicit statement of what is queried. It also distinguishes itself from the sibling tool get_urban_accessibility by naming it as an alternative for elevator-specific routes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Each parameter is explained with its role (station_name, operator, line, next_station) and the special use of next_station to specify platform direction. It explicitly names get_urban_accessibility as the alternative tool for elevator detail, giving clear when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_platformA

๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ์Šน๊ฐ•์žฅ ์ •๋ณด ์กฐํšŒ (์Šน๊ฐ•์žฅ ์œ ํ˜•ยท๋ณตํ•ฉ์—ฌ๋ถ€ยท์•ˆ์ „๋ฐœํŒ ๋“ฑ). station_name: ์—ญ๋ช…. operator: ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…(์„ ํƒ).

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
operatorNo
station_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it delivers substantial detail: disclose data recency based on _meta's ๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ, adjust tone/verbosity by date (recent vs old), avoid repeating notices, include phone numbers only when asked or in emergencies, and honestly report missing results rather than fabricating. This is meaningful, actionable behavioral context beyond any schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first line, followed by brief parameter notes. The bulk is the answer guideline block, which is verbose but each rule is specific and actionable (recency line vs warning line, single-notice rule, empty-result honesty). Somewhat long, but no wasted sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value handling need not be spelled out, and params plus behavioral presentation rules are thoroughly covered. The major gap is selection context: among the dense cluster of get_urban_* siblings (station_info, accessibility, exit_info, safety), nothing tells the agent when platform data is the right answer. For correct invocation this distinction is essential.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does: station_name is defined as ์—ญ๋ช… (station name) and operator as ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช… (operator code/name) with an explicit '(์„ ํƒ)' optionality marker matching the schema default. This adds meaning the bare schema lacks, though only briefly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with '๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ์Šน๊ฐ•์žฅ ์ •๋ณด ์กฐํšŒ' (urban railway station platform info inquiry) plus specific data types (์Šน๊ฐ•์žฅ ์œ ํ˜•ยท๋ณตํ•ฉ์—ฌ๋ถ€ยท์•ˆ์ „๋ฐœํŒ - platform type, complexity, safety footboard). This is a specific verb+resource with concrete content. However, it does not explicitly distinguish itself from siblings like get_urban_station_info or get_urban_accessibility, relying on the word 'platform' to differentiate by implication.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus the 80+ sibling tools, particularly the overlapping get_urban_station_info, get_urban_accessibility, and get_urban_safety. The [๋‹ต๋ณ€ ์ง€์นจ] section covers data-recency presentation rules, not tool selection context. An agent cannot determine whether a station query should hit this tool or its siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_routeA

๋„์‹œ์ฒ ๋„ ๋…ธ์„  ์ „์ฒด ์—ญ ๊ตฌ์„ฑ(์ƒํ–‰~ํ•˜ํ–‰ ์ˆœ์„œ) ์กฐํšŒ. ์—ญ ๋ฌด๊ด€, ๋…ธ์„  ๋‹จ์œ„.

line: ์„ ์ฝ”๋“œ(์˜ˆ '1','A1','I1') ๋˜๋Š” ๋…ธ์„ ๋ช… ์ผ๋ถ€(์˜ˆ '1ํ˜ธ์„ ','๊ฒฝ์˜์ค‘์•™'). region: ๊ถŒ์—ญ โ€” ์ˆ˜๋„๊ถŒ/๋ถ€์‚ฐ/๋Œ€๊ตฌ/๊ด‘์ฃผ/๋Œ€์ „ (๋˜๋Š” ์ฝ”๋“œ 01~05). ์ˆ˜๋„๊ถŒ ๋…ธ์„ ์€ region์„ ํ•จ๊ป˜ ์ฃผ๋ฉด ์ •ํ™•ํ•˜๋‹ค.

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
lineNo
regionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It discloses data-freshness behavior (using _meta data modification time), tone rules by recency, and the instruction not to fabricate empty results. This is meaningful behavioral context, though it does not cover side effects or call-level quirks.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded in one sentence, and parameter guidance is compact. The answer-guideline block is long but earns its place because it prevents recency misstatements and hallucination. It could be trimmed slightly without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter lookup tool with an output schema, the description covers purpose, parameter semantics, data recency, formatting, and empty-result handling. It does not state whether either parameter is required or what happens when both are omitted, but that gap is minor against the overall coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must fully explain the parameters. It does: line with examples ('1','A1','I1','1ํ˜ธ์„ ','๊ฒฝ์˜์ค‘์•™'), region with named areas and code ranges, plus the precision note for metropolitan lines. This goes well beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('์กฐํšŒ'), resource ('๋„์‹œ์ฒ ๋„ ๋…ธ์„  ์ „์ฒด ์—ญ ๊ตฌ์„ฑ'), and ordering ('์ƒํ–‰~ํ•˜ํ–‰ ์ˆœ์„œ'). The phrase '์—ญ ๋ฌด๊ด€, ๋…ธ์„  ๋‹จ์œ„' explicitly distinguishes this route-level tool from station-level siblings such as get_urban_station_info or search_urban_station.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete usage context: line accepts a code or partial name, region accepts a named area or codes 01โ€“05, and metropolitan lines benefit from adding region. It does not explicitly name alternatives or state when not to use the tool, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_safetyA

๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ์•ˆ์ „์‹œ์„ค ์กฐํšŒ.

safety_type: defibrillator(์ œ์„ธ๋™๊ธฐ) / fire_extinguish(์†Œํ™”์„ค๋น„) / emergency_phone(๋น„์ƒ์ฝœํฐ) / air_respirator(๊ณต๊ธฐํ˜ธํก๊ธฐ) / screen_door(์Šคํฌ๋ฆฐ๋„์–ด) / safety_fence(์Šน๊ฐ•์žฅ ์•ˆ์ „ํŽœ์Šค) / all(์ „์ฒด) station_name: ์—ญ๋ช…. operator: ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…(์„ ํƒ).

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
operatorNo
safety_typeNoall
station_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden and does substantial work: it instructs the agent to base data-freshness disclosure on _meta's '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ' or '์ธก์ •์‹œ์ ', to vary tone by recency, not to repeat notices, and to state 'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ' rather than fabricate empty results. This adds real behavioral context beyond the schema, though it does not mention auth, rate limits, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, followed by compact parameter documentation and a structured answer guideline block. The length is justified by the behavioral instructions, and there is little redundancy, though the guidance could be slightly tightened without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity, the description covers the required parameter, enumerates safety types, explains optionality, and specifies important response behavior around data recency and empty results. An output schema exists, so return-value documentation is not required. The main gap is the absence of explicit guidance for choosing this tool among the many facility-related sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does. It explains station_name (์—ญ๋ช…), operator (์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…, optional), and safety_type with all allowed values and Korean labels. It does not provide examples or format details for operator codes, but it meaningfully expands on the bare schema properties.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening phrase '๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ์•ˆ์ „์‹œ์„ค ์กฐํšŒ' clearly identifies a specific verb (์กฐํšŒ/inquiry), a resource (urban railway station safety facilities), and a distinct scope. The enumerated safety_type values further narrow the purpose and separate it from nearby sibling tools like get_station_facilities or get_urban_amenity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for querying urban railway station safety facilities, and it explains the role of each parameter, but it does not explicitly state when to use this tool over alternatives or when not to use it. No sibling alternatives are mentioned, so the agent must infer usage from the purpose statement and name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_station_infoA

๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ๊ธฐ๋ณธ์ •๋ณด ์กฐํšŒ (์ฃผ์†Œยท์ขŒํ‘œยท๋‹ค๊ตญ์–ด ์—ญ๋ช…). station_name: ์—ญ๋ช…. operator: ํ™˜์Šน์—ญ ๊ตฌ๋ถ„์šฉ ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…(์„ ํƒ).

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
operatorNo
station_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the full burden โ€” and it delivers richly. It discloses the KRIC data source with a modification date, prescribes tone based on data age (recent vs old), restricts phone-number disclosure to explicit requests or emergency/safety cases, defines multi-dataset handling (oldest date, single notice), and imposes an explicit anti-fabrication policy for empty results. This is far beyond what annotations would provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first line, followed by parameter definitions, then the guidance block. The Korean text is verbose, but the guidance block is dense with actionable, specific rules (freshness tone, phone-number policy, no-repeat rule) rather than filler. Every section earns its place, though the answer-guidance could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value explanation is unnecessary. The description covers purpose, both parameters, and behavioral rules thoroughly. The main gaps are the lack of explicit sibling routing and the operator value format, but for a 2-parameter, 1-required tool with an output schema, the definition is substantially complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, and it does: station_name is defined as ์—ญ๋ช… and operator as 'ํ™˜์Šน์—ญ ๊ตฌ๋ถ„์šฉ ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช… (์„ ํƒ)' โ€” adding real meaning to the bare string schema, especially for the otherwise cryptic operator parameter. It could specify the operator value format more precisely, but both parameters receive coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opening line states a specific verb+resource: '๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ๊ธฐ๋ณธ์ •๋ณด ์กฐํšŒ' (retrieve urban railway station basic info) with the scoping fields (์ฃผ์†Œยท์ขŒํ‘œยท๋‹ค๊ตญ์–ด ์—ญ๋ช…). This clearly differentiates from sibling tools that cover specific aspects like transfer info (get_urban_transfer_info), platforms (get_urban_platform), or exits (get_urban_exit_info).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description contains no explicit when-to-use guidance or named alternatives. The operator parameter note ('ํ™˜์Šน์—ญ ๊ตฌ๋ถ„์šฉ') implies a transfer-station distinction from get_urban_transfer_info, but the agent is never told which of the many sibling station tools to prefer and when. The [๋‹ต๋ณ€ ์ง€์นจ] block governs answer tone, not tool selection. Usage context is only implied by the purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_surroundingsA

๋„์‹œ์ฒ ๋„ ์—ญ ์ฃผ๋ณ€ ์‹œ์„ค ์กฐํšŒ (๋Œ€์ค‘๊ตํ†ตยท์ฃผ์ฐจ์žฅยท์ž์ „๊ฑฐ).

kind: public_transport(์ฃผ๋ณ€ ๋ฒ„์Šค ๋“ฑ ๋Œ€์ค‘๊ตํ†ต) / parking(์ฃผ๋ณ€ ์ฃผ์ฐจ์žฅ) / bike_parking(์ž์ „๊ฑฐ ์ฃผ์ฐจ์‹œ์„ค) / bike_rental(์ž์ „๊ฑฐ ๋Œ€์—ฌ) / all(์ „์ฒด) station_name: ์—ญ๋ช…. operator: ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…(์„ ํƒ).

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoall
operatorNo
station_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description assumes the burden and discloses important behavior: it details how to tailor the answer based on the data modification date in _meta, when to add warnings, and that empty results must be reported as 'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ' rather than fabricated. This is substantive behavioral context that an agent would not otherwise know.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is organized into a one-line purpose, a compact parameter list, and a clearly separated answer-guidelines block. It is longer than average, but the extensive recency rule is essential and non-redundant; only a slight repetition of 'don't repeat the notice' could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value documentation is not required. The description covers the unusual output behavior (geographic data freshness, tone adjustment, empty-result handling) thoroughly. Remaining gaps are minor, such as exact accepted formats for station_name and operator, but they are partially addressed in the parameter list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description manually defines all three parameters: kind with its allowed values, station_name as the station name, and operator as an optional institution code/name. It adds meaning beyond the bare schema, even though exact value formats for station_name and operator are left open.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific operation '๋„์‹œ์ฒ ๋„ ์—ญ ์ฃผ๋ณ€ ์‹œ์„ค ์กฐํšŒ' (retrieve facilities around urban railway stations) and enumerates the exact facility categories: public_transport, parking, bike_parking, bike_rental. This clearly states the resource and distinguishes it from the many other urban-* sibling tools, though it does not explicitly differentiate from close relatives like get_urban_amenity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

When to use the tool is implied by the purpose and the kind parameter values: an agent should call it when a user asks about public transport, parking, or bicycle facilities near an urban station. However, there are no explicit exclusion criteria or pointers to alternative sibling tools, so the guidance is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_timetableA

๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ๋ณ„ ์šดํ–‰์‹œ๊ฐํ‘œ(์—ด์ฐจ ๋„์ฐฉยท์ถœ๋ฐœ์‹œ๊ฐ) ์กฐํšŒ.

station_name: ์—ญ๋ช…. operator: ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…(์„ ํƒ). day: ์š”์ผ โ€” ํ‰์ผ/ํœด์ผ/ํ† /์ผ/์›”~๊ธˆ ๋˜๋Š” ์ „์š”์ผ. (๊ธฐ๋ณธ ํ‰์ผ) express: True๋ฉด ๊ธ‰ํ–‰ ์‹œ๊ฐํ‘œ(์šด์˜๊ธฐ๊ด€์— ๋”ฐ๋ผ ๋ฏธ์ œ๊ณต์ผ ์ˆ˜ ์žˆ์Œ).

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
dayNoํ‰์ผ
expressNo
operatorNo
station_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It discloses important behaviors: how data freshness should be reported based on _meta's data modification date, tone variation by recency, handling of empty results, and that express timetables may not be available for some operators. This is substantial, though it does not cover all potential behaviors such as error conditions or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well organized: purpose first, then parameter semantics, then answer-response guidelines. It is longer than typical but most sentences earn their place because they define allowed values, default behavior, and critical reply instructions. Slight redundancy in the repeated warnings about not repeating disclaimers keeps it from being perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, all parameters, response freshness rules, and empty-result behavior, while an output schema exists for return-value shape. A minor gap is that station_name is only described as '์—ญ๋ช…' without clarifying whether exact names, aliases, or codes are expected, but overall the tool is well specified for an agent to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description fully compensates by explaining each parameter: station_name is the station name, operator is optional code/name, day enumerates allowed values and the default, and express describes the boolean's effect and caveat. This adds meaning far beyond the raw schema property names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: '๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ๋ณ„ ์šดํ–‰์‹œ๊ฐํ‘œ(์—ด์ฐจ ๋„์ฐฉยท์ถœ๋ฐœ์‹œ๊ฐ) ์กฐํšŒ' โ€” querying urban railway station-specific timetable with arrival/departure times. This clearly distinguishes it from sibling tools focused on station info, accessibility, routes, or facilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose statement and parameter explanations make the usage context clear: use this tool when the user needs a station-specific urban railway timetable, optionally filtered by day, operator, or express vs regular service. It does not explicitly name alternatives or state when not to use it, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_train_compositionA

๋„์‹œ์ฒ ๋„ ์šด์˜๊ธฐ๊ด€๋ณ„ ์—ด์ฐจ ํŽธ์„ฑ์ข…๋ฅ˜ ์กฐํšŒ (์—ญ ๋ฌด๊ด€).

ํŽธ์„ฑ์œ ํ˜•์ฝ”๋“œ(cpsTpCd)ยทํŽธ์„ฑ๋ช…ยทํ˜ธ์ฐจ๋ณ„ ์ขŒ์„/์ถœ์ž…๋ฌธ์ˆ˜/๊ตํ†ต์•ฝ์ž์„ ๋“ฑ์„ ์ค€๋‹ค. ์ด ๋„๊ตฌ๋กœ ์–ป์€ cpsTpCd์™€ ํ˜ธ์ฐจ(scarNo)๋ฅผ get_urban_train_facility์˜ composition_typeยทscar_seq ์ธ์ž๋กœ ๋„˜๊ฒจ ์ฐจ๋Ÿ‰๋ณ„ ์‹œ์„ค์„ ์กฐํšŒํ•œ๋‹ค. operator: ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ(์˜ˆ 'BS') ๋˜๋Š” ๋ช…(์˜ˆ '๋ถ€์‚ฐ๊ตํ†ต๊ณต์‚ฌ'). ์ฐธ๊ณ : ์„œ์šธ๊ตํ†ต๊ณต์‚ฌ(S1)ยทํ•œ๊ตญ์ฒ ๋„๊ณต์‚ฌ(KR)ยท๊ณตํ•ญ์ฒ ๋„(AR)๋Š” ํŽธ์„ฑ๋ฐ์ดํ„ฐ ๋ฏธ์ œ๊ณต. ๋ถ€์‚ฐ(BS)ยท๋Œ€๊ตฌ(DG)ยท์ธ์ฒœ(IC)ยท๋Œ€์ „(DJ)ยท๊ด‘์ฃผ(GJ) ๋“ฑ์€ ์ œ๊ณต.

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
operatorYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations available, the description carries the full burden and succeeds: it discloses the return contents, input format variation, agency availability limitations, the use of '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ' from _meta to indicate data recency, and the mandated behavior for stale data and empty results. It even tells the model not to fabricate data when the result is empty.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and fields, then parameter guidance, then data availability, and finally response formatting rules. The answer-guidance section is extensive, but it is relevant to behavioral transparency and is clearly separated into a directed block; a slight trim would still improve conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with an output schema present, the description covers invocation semantics, output fields, downstream usage, provider exclusions, and response expectations. Nothing an agent needs to call the tool correctly or interpret its result is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the schema only defines operator as a string, so this description is the sole source of parameter meaning. It adds concrete semantics by stating that operator can be either a code like 'BS' or a name like '๋ถ€์‚ฐ๊ตํ†ต๊ณต์‚ฌ', which materially improves correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: '๋„์‹œ์ฒ ๋„ ์šด์˜๊ธฐ๊ด€๋ณ„ ์—ด์ฐจ ํŽธ์„ฑ์ข…๋ฅ˜ ์กฐํšŒ (์—ญ ๋ฌด๊ด€)' and enumerates the returned fields (composition type code, composition name, seat/door/wheelchair counts per car). It also distinguishes itself from sibling tools by explaining that the result is independent of station and by identifying get_urban_train_facility as the downstream consumer of its outputs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly explains how to chain this tool with get_urban_train_facility by passing cpsTpCd and scarNo into composition_type and scar_seq, and it lists agencies that do or do not provide the data. However, it does not explicitly contrast this tool with other sibling tools that fetch similar rolling-stock or train composition data, so the exclusion guidance is only partial.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_train_environmentA

๋„์‹œ์ฒ ๋„ ์—ด์ฐจ ์ฐจ๋‚ด ํ™˜๊ฒฝ์ •๋ณด ์กฐํšŒ (CO2ยท๋ฏธ์„ธ๋จผ์ง€ยท์˜จ๋„ยท์Šต๋„ยท์†Œ์Œ ๋“ฑ, ์—ญ ๋ฌด๊ด€).

operator: ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ(์˜ˆ 'S1') ๋˜๋Š” ๋ช…(์˜ˆ '์„œ์šธ๊ตํ†ต๊ณต์‚ฌ'). train_no: ์—ด์ฐจ๋ฒˆํ˜ธ(์„ ํƒ). ๋ฏธ์ž…๋ ฅ ์‹œ ํ•ด๋‹น ์šด์˜๊ธฐ๊ด€ ์ „์ฒด ์ธก์ • ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค (์‚ฌ์šฉ์ž๊ฐ€ ์—ด์ฐจ๋ฒˆํ˜ธ๋ฅผ ๋ชจ๋ฅผ ๋•Œ๊ฐ€ ๋งŽ์œผ๋ฏ€๋กœ ๋ณดํ†ต ์ƒ๋žต). measure: ํ™˜๊ฒฝ์ธก์ • ํ•ญ๋ชฉ์ฝ”๋“œ(envrMsmtDvCd) โ€” 1 ๋ฏธ์„ธ๋จผ์ง€(PM10), 2 CO2, 21 ์˜จ๋„, 22 ์Šต๋„, 23 ์†Œ์Œ ๋“ฑ. ๋ฏธ์ž…๋ ฅ ์‹œ ์ „์ฒด ํ•ญ๋ชฉ. ์ฐธ๊ณ : ์ฐจ๋‚ด ํ™˜๊ฒฝ ๋ฐ์ดํ„ฐ๋Š” ์„œ์šธ๊ตํ†ต๊ณต์‚ฌ(S1)ยท๋ถ€์‚ฐ(BS)ยท๋Œ€๊ตฌ(DG) ๋“ฑ ์ผ๋ถ€ ๊ธฐ๊ด€๋งŒ ์ œ๊ณต. ํ•œ๊ตญ์ฒ ๋„๊ณต์‚ฌ(KR)ยท๊ณตํ•ญ์ฒ ๋„(AR) ๋“ฑ์€ ๋ฏธ์ œ๊ณต.

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
measureNo
operatorYes
train_noNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it explains that operator is required, train_no and measure are optional with defaults, only some operators are supported, and includes detailed answer guidelines about handling data recency, tone, and empty results. It adds significant behavioral context beyond the raw schema, though it does not describe the exact response structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose and parameters are front-loaded and clearly structured, but the answer guidelines section is lengthy and detailed, covering tone rules, date handling, and when to include phone numbers. While valuable, these instructions add significant verbosity and go beyond the typical tool description scope, reducing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists (though not shown) and the description covers purpose, parameters, data availability, and answer formatting, it is fairly complete for a query tool. It does not mention pagination, limits, or error handling, but the presence of an output schema and detailed parameter notes mitigate these gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description is the sole source of parameter meaning. It explains operator (code or name), train_no (optional, defaults to all measurements), and measure (environmental measurement code with concrete examples like 1 for PM10, 2 for CO2, 21 temperature, 22 humidity, 23 noise). This fully compensates for the absent schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: '๋„์‹œ์ฒ ๋„ ์—ด์ฐจ ์ฐจ๋‚ด ํ™˜๊ฒฝ์ •๋ณด ์กฐํšŒ' (query urban railway train in-car environment information), enumerating metrics (CO2, fine dust, temperature, humidity, noise) and notes '์—ญ ๋ฌด๊ด€' (station-independent). This clearly differentiates it from sibling tools like get_urban_environment (station environment) and get_urban_train_facility.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a note on which operators supply data (S1, BS, DG vs. KR, AR), which aids in deciding if the tool will return results, but it does not explicitly name alternatives or state when to prefer this over get_urban_environment. Usage context is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_train_facilityA

๋„์‹œ์ฒ ๋„ ์ฐจ๋Ÿ‰(ํ˜ธ์ฐจ)๋ณ„ ์‹œ์„ค ์กฐํšŒ (์—ญ ๋ฌด๊ด€).

facility_type: fire_extinguisher(์†Œํ™”๊ธฐ) / emergency_phone(๋น„์ƒ์ฝœํฐ) / crush_hammer(๋น„์ƒํƒˆ์ถœ๋ง์น˜) / door_manual(์ถœ์ž…๋ฌธ ์ˆ˜๋™์„ค์ •) / defibrillator(์ œ์„ธ๋™๊ธฐ) / pregnant_seat(์ž„์‚ฐ๋ถ€ ๋ฐฐ๋ ค์„) / priority_seat(๋…ธ์•ฝ์ž์„) / wheelchair_board(ํœ ์ฒด์–ด ์Šน์ฐจ๊ฐ€๋Šฅ) / wheelchair_belt(ํœ ์ฒด์–ด ์•ˆ์ „๋ฒจํŠธ) / all(์ „์ฒด) operator: ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…. scar_seq: ํ˜ธ์ฐจ์ผ๋ จ๋ฒˆํ˜ธ(scarSqno, ์˜ˆ '1'). composition_type: ํŽธ์„ฑ์œ ํ˜•์ฝ”๋“œ(cpsTpCd). get_urban_train_composition์œผ๋กœ ๋จผ์ € ํ™•์ธํ•œ๋‹ค. ์ฃผ์˜: ์šด์˜๊ธฐ๊ด€๋งˆ๋‹ค ๋ณด์œ  ํ•ญ๋ชฉ์ด ๋‹ฌ๋ผ ์ผ๋ถ€ ์ข…๋ฅ˜๋Š” ๋นˆ ๊ฒฐ๊ณผ์ผ ์ˆ˜ ์žˆ๋‹ค.

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
operatorYes
scar_seqYes
facility_typeNoall
composition_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and covers it well: it warns that some facility types may return empty results per operator, requires reporting data recency based on _meta's '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ' with tone varying by freshness, and explicitly forbids fabricating data when results are empty. Side-effect, auth, and error behavior are not addressed, keeping it below 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and the parameter reference block is compact, but roughly half the description is a verbose answer-guidelines section covering response tone, phone-number policy, and deduplication rules โ€” behavior that arguably belongs in a system prompt rather than a tool definition. It is well-organized but oversized for its tool-selection and invocation purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

All four parameters are documented, the output schema covers return values, empty-result behavior is specified, and the prerequisite sibling get_urban_train_composition is named. Missing is an explicit distinction from get_urban_train_environment and operator-code formatting details, but the tool is invocable without them.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description fully compensates: it expands facility_type into all 10 enum values with Korean labels, defines operator as '์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…', maps scar_seq to scarSqno with an example ('1'), and maps composition_type to cpsTpCd. Every parameter receives meaning the schema does not provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening line '๋„์‹œ์ฒ ๋„ ์ฐจ๋Ÿ‰(ํ˜ธ์ฐจ)๋ณ„ ์‹œ์„ค ์กฐํšŒ (์—ญ ๋ฌด๊ด€)' names a specific verb (์กฐํšŒ/lookup) and resource (facilities by urban railway carriage), and the '(์—ญ ๋ฌด๊ด€)' qualifier distinguishes it from the many station-based sibling tools. It stops short of a 5 because it does not explicitly differentiate itself from the similar-sounding get_urban_train_environment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

One explicit routing instruction is present: 'get_urban_train_composition์œผ๋กœ ๋จผ์ € ํ™•์ธํ•œ๋‹ค' (verify composition type with get_urban_train_composition first), and the caution that operators differ so some facility types return empty results sets interpretation expectations. However, there is no explicit when-to-use versus alternatives, no exclusions, and no guidance on how to choose between this and get_urban_train_environment.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_urban_transfer_infoA

๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ํ™˜์Šน์ •๋ณด ์กฐํšŒ (ํ™˜์Šน๋…ธ์„ ยทํ™˜์Šน๊ฑฐ๋ฆฌยท๋™์„ ). station_name: ์—ญ๋ช…. operator: ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…(์„ ํƒ).

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
operatorNo
station_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden does substantial work: it specifies how data recency from _meta's '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ' should be reported, tone rules for recent vs. outdated data, the notify-once-by-oldest-date rule, the prohibition on repeating notices, and the explicit 'don't fabricate, say ๋ฐ์ดํ„ฐ ์—†์Œ' instruction for empty results. It lacks auth/rate-limit detail but the output schema covers return shape, making this strong behavioral coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose and parameter meanings are front-loaded in the first two lines, followed by a structured bullet-point guidance section that earns its length by encoding multi-branch formatting rules. The guidance block is dense but not redundant; mild verbosity in the answer guidelines prevents a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter tool with an output schema present, the description covers purpose, both parameter semantics, and exhaustive response-handling behavior. The main gap is not differentiating against the get_station_transfer_info sibling, no explanation of the 'operator' value format. Otherwise an agent has enough to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description is the sole source of parameter meaning. It defines station_name as '์—ญ๋ช…' (station name) and operator as '์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ/๋ช…(์„ ํƒ)' (operating agency code/name, optional), correctly reflecting the operator default and required-status of station_name. It adds the optionality and semantic role beyond the bare schema, though it omits format examples or code-list references.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: '๋„์‹œ์ฒ ๋„ ์—ญ์‚ฌ ํ™˜์Šน์ •๋ณด ์กฐํšŒ' (urban railway station transfer info lookup) and enumerates the data scope (ํ™˜์Šน๋…ธ์„ ยทํ™˜์Šน๊ฑฐ๋ฆฌยท๋™์„  โ€“ transfer routes, distances, movement paths). This is specific enough to convey the tool's purpose, and the 'urban' qualifier distinguishes it from the non-urban sibling get_station_transfer_info, though that sibling is not named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The long '๋‹ต๋ณ€ ์ง€์นจ' (answer guidelines) block governs response formatting โ€” data recency notices, tone variation by modification date, and empty-result handling โ€” none of which help an agent choose this tool over alternatives like get_station_transfer_info, search_urban_station, or get_urban_station_info. No when-to-use, when-not-to-use, or prerequisite guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_wagon_by_load_capacityA

ํ™”์ฐจ ์ ์žฌํ•˜์ค‘๋ณ„ ๋ณด์œ ํ˜„ํ™ฉ ์กฐํšŒ (2024.12.31 ๊ธฐ์ค€, 27๊ฐœ ํ•˜์ค‘ ๋“ฑ๊ธ‰). ์ ์žฌํ•˜์ค‘(ํ™”๋ฌผ ์ตœ๋Œ€ ์ ์žฌ ์ค‘๋Ÿ‰) ๋“ฑ๊ธ‰๋ณ„ ์œ ๊ฐœ์ฐจยท๋ฌด๊ฐœ์ฐจยทํ‰ํŒ์ฐจยท์†Œํ™”๋ฌผยท์œ ์กฐ์ฐจยท์ฐจ์žฅ์ฐจยท์นจ์‹์ฐจ ๋ณด์œ  ๋Œ€์ˆ˜. ํ•„๋“œ๋ช… ์ฃผ์˜: '์œ  ๊ฐœ ์ฐจ', '๋ฌด ๊ฐœ ์ฐจ', 'ํ‰ ํŒ ์ฐจ' ๋“ฑ ๋„์–ด์“ฐ๊ธฐ ํฌํ•จ. wagon_type: ์ฐจ์ข… (์˜ˆ: '์œ  ๊ฐœ ์ฐจ', '๋ฌด ๊ฐœ ์ฐจ', 'ํ‰ ํŒ ์ฐจ', '์œ  ์กฐ ์ฐจ'). ํ•ด๋‹น ์ฐจ์ข… ๋ณด์œ ๋Ÿ‰ > 0 ์ธ ํ–‰๋งŒ ๋ฐ˜ํ™˜. min_load: ์ตœ์†Œ ์ ์žฌํ•˜์ค‘ (์˜ˆ: '40'). max_load: ์ตœ๋Œ€ ์ ์žฌํ•˜์ค‘ (์˜ˆ: '60'). ๋ฏธ์ž…๋ ฅ ์‹œ ์ „์ฒด 27๊ฐœ ํ–‰ ๋ฐ˜ํ™˜.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_loadNo
min_loadNo
wagon_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral burden. It discloses the data cutoff date, the filtering rule (positive stock only), the default return of all 27 classes, and a field-name spacing caution. It lacks details on error handling or output format, but for a read tool with an output schema, this is strong coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with a summary line followed by parameter details and a caveat. It is direct and each sentence adds value, though it is slightly longer than the bare minimum. Front-loading the purpose and then refining with specifics is effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only query with an output schema, the description covers everything an agent needs to invoke it correctly: the filtering semantics, defaults, parameter formats, and a field-name pitfall. No critical gaps remain for successful use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully compensate. It explains wagon_type with concrete examples, min_load and max_load with example values, and clarifies that all are optional with a default result set. This adds real semantic meaning beyond the schema's bare property definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries wagon load-capacity stock by 27 load classes as of a specific date, listing the exact wagon types counted. It distinguishes itself implicitly from get_wagon_by_weight_class by focusing on load capacity rather than weight, giving the agent a precise picture of what it does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains parameter usage and default behavior (returns all 27 rows when inputs are omitted, only rows with stock > 0), but it does not explicitly state when to choose this tool over siblings like get_wagon_by_weight_class. Context is clear, but exclusions and alternative selection are absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_wagon_by_weight_classA

ํ™”์ฐจ ์ž์ค‘๋ณ„ ๋ณด์œ ํ˜„ํ™ฉ ์กฐํšŒ (2024.12.31 ๊ธฐ์ค€, 70๊ฐœ ์ž์ค‘ ๊ตฌ๊ฐ„). ์ž์ค‘(ํ†ค) ๊ตฌ๊ฐ„๋ณ„ ์œ ๊ฐœ์ฐจยท์œ ์กฐ์ฐจยท๋ฌด๊ฐœ์ฐจยทํ‰ํŒ์ฐจยท์†Œํ™”๋ฌผยท์ฐจ์žฅ์ฐจยท์นจ์‹์ฐจ ๋ณด์œ  ๋Œ€์ˆ˜. wagon_type: ์ฐจ์ข… ํ•„ํ„ฐ (์˜ˆ: '์œ ๊ฐœ์ฐจ', '์œ ์กฐ์ฐจ', '๋ฌด๊ฐœ์ฐจ', 'ํ‰ํŒ์ฐจ'). ํ•ด๋‹น ์ฐจ์ข… ๋ณด์œ ๋Ÿ‰ > 0 ์ธ ํ–‰๋งŒ ๋ฐ˜ํ™˜. min_weight: ์ตœ์†Œ ์ž์ค‘(ํ†ค, ์˜ˆ: '20'). max_weight: ์ตœ๋Œ€ ์ž์ค‘(ํ†ค, ์˜ˆ: '25'). ๋ฏธ์ž…๋ ฅ ์‹œ ์ „์ฒด 70๊ฐœ ํ–‰ ๋ฐ˜ํ™˜.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_weightNo
min_weightNo
wagon_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses the as-of date, the 70 weight, the filter behavior (only rows with ownership > 0), the meaning of min/max weight, and the default of returning all rows when parameters are omitted. This is comprehensive for a-only lookup, though it does not address rate limits or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main purpose and then clearly breaks down each parameter on a separate line. It is not excessively long and every sentence adds value, though it could be slightly tighter without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 3 parameters, no annotations, and an output schema, the description covers all essential operational details: filter semantics, default behavior, and the data scope. Minor omissions (e.g., whether/max weights are inclusive) are not critical for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain each. It does so thoroughly: wagon_type with examples and the condition that only rows with positive ownership are returned, min_weight and max_weight with example values, and the default behavior when not entered. This adds significant meaning beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool queries wagon ownership by weight class, specifies the as-of date and the 70 weight sections, and lists the wagon types included. This is a specific verb (์กฐํšŒ) + resource (wagon ownership) + clear scope, making it easy for an agent to from the sibling get_wagon_by_load_capacity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context (filters and default behavior) but does not mention when to use this tool versus the sibling get_wagon_by_load_capacity Given the naming similarity explicit guidance on when to select this tool over alternatives is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_wide_area_carriageA

๊ด‘์—ญ ์—ฌ๊ฐ์—ด์ฐจ ์ˆ˜์†ก์‹ค์  ์กฐํšŒ. ์ „์ฒ ์—ญ๋ณ„ ์‹œ๊ฐ„๋Œ€๋ณ„ ์Šนํ•˜์ฐจ ์ธ์›์ˆ˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ด‘์—ญ์ฒ ๋„(์ˆ˜๋„๊ถŒ ์ „์ฒ  ๋“ฑ) ์ด์šฉ ํ†ต๊ณ„ ์กฐํšŒ์— ์‚ฌ์šฉ.

Args: run_ymd: ํŠน์ • ์šดํ–‰์ผ์ž (YYYYMMDD). ์ž…๋ ฅ ์‹œ ํ•ด๋‹น ๋‚ ์งœ๋งŒ ์กฐํšŒ. run_ymd_gte: ์šดํ–‰์ผ์ž ์‹œ์ž‘ (YYYYMMDD, ์ดํ›„) run_ymd_lte: ์šดํ–‰์ผ์ž ์ข…๋ฃŒ (YYYYMMDD, ์ด์ „) sbwy_ln_cd: ์ „์ฒ ์„ ์ฝ”๋“œ (์˜ˆ: "101") sbwy_ln_nm: ์ „์ฒ ์„ ๋ช… (์˜ˆ: "๊ฒฝ๋ถ€์„ ") sbwy_stn_cd: ์ „์ฒ ์—ญ์ฝ”๋“œ (์˜ˆ: "010000") sbwy_stn_nm: ์ „์ฒ ์—ญ๋ช… (์˜ˆ: "์„œ์šธ") tmwd_se_cd: ์‹œ๊ฐ„๋Œ€๊ตฌ๋ถ„์ฝ”๋“œ (์˜ˆ: "01")

ParametersJSON Schema
NameRequiredDescriptionDefault
run_ymdNo
sbwy_ln_cdNo
sbwy_ln_nmNo
tmwd_se_cdNo
run_ymd_gteNo
run_ymd_lteNo
sbwy_stn_cdNo
sbwy_stn_nmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It clearly indicates a read-only retrieval operation ('์กฐํšŒ', '์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค') and describes the returned data shape: boarding/alighting passenger counts by station and time period. It does not disclose potential limitations like pagination, result size, or data freshness, but for a simple statistics query the core behavior is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: two lead sentences establish purpose and usage context, followed by a tight bullet-style Args list where every line documents a parameter that the schema leaves undocumented. There is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 optional parameters, no annotations, and zero schema coverage, the description covers the tool's purpose, usage context, and all parameter semantics with examples. The main gap is that it does not clarify required combinations or default behavior when no parameters are provided, which is relevant because all parameters are optional.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides zero descriptions (0% schema coverage), but the description fully compensates by documenting all 8 parameters with Korean labels, date semantics (run_ymd exact date vs run_ymd_gte/lte ranges), and concrete examples for codes and names. This adds substantial meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: '๊ด‘์—ญ ์—ฌ๊ฐ์—ด์ฐจ ์ˆ˜์†ก์‹ค์  ์กฐํšŒ' (wide-area passenger train transport performance inquiry) and specifies the output as boarding/alighting counts by subway station and time period. The '๊ด‘์—ญ' and '์ „์ฒ ์—ญ' scope helps distinguish it from mainline/freight carriage siblings, though it does not explicitly differentiate itself from related wide-area statistics tools like get_wide_rail_station_per.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear usage context: '๊ด‘์—ญ์ฒ ๋„(์ˆ˜๋„๊ถŒ ์ „์ฒ  ๋“ฑ) ์ด์šฉ ํ†ต๊ณ„ ์กฐํšŒ์— ์‚ฌ์šฉ' (used for metropolitan railway usage statistics inquiry). This tells an agent when the tool is appropriate, though it does not explicitly state when not to use it or name alternative sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_wide_rail_route_perB

๊ด‘์—ญ์ฒ ๋„ ๋…ธ์„ ๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„ (๊ฐฑ์‹ : ๋งค์›” 26์ผ, M-1). run_ym=์šดํ–‰์—ฐ์›”(YYYYMM), sbwy_ln_nm=์ „์ฒ ์„ ๋ช…

ParametersJSON Schema
NameRequiredDescriptionDefault
run_ymNo
sbwy_ln_nmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full disclosure burden. It reveals the update cadence (monthly on the 26th, M-1), which is useful, but says nothing about output format, sorting, filtering behavior, or data granularity beyond line-level. For a stats tool, this is thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence followed by parameter annotations. It front-loads the core purpose and immediately clarifies the two parameters. No extraneous text; every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 optional parameters) and the presence of an output schema, the description covers the essential input semantics. However, without annotations, it lacks behavioral context such as whether data is historical, how missing values are handled, or any prerequisites. This is a moderate gap for a data-retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description compensates by explicitly defining both parameters: run_ym=์šดํ–‰์—ฐ์›”(YYYYMM) and sbwy_ln_nm=์ „์ฒ ์„ ๋ช…. This adds meaning the schema lacks. It doesn't give enums or constraints, but the semantic mapping is clear and helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides passenger statistics by line for wide-area railway (๊ด‘์—ญ์ฒ ๋„ ๋…ธ์„ ๋ณ„ ์ด์šฉ์ธ์› ํ†ต๊ณ„). It includes the two parameters with meanings, making the purpose unambiguous. It doesn't explicitly contrast with siblings like get_mainline_route_per or get_wide_rail_station_per, but the resource and scope are specific enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not mention when to use this tool versus the many similar sibling tools (e.g., get_mainline_route_per, get_wide_rail_station_per). No context about typical use cases or exclusions is provided. The only extra hint is the update schedule, which is not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_wide_rail_station_perB

๊ด‘์—ญ์ฒ ๋„ ์—ญ๋ณ„ ์Šนํ•˜์ฐจ ํ†ต๊ณ„ (๊ฐฑ์‹ : ๋งค์›” 26์ผ, M-1). run_ym=์šดํ–‰์—ฐ์›”(YYYYMM), stn_nm=์—ญ๋ช…

ParametersJSON Schema
NameRequiredDescriptionDefault
run_ymNo
stn_nmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the update frequency (monthly M-1) which is useful, but it does not disclose whether the operation is read-only, what the output format is (though there is an output schema), whether parameters are required or optional (schema shows defaults), or any pagination/limits. This is insufficient for a data retrieval tool lacking annotation safety hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loads the key purpose, followed by parameter definitions. It includes essential information like the update cadence without any fluff. The structure is efficient, though it could be slightly more organized by separating usage context from parameter mapping.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (two parameters, output schema present) and the fact that parameter semantics are covered, the description is mostly adequate. However, it does not mention any constraints (e.g., whether stn_nm can be partial, whether run_ym must be in the past, or behavior when no data exists). The update schedule is included, but the overall context for agents is minimal, especially considering the large sibling set.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does exactly that by explaining run_ym as operation year-month in YYYYMM format and stn_nm as station name. This adds meaningful semantic information beyond the raw schema, which only provides property names and defaults. The explanation is concise but adequate for parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the resource (wide-area railway stations) and the metric (boarding/alighting statistics). It distinguishes from mainline and other railway types via the term '๊ด‘์—ญ์ฒ ๋„' (wide-area railway), and also provides an update schedule. However, it does not explicitly name any sibling tool for comparison, so differentiation is implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus the many similar sibling tools (e.g., get_mainline_station_per, get_wide_rail_route_per). The description only states what it does and how parameters are formatted, but not the context in which an agent should choose it. There are no exclusions or alternative recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_freight_work_linesC

ํ™”๋ฌผ์ ํ•˜์ž‘์—… - ์ „์šฉ ์ž‘์—…์„  ์ •๋ณด (์ด 424๊ฑด, odcloud, ์ „์ฒด ์บ์‹œ).

์—ญ๋ช… ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ ๊ฐ€๋Šฅ. ์ž‘์—…์„  ๊ธธ์ดยท์ž‘์—…๊ฑฐ๋ฆฌยท์šด์ž„๊ณ„์‚ฐ๊ฑฐ๋ฆฌยทํ• ์ธํ• ์ฆ ๋“ฑ ํฌํ•จ.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
station_nameNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions a cached set of 424 items and odcloud as a source, hinting at data retrieval, but does not state whether this is read-only, how pagination works, or what happens with filters. There is no explicit warning about side effects or data freshness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, two sentences, with the core purpose and key filter front-loaded. The inclusion of 'total 424 items' and 'odcloud, full cache' adds some context but is not purely necessary; still, there is little wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with two parameters and no output schema, the description provides the main content and a filter option, but misses typical operational details like response format, pagination behavior, and how limit interacts with the data. Without annotations, more could be done to make the tool fully self-explanatory.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains that station_name supports partial-match filtering, adding meaning beyond the schema which has no descriptions (0% coverage). However, it says nothing about the limit parameter, its purpose (e.g., pagination or max results), or any constraints on station_name format. With low schema coverage, this partial compensation is insufficient but not negligible.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as providing freight loading work line information, including specific attributes (length, distance, fare calc distance, discounts). However, it does not explicitly differentiate from sibling tools like search_loading_time_adjustment or list_standard_loading_time, relying instead on the distinctive name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. It mentions the ability to filter by station name but does not state conditions for choosing this over other freight-related list tools, nor any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_standard_loading_timeA

ํ‘œ์ค€ ์ ํ•˜์‹œ๊ฐ„ ๋งˆ์Šคํ„ฐ (์ด 11๊ฑด, odcloud, ์ „์ฒด ๋ฐ˜ํ™˜).

โš ๏ธ ๋ช…์นญ ์ฃผ์˜: data.go.kr ๋“ฑ๋ก๋ช…์€ '์ ํ•˜์‹œ๊ฐ„'์ด์ง€๋งŒ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋Š” ํ™”๋ฌผ ์œ ํ˜•๋ณ„ ํ‘œ์ค€ ์ž‘์—…์‹œ๊ฐ„ ๋งˆ์Šคํ„ฐ(์ผ๋ฐ˜ ๋ณดํ†ตํ’ˆยทํ™”์•ฝ๋ฅ˜ยท์ปจํ…Œ์ด๋„ˆ ๋“ฑ 11๊ฑด). ์กฐ์ • ์ด๋ ฅ์€ search_loading_time_adjustment ์‚ฌ์šฉ.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It transparently states the source (odcloud), that it returns all 11 records, and the naming discrepancy that could mislead. For a read-only list operation, this is sufficient behavioral disclosure. It doesn't describe return format, but that's minor for a simple master list.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded: it opens with the core purpose and record count, then adds the critical naming caution. No wasted words, and the structure guides the agent efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, parameterless list tool, the description covers the essential context: what the data is, how many records, the source, and the naming caveat. It also routes the agent to the correct sibling for related but different data. The only missing piece is the output fields, but with no output schema, that gap is acceptable for a master list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is nothing for the description to explain. The schema coverage is trivially 100% and the baseline for 0 params is 4. The description correctly omits parameter details, which are nonexistent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: it lists the standard loading time master data (11 items) and returns all of them. It further clarifies the misleading registration name on data.go.kr, so an agent understands exactly what the data represents (standard working times by cargo type). This distinguishes it from the sibling search_loading_time_adjustment which handles adjustment history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states a when-not condition: it directs the agent to use search_loading_time_adjustment for adjustment history. While it doesn't explicitly say 'use this when you need the master list', the purpose statement implies that. The guidance is clear and points to the relevant alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_stations_by_regionA

์ง€์—ญ๋ณธ๋ถ€๋ช…(๋ถ€๋ถ„์ผ์น˜)์œผ๋กœ ๊ด€ํ•  ์—ญ ๋ชฉ๋ก ์กฐํšŒ. ์ฃผ์š” ์ง€์—ญ๋ณธ๋ถ€: ์„œ์šธ๋ณธ๋ถ€, ์ˆ˜๋„๊ถŒ๋™๋ถ€๋ณธ๋ถ€, ์ถฉ์ฒญ๋ณธ๋ถ€, ์ „๋ผ๋ณธ๋ถ€, ๋Œ€๊ตฌ๋ณธ๋ถ€, ๋ถ€์‚ฐ๊ฒฝ๋‚จ๋ณธ๋ถ€, ๊ฐ•์›๋ณธ๋ถ€ ์˜ˆ: region='์„œ์šธ', region='๋ถ€์‚ฐ๊ฒฝ๋‚จ'

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry all behavioral info. It discloses that the match is partial and lists valid example values, which is useful. However, it does not mention that the operation is read-only, any authentication requirements, rate limits, pagination, or error behavior. For a simple list tool, the description is adequate but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, with the primary purpose stated first, followed by a list of valid values and an example. Every sentence contributes meaning, and there is no fluff. It is front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a single parameter and an output schema (which already describes the returned fields), the description covers essential usage: the parameter semantics, partial-match behavior, and typical values. It does not edge cases like invalid input or empty results, but for a low-complexity tool with an output schema, this is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides only a string with no description, so the description adds significant value by explaining that 'region' is a regional headquarters name, supports partial matching, and gives concrete examples (e.g., '์„œ์šธ', '๋ถ€์‚ฐ๊ฒฝ๋‚จ'). This goes beyond the schema and helps an agent populate the parameter correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and the resource 'stations under jurisdiction of a regional headquarters name' with partial-match semantics. It distinguishes itself from sibling tools like search_station (station-name search) and get_station_location (location-based) by specifying the regional-HQ input. The examples make the scope unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when you have a regional HQ name) but does not explicitly mention alternatives or when not to use it. It lacks guidance such as 'use search_station for station names' or 'use get_station_location for geographic queries.' The partial-match note helps but does not substitute for direct routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_stations_with_elevatorA

์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๊ฐ€ ์„ค์น˜๋œ ์—ญ ๋ชฉ๋ก ์ „์ฒด ์กฐํšŒ (B551457 ์‹ค์‹œ๊ฐ„ API). (EN: list of stations with elevators. JA: ใ‚จใƒฌใƒ™ใƒผใ‚ฟใƒผใŒ่จญ็ฝฎใ•ใ‚ŒใŸ้ง…ใฎไธ€่ฆง) โ€ป ๋ฐ์ดํ„ฐ๊ธฐ์ค€์ผ: ์‹ค์‹œ๊ฐ„ API. ํ˜„์žฅ ๋ณ€๊ฒฝ์ด ์ฆ‰์‹œ ๋ฐ˜์˜๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the real-time API nature and notes that field changes may not be immediately reflected, which is useful. However, it does not mention read-only nature, ordering, or any other behavioral traits, leaving some transparency gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, with the core purpose stated in Korean, English, and Japanese, followed by a single relevant caveat. It is front-loaded and contains no filler, making it highly efficient for multilingual agents.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no parameters and an output schema present, the description is complete. It identifies the data source and freshness limitation, and the output schema covers return values. It lacks any mention of ordering or pagination, but these are unlikely to be critical for such a tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. The description does not need to explain any parameter details, and it does not add any beyond what the schema implies. This is adequate for a parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (list) and the resource (stations with elevators), and provides multilingual translations. This distinguishes it from sibling tools like get_station_facilities or list_stations_by_region, which cover different scopes. The specific resource name is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives. It does not mention any conditions, exclusions, or references to siblings that handle similar station queries. An agent must infer usage 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.

search_consignment_changeB

์ˆ˜ํƒ๋ณ€๊ฒฝ์š”๊ธˆ ๊ฒ€์ƒ‰ (์ด 4,015๊ฑด, ๋กœ์ปฌ CSV).

ํ™”๋ฌผ ์šด์†ก์žฅ ์ ‘์ˆ˜ ํ›„ ๋ฐœ์ƒํ•œ ์ฐฉ์—ญ ๋ณ€๊ฒฝยทํ™”๋ฌผ ์ง€์‹œ ๋ณ€๊ฒฝ ๋“ฑ ์ˆ˜ํƒ ์กฐ๊ฑด ๋ณ€๊ฒฝ ๊ฑด๋ณ„ ์š”๊ธˆ ์ด๋ ฅ. ํ•„ํ„ฐ: ์ œ์š”๊ธˆ์ž…๋ ฅ์—ญ๋ช…(station), ์šด์†ก์žฅ๋ฒˆํ˜ธ(waybill_no), ํ™”๋ฌผ์ง€์‹œ์ข…๋ฅ˜(change_type).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
stationNo
waybill_noNo
change_typeNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full behavioral burden. It discloses that the data source is a local CSV with 4,015 records and implies read-only search. However, it does not mention pagination, ordering, return format, or whether filters are exact or fuzzy. The total count and source are useful, but more behavioral details are missing for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with three short lines that immediately convey purpose and data source, followed by a clear list of filters. Every sentence earns its place; there is no redundant or vague wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only search tool with no output schema and no annotations, the description provides core information: purpose, data source, total count, and filters. However, it fails to mention typical aspects like default ordering, limit behavior, or how results are returned. It also does not differentiate from the sibling tool, which is a notable gap for correct routing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% because parameters lack descriptions in the schema. The description compensates by explaining three of the four parameters (station, waybill_no, change_type) with Korean labels and intent. The limit parameter is only implicitly present via the default in the schema, not explained. Overall, the description adds meaningful semantic meaning beyond the bare property names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches for consignment change fees (์ˆ˜ํƒ๋ณ€๊ฒฝ์š”๊ธˆ) and explains they are fee histories for condition changes after waybill acceptance. It lists the key filters. However, it does not explicitly differentiate from the sibling tool search_consignment_change_per_wagon, though the phrase '๊ฑด๋ณ„' (per case) hints at a per-case scope rather than per-wagon.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It lists filters but does not state any conditions or context for selection, nor does it mention the existence of the closely related sibling search_consignment_change_per_wagon. An agent would have to infer usage from the name and general search context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_consignment_change_per_wagonB

์ˆ˜ํƒ๋ณ€๊ฒฝ์š”๊ธˆ ํ™”์ฐจ๋ณ„ (์ด 6,681๊ฑด, ๋กœ์ปฌ CSV).

๊ฐœ๋ณ„ ํ™”์ฐจ ๋‹จ์œ„ ์ง€์‹œ๋ฒˆํ˜ธยท์šด์†ก์žฅ๋ฒˆํ˜ธยทํ™”ํ†ต๋ฒˆํ˜ธ ๋งคํ•‘ ๋ฐ ํ™”์ฐจ์š”๊ธˆ ์‚ฐ์ถœ ๊ทผ๊ฑฐ. ํ•„ํ„ฐ: ํ™”์ฐจ์ฐจ๋Ÿ‰๋ฒˆํ˜ธ(wagon_number), ์šด์†ก์žฅ๋ฒˆํ˜ธ(waybill_no).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
waybill_noNo
wagon_numberNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It adds useful context that the data is a fixed local CSV with 6,681 records and describes the mapping/calculation basis, implying a read-only operation. However, it does not disclose return format, pagination, or any behavioral quirks like default limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, stating the primary subject first. Both sentences add valueโ€”the first defines scope and data source, the second specifies filter options. No verbosity or redundant phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple filter/search tool with no output schema and zero schema descriptions, the description gives the essential data content and filter params. However, it omits details on return format, limit semantics, and does not differentiate from the sibling tool. It is minimally complete but lacks depth.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It explains the meaning of wagon_number and waybill_no as filters, matching the schema, but does not address the 'limit' parameter, leaving its role (pagination? cap?) undefined. This is partial compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's purpose: providing consignment change fee data per wagon, with mapping between instruction, waybill, and wagon numbers. It distinguishes itself from the sibling search_consignment_change by explicitly focusing on 'per wagon' granularity, though it does not name the sibling directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. The description does not state conditions, exclusions, or contrast with search_consignment_change or other related tools. Agents must infer usage 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.

search_container_recordA

์ปจํ…Œ์ด๋„ˆ ์ ์žฌ ์ด๋ ฅ ํŽ˜์ด์ง€ ์กฐํšŒ (์ด 166,275๊ฑด, odcloud).

๋Œ€์šฉ๋Ÿ‰์ด๋ผ ๋งค ํ˜ธ์ถœ ์‹œ odcloud์— ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ์š”์ฒญ. ํ•„ํ„ฐ(์ปจํ…Œ์ด๋„ˆ๋ฒˆํ˜ธ/ํ™”์ฐจ์ฐจ๋Ÿ‰๋ฒˆํ˜ธ/ํ™”๋ฌผ์ˆ˜ํƒ์ผ์ž/ํ’ˆ๋ชฉ๋ช…)๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๋ฐ›์€ ํŽ˜์ด์ง€ ๋‚ด์—์„œ ๋ถ€๋ถ„์ผ์น˜๋กœ ํ›„ํ•„ํ„ฐ๋ง. per_page ์ตœ๋Œ€ 1000.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo
item_nameNo
receipt_dateNo
wagon_numberNo
container_numberNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It reveals essential traits: the dataset scale, that each call requests a page from odcloud, that filters are applied as partial-match post-filtering within the fetched page (a critical limitation for agents filtering large data), and that per_page is capped at 1000. This goes well beyond a generic search description and gives agents operational awareness that affects how they paginate and filter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise, information-dense sentences. The first states purpose and scale, the second explains the paging model and post-filtering behavior, and the third sets the per_page limit. There is zero fluff โ€“ every sentence contributes to agent decision-making.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description covers core usage: pagination, filter behavior, and limits. The total count (166,275) gives scale awareness. It doesn't specify the return fields or how to determine when pagination ends, but for a page-listing tool an agent can infer a list of records. Minor gap in response structure, but overall it provides enough to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does by explicitly naming all four filter parameters (container_number, wagon_number, receipt_date, item_name) and clarifying page/per_page via 'page units' and 'per_page max 1000'. It also explains that filters are partial-match post-filters, adding semantic value not present in the schema. Every parameter is addressed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with '์ปจํ…Œ์ด๋„ˆ ์ ์žฌ ์ด๋ ฅ ํŽ˜์ด์ง€ ์กฐํšŒ' โ€“ a specific verb ('์กฐํšŒ' = inquiry) plus a precise resource ('container loading history page'). This clearly identifies what the tool does and distinguishes it from sibling search tools like search_freight_code or search_station, as it targets container loading records with pagination.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong usage context: it is for large-volume (166,275 records) container loading history, retrieved page-by-page from odcloud, with optional post-filtering. It doesn't explicitly state when to use it over alternatives, but the operational details make the intended scenario clear. No exclusion criteria are mentioned, but the context is sufficient for an agent to select it appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_freight_codeA

๋‚ด์ ํ™”๋ฌผ์ฝ”๋“œ ๊ฒ€์ƒ‰ (์ด 961๊ฑด).

๋ถ„๋ฅ˜์ฝ”๋“œ(์˜ˆ: 7404), ํ•œ๊ธ€๋ช…, ์˜๋ฌธ๋ช…์— ๋Œ€ํ•œ ๋ถ€๋ถ„์ผ์น˜ ๊ฒ€์ƒ‰. ๋นˆ query์‹œ limit๋งŒํผ ์•ž์—์„œ๋ถ€ํ„ฐ ๋ฐ˜ํ™˜.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It the partial-match fields and empty-query behavior (returns firstlimit' results), which is valuable. However, it does not mention result ordering beyond the vague 'from the front', case sensitivity, output structure, or potential errors. These are minor gaps for a simple read-only search, the description does not fully cover behavioral nuances.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely conciseโ€”two short sentences covering core search behavior and an edge case. It is front-loaded with the tool's title and total record count, then immediately gives operational details. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 optional params, no output schema, no), the description is nearly complete for an agent to call it correctly. It covers what fields are searched, partial-match behavior, and the empty-query case. The only minor omission is the precise ordering of results, but that is unlikely to hinder correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Since schema description coverage is 0%, the description must and does explain the parameters: it states that the query searches across the three fields and that limit controls the maximum number of results, including the behavior when query is. This adds meaning beyond the bare schema types and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches internal freight codes with partial matching on classification code, Korean name, and English name. It also gives the total count (961 items), which signals the dataset size. This distinguishes it from sibling tools like decode_freight_code (which decodes a code) and other search tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (for searching freight codes by partial match) but does not explicitly contrast it with alternatives such as decode_freight_code or provide any when-not-to-use guidance. The empty query behavior and limit are explained, but explicit routing among siblings is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_g2b_itemA

G2B(๋‚˜๋ผ์žฅํ„ฐ) ๋ถ„๋ฅ˜๋ฒˆํ˜ธยทํ’ˆ๋ช… ๊ฒ€์ƒ‰ (์ด 13,400๊ฑด, ๋กœ์ปฌ CSV).

G2B๋ถ„๋ฅ˜๋ฒˆํ˜ธ(8์ž๋ฆฌ) ๋˜๋Š” G2Bํ’ˆ๋ช…(ํ•œ๊ธ€ยท์˜๋ฌธ)์œผ๋กœ ๋ถ€๋ถ„์ผ์น˜ ๊ฒ€์ƒ‰. ํ’ˆ๋ช…ํ•ด์„ค ํฌํ•จ. active_only=True ์‹œ ์‚ฌ์šฉ ์ฝ”๋“œ๋งŒ ๋ฐ˜ํ™˜.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
active_onlyNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden, and it does a solid job: it reveals the data source is a local CSV (not a live API), the scale (13,400 records), the partial-match semantics, that results include item descriptions, and that active_only=True filters to active codes only. These are genuine behavioral traits, not schema restatements. The only gap is not describing the result return shape or pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with no filler. Purpose and data scale are front-loaded in the first sentence, search behavior in the second, and the active_only filter in the third. Every sentence earns its place, and it avoids repeating parameter defaults already in the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter search tool with no output schema and no annotations, the description covers the core behavior (what's searched, matching type, active_only semantics) but omits the limit parameter and says nothing about the return format or result count. An agent could call it correctly for most cases, but the undocumented limit parameter and absence of any return-value hint leave meaningful gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must document the parameters, and it covers two of three: query (accepts 8-digit classification code or Korean/English item name with partial match) and active_only (True returns only active codes). However, 'limit' is never mentioned, leaving one parameter completely undocumented. The description compensates for most but not all of the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly identifies the tool as a G2B (๋‚˜๋ผ์žฅํ„ฐ) classification code/item name search over a local CSV of 13,400 records. It names the specific fields searched (8-digit classification code, Korean/English item names), partial-match behavior, and inclusion of item descriptions. The G2B procurement domain clearly distinguishes it from the railway/urban transport sibling tools. It doesn't merely restate the name but adds search-field details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what it searches and how (by code or name, partial match, keyword 'query'), and the active_only filter semantics, which implies the usage context. However, it never names alternatives or gives explicit when-to-use/when-not-to-use guidance. Among the many search_* siblings, this is the only G2B-related one, so the domain boundary is clear, but the description doesn't state exclusions or edge cases (e.g., when query is empty).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_loading_time_adjustmentA

์ ํ•˜์‹œ๊ฐ„ ์กฐ์ • ์ด๋ ฅ ํŽ˜์ด์ง€ ์กฐํšŒ (์ด 35,967๊ฑด, odcloud).

โš ๏ธ ๋ช…์นญ ์ฃผ์˜: data.go.kr ๋“ฑ๋ก๋ช…์€ 'ํ‘œ์ค€์ ํ•˜์‹œ๊ฐ„'์ด์ง€๋งŒ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋Š” ํ‘œ์ค€ ๋Œ€๋น„ ์กฐ์ •๋œ ์ด๋ ฅ. ๋งˆ์Šคํ„ฐ๋Š” list_standard_loading_time ์‚ฌ์šฉ.

ํ•„ํ„ฐ: ์กฐ์ •์—ญ(station), ์กฐ์ •์‚ฌ์œ (reason, ์˜ˆ: '์ฒœ์žฌ์ง€๋ณ€๋“ฑ ์•…์กฐ๊ฑด', '์ž‘์—…๋Šฅ๋ ฅ์ดˆ๊ณผ'), ์กฐ์ •์ง€์—ญ๋ณธ๋ถ€(region). ๋ฐ›์€ ํŽ˜์ด์ง€ ๋‚ด ๋ถ€๋ถ„์ผ์น˜ ํ•„ํ„ฐ๋ง. per_page ์ตœ๋Œ€ 1000.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
reasonNo
regionNo
stationNo
per_pageNo

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden, and it delivers: total record count (35,967), source (odcloud), the naming discrepancy, the critical behavior that filters apply as partial matches only within the current page (not server-side across all records), and the per_page maximum of 1000. It stops short of describing result record fields or pagination metadata, but the behaviors that affect correct invocation are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight blocks with zero waste: purpose front-loaded, then the critical naming warning, then filters, then the per_page cap. Every sentence earns its place, and the most important caveat (who this tool is not) appears immediately after the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paginated search tool with 5 optional parameters and no output schema, the description covers the calling semantics well: what is returned, which filters apply, their partial-match scope, and page size limits. It lacks a description of the returned record shape, but that gap is attributable to the missing output schema rather than a description deficiency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates well: it maps station to ์กฐ์ •์—ญ, reason to ์กฐ์ •์‚ฌ์œ  with concrete example values, region to ์กฐ์ •์ง€์—ญ๋ณธ๋ถ€, and sets the per_page bound at 1000. It adds the partial-match filter semantics beyond what the schema provides, though it does not specify the expected value format (e.g., station codes vs names).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource ('์ ํ•˜์‹œ๊ฐ„ ์กฐ์ • ์ด๋ ฅ ํŽ˜์ด์ง€ ์กฐํšŒ' โ€” loading time adjustment history page lookup) and distinguishes itself from sibling list_standard_loading_time with an explicit naming warning: the data.go.kr registered name is 'standard loading time' but this tool returns adjustment history, while the master is list_standard_loading_time. This removes any ambiguity between the two tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly routes the agent: use list_standard_loading_time for master/standard data, and this tool for adjustment history. It also enumerates the available filters (station, reason, region) with example reason values, and warns that filtering is partial-match within the received page, which is essential for correctly interpreting results.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_material_attrA

์ž์žฌ์†์„ฑ์ •๋ณด ์กฐํšŒ (์ด 34,630๊ฑด, ๋กœ์ปฌ CSV).

์ž์žฌ๋ฒˆํ˜ธยทG2B๋ถ„๋ฅ˜๋ฒˆํ˜ธยท์†์„ฑ์ฝ”๋“œ๋กœ ์กฐํšŒ. ์ž์žฌ๋ณ„ ์†์„ฑ๊ฐ’(๊ทœ๊ฒฉยท์žฌ์งˆยท์น˜์ˆ˜ ๋“ฑ) ํ™•์ธ. ์ตœ์†Œ 1๊ฐœ ํ•„ํ„ฐ ๊ถŒ์žฅ (๋ฏธ์ง€์ • ์‹œ ์•ž์—์„œ limit๊ฑด ๋ฐ˜ํ™˜).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
g2b_codeNo
attr_codeNo
material_noNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses the total record count (34,630), local CSV source, and the default behavior when no filter is given. This goes beyond a minimal statement, offering useful context for an agent deciding how to call it and how many results to expect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tight and front-loaded: it states the purpose and scale first, then the search keys, the returned content, and the filter recommendation. Every sentence adds value with no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with no output schema and four optional parameters, the description covers the essential aspects: what it does, what data it accesses, how to narrow results, and default behavior. It omits exact output fields, but that is not required given the absence of an output schema, so the description is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, so the description must compensate. It names the filter parameters (material_no, g2b_code, attr_code) and implies they are optional filters, and explains the limit parameter's default behavior. However, it does not specify parameter format, exact vs. partial matching, or how multiple filters combine, leaving some ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it queries material attribute information, specifying search keys (material no, G2B code, attribute code) and the type of data returned (attribute values like spec, material, dimension). It does not explicitly differentiate from sibling material tools (e.g., search_material_group, search_material_equipment), but the resource is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a clear recommendation to use at least one filter and describes behavior when none are specified (returns first limit records). However, it does not mention when to prefer this tool over siblings or any exclusion criteria, so the guidance is limited to this tool's own invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_material_equipmentA

์ž์žฌ๋Œ€์ƒ์žฅ๋น„ ์กฐํšŒ (์ด 24,258๊ฑด, ๋กœ์ปฌ CSV).

ํŠน์ • ์ž์žฌ๋ฒˆํ˜ธ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ์žฅ๋น„ ์ฝ”๋“œ ์กฐํšŒ, ๋˜๋Š” ์žฅ๋น„์ฝ”๋“œ๋กœ ํ•ด๋‹น ์ž์žฌ ์—ญ๊ฒ€์ƒ‰.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
equipmentNo
material_noNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of behavioral disclosure. It adds useful non-obvious context: the dataset has 24,258 records and is sourced from a local CSV, implying a static local dataset. It does not describe matching semantics or pagination, but for a read-only lookup this is reasonably transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with no filler. The primary operation is front-loaded, and the data-source/record-count note adds relevant context without bloating the text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter tool with no required parameters, no annotations, and no output schema, the description defines the core lookup intent well. However, it leaves operational details unspecified, such as behavior when both filters are empty, whether the parameters can be combined, and how limit is applied. These gaps matter because there are no schema descriptions or annotations to fill them.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It clearly explains the meaning and role of material_no and equipment by defining the forward and reverse lookup directions. However, it does not describe the limit parameter or explain whether material_no and equipment can be combined or are mutually exclusive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific operation: searching material-target equipment records, with two explicit directionsโ€”find equipment codes for a material number, or reverse-search the material for an equipment code. This makes the tool's purpose unambiguous and distinct from generic sibling lookup tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: when the agent needs to map a material number to equipment codes or an equipment code to a material. It does not explicitly mention alternatives or when not to use this tool, so it misses the highest level of guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_material_groupA

์ž์žฌ๊ทธ๋ฃน์ฝ”๋“œ ๊ฒ€์ƒ‰ (์ด 999๊ฑด, ๋กœ์ปฌ CSV).

๊ทธ๋ฃน์ฝ”๋“œ(์˜ˆ: BB1300) ๋˜๋Š” ๊ทธ๋ฃน๋ช…์นญ(์˜ˆ: EMU์šฉํ’ˆ)์œผ๋กœ ๋ถ€๋ถ„์ผ์น˜ ๊ฒ€์ƒ‰. active_only=True ์‹œ ์‚ฌ์šฉ ์ค‘(Y)์ธ ์ฝ”๋“œ๋งŒ ๋ฐ˜ํ™˜.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
active_onlyNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It mentions the data source (local CSV, 999 items), partial match search behavior, and the active_only filter effect. However, it does not disclose return format, pagination, or limit semantics, which are important for a search tool. This is a moderate gap given the lack of annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and efficient, with two sentences that front-load the purpose and data source, then detail search criteria. There is no redundant information; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with no output schema and no annotations, the description provides essential calling details (query and active_only) and data source context. However, it omits the limit parameter's effect and any expected return structure, which leaves some uncertainty for an agent invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the 'query' parameter (partial match on code or name) and 'active_only' (returns only active codes), but does not explain the 'limit' parameter at all. This leaves one of three parameters undocumented, so the compensation is incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (search) and resource (material group codes), specifies that it searches by group code or name, and provides examples. It differentiates from sibling tools like search_material_attr and search_material_equipment by its focus on material group codes, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains how to use the tool (partial match on code or name, active_only flag) but does not explicitly state when to choose this tool over alternatives. No exclusions or references to sibling tools are given, leaving the selection to inference based on the resource name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_operation_patternsA

์ „๊ตญ ์ฒ ๋„ ๋…ธ์„  ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. (์ด 2,146๊ฐœ)

โš ๏ธ ์—ฌ๊ธฐ์„œ "๋…ธ์„ "์€ ๋ฌผ๋ฆฌ์  ์„ ๋กœ(๊ฒฝ๋ถ€์„ ยทํ˜ธ๋‚จ์„  ๋“ฑ)๊ฐ€ ์•„๋‹ˆ๋ผ ์—ด์ฐจ ์šดํ–‰๊ณ„ํ†ต ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ๊ฒฝ๋ถ€์„  ์„ ๋กœ ํ•˜๋‚˜์—๋„ ๋‹ค์–‘ํ•œ ๊ฒฝ์œ  ํŒจํ„ด์˜ ์šดํ–‰๊ณ„ํ†ต์ด ์ˆ˜๋ฐฑ ๊ฐœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. "๋น„์ „๊ธฐ ๋…ธ์„ ์ด ๋ช‡ ๊ฐœ๋ƒ" ๊ฐ™์€ ์ธํ”„๋ผ ๊ธฐ์ค€ ์งˆ๋ฌธ์—๋Š” ์ˆ˜์น˜๊ฐ€ ๊ณผ๋Œ€ ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค.

Args: query: ๋…ธ์„ ์ฝ”๋“œ(ROUT_CD) ๋˜๋Š” ๋…ธ์„ ๋ช…(ROUT_NM) ๊ฒ€์ƒ‰์–ด (๋ถ€๋ถ„ ์ผ์น˜). ์—†์œผ๋ฉด ์ „์ฒด ๋ฐ˜ํ™˜. โ€ป ๋…ธ์„ ๋ช…์— "KTX" ๋ฌธ์ž์—ด ์—†์Œ. ๊ณ ์†์„ ์€ "๊ณ ์†", "๊ฒฝ๋ถ€๊ณ ์†" ๋“ฑ์œผ๋กœ ํ‘œ๊ธฐ๋จ. electric_only: True๋ฉด ์ „๊ธฐ๋™๋ ฅ์ฐจ ์šดํ–‰ ๋…ธ์„ ๋งŒ, False๋ฉด ๋น„์ „๊ธฐ ๋…ธ์„ ๋งŒ. None์ด๋ฉด ์ „์ฒด.

Returns: ๋…ธ์„ ์ฝ”๋“œ(ROUT_CD), ๋…ธ์„ ๋ช…(ROUT_NM), ์ „๊ธฐ๋™๋ ฅ์ฐจ์šดํ–‰์—ฌ๋ถ€(ELC_LCM_RUN_FLG) ๋ชฉ๋ก.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
electric_onlyNo

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries the full burden. It discloses the crucial semantic trap that routes are operation systems, not physical lines, and explains the meaning of the electric_only parameter. It also lists return fields, but does not mention pagination, response size, or any other runtime behavior; overall, this is strong disclosure for a simple search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the search purpose and total count, immediately followed by the most important disambiguation warning. The Args/Returns sections are compact and every sentence adds useful information; there is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter optional search tool with no output schema, the description is quite complete: it defines both parameters, the return columns, and the key domain misinterpretation. It could be slightly more complete by providing a concrete example or clarifying whether results are paginated, but nothing essential is missing for selecting and invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description fully compensates: it explains query as ROUT_CD/ROUT_NM partial match, notes that omitting query returns all results, and clarifies the KTX naming nuance ('๊ณ ์†', '๊ฒฝ๋ถ€๊ณ ์†' rather than 'KTX'). It also precisely documents the tri-state behavior of electric_only, exceeding what the bare schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: searching nationwide railway route information, with a total count. It goes further by distinguishing the domain meaning of '๋…ธ์„ ' as a train operation system code rather than a physical track, which separates it from sibling tools like search_route or get_station_track_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on how to use it: query can be partial and optional, electric_only has tri-state semantics, and an explicit warning says infrastructure-based questions like 'how many non-electrified lines are there' will produce inflated numbers. It stops short of naming alternative tools to use instead, so it does not fully meet the 'when-not-to-use with alternatives' bar.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_routeB

๋…ธ์„ ๋ช…(๋ถ€๋ถ„์ผ์น˜)์œผ๋กœ ๋…ธ์„ ์ฝ”๋“œ๋ฅผ ์กฐํšŒ. name ๋ฏธ์ž…๋ ฅ ์‹œ ์ „์ฒด ๋…ธ์„  ๋ชฉ๋ก ๋ฐ˜ํ™˜. ์˜ˆ: name='๊ฒฝ๋ถ€', name='ํ˜ธ๋‚จ', name='KTX'

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses partial matching and the default-all behavior, which is useful. However, it does not mention read-only nature, case sensitivity, pagination, or error handling, leaving some behavioral aspects unaddressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded, stating the core purpose first, then the default behavior, followed by examples. Every sentence adds value with no waste, though it could be slightly more structured with explicit 'when to use' guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with an output schema already present, the description covers the essential behaviors: partial match, default behavior, and examples. It lacks details like output format (covered by schema) but is otherwise sufficient for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must explain the parameter. It does so clearly: name is a route name for partial match, with examples ('๊ฒฝ๋ถ€', 'ํ˜ธ๋‚จ', 'KTX'), and states behavior when empty. This adds substantial meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves a route code by partial route name, and provides examples. It is specific about the resource (route code) and the verb (search). While it does not explicitly distinguish from siblings, the purpose is unambiguous given the examples.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains behavior when name is omitted (returns all routes) but gives no guidance on when to prefer this tool over alternative search tools like search_station or other route-related tools. No alternatives or exclusions are mentioned, leaving selection to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_stationA

์—ญ๋ช…(๋ถ€๋ถ„์ผ์น˜)์œผ๋กœ ์—ญ์ฝ”๋“œยท์˜๋ฌธ๋ช…ยท์ง€์—ญ๋ณธ๋ถ€๋ฅผ ํ†ตํ•ฉ ์กฐํšŒ. ์ฐจ์„ธ๋Œ€์˜ˆ์•ฝ๋ฐœ๋งค ์—ญ์ฝ”๋“œ(75์—ญ, ์˜๋ฌธ๋ช… ํฌํ•จ)์™€ ์ฒ ๋„์šด์˜์ •๋ณด ์—ญ์ฝ”๋“œ(1255์—ญ) ๋‘ ์‹œ์Šคํ…œ์„ ํ•จ๊ป˜ ๊ฒ€์ƒ‰. ์˜ˆ: name='์„œ์šธ', name='์ˆ˜์„œ', name='๊ด‘๋ช…'

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds meaningful context beyond the schema by stating that the search is a partial match and that it aggregates results from two separate station code systems. It does not disclose potential edge cases (e.g., no matches, duplicate codes), but this is acceptable for a read-only search tool, and the two-system behavior is clearly communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences plus examples. The main purpose and scope are front-loaded in the first sentence, and the second sentence clarifies the two-system integration. No fluff or redundancy; every word contributes to usability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema (present), the description does not need to detail return values. It covers the input semantics, the scope of the search (two systems), and provides examples. This is sufficient for an agent to invoke the tool correctly for a simple lookup operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has a single 'name' parameter with zero schema description coverage (0%). The description fully compensates by explaining that 'name' is a station name, supports partial matching, and provides clear examples ('์„œ์šธ', '์ˆ˜์„œ', '๊ด‘๋ช…'). This gives the agent complete understanding of how to fill the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'ํ†ตํ•ฉ ์กฐํšŒ' (integrated search) and the resources: station code, English name, and regional headquarters, searched by station name with partial match. This distinguishes it from sibling tools like search_urban_station by specifying it covers both the next-generation ticketing and railway operation systems, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by specifying it searches two distinct systems (75 stations and 1255 stations) and gives three concrete examples of valid input. While it does not explicitly name alternatives or state when not to use this tool, the scope and examples make the use case evident. It could be improved by contrasting with related station-lookup tools, but it is not ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_urban_stationA

์ „๊ตญ ๋„์‹œ์ฒ ๋„ ์—ญ๋ช…์œผ๋กœ ์šด์˜๊ธฐ๊ด€ยท์„ ยท์—ญ์ฝ”๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•œ๋‹ค (๋‹ค๋ฅธ ์กฐํšŒ์˜ ์„ ํ–‰ ๋‹จ๊ณ„).

KRIC API๋Š” ์šด์˜๊ธฐ๊ด€ยท์„ ยท์—ญ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•˜๋ฏ€๋กœ, ๋จผ์ € ์ด ๋„๊ตฌ๋กœ ์—ญ์„ ํŠน์ •ํ•˜๋ฉด ํ™˜์Šน์—ญ ๋“ฑ ๋™์ผ ์—ญ๋ช…์˜ ์šด์˜๊ธฐ๊ด€ ๊ตฌ๋ถ„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. station_name: ์—ญ๋ช… ๋ถ€๋ถ„์ผ์น˜ (์˜ˆ: '์„œ์šธ์—ญ', '๊ฐ•๋‚จ'). ๋ฏธ์ž…๋ ฅ ์‹œ operator ๊ธฐ์ค€ ์ „์ฒด. operator: ์šด์˜๊ธฐ๊ด€ ์ฝ”๋“œ(์˜ˆ: 'S1') ๋˜๋Š” ๋ช…(์˜ˆ: '์„œ์šธ๊ตํ†ต๊ณต์‚ฌ') ๋ถ€๋ถ„์ผ์น˜๋กœ ์ขํž˜.

[๋‹ต๋ณ€ ์ง€์นจ] _meta์˜ '๋ฐ์ดํ„ฐ์ˆ˜์ •์ผ'(KRIC ๋ฐ์ดํ„ฐ ์ตœ์ข…์ˆ˜์ • ์‹œ์ , ์ธก์ •์„ฑ ๋ฐ์ดํ„ฐ๋Š” '์ธก์ •์‹œ์ ')์„ ๊ทผ๊ฑฐ๋กœ ๋ฐ์ดํ„ฐ ์‹œ์ ์„ ์•Œ๋ฆฌ๋˜, ์ˆ˜์ •์ผ์— ๋”ฐ๋ผ ํ†ค์„ ๋‹ฌ๋ฆฌํ•˜๋ผ.

  • ์ตœ๊ทผ(์•ฝ 2๋…„ ์ด๋‚ด, ์˜ˆ 2025~2026): ๋‹ต๋ณ€ ๋์— '๋ฐ์ดํ„ฐ๋Š” OOOO๋…„ ๊ธฐ์ค€'์„ ๊ฐ„๊ฒฐํžˆ ํ•œ ์ค„๋งŒ. ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋‚˜ ๊ณ ๊ฐ์„ผํ„ฐ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋”ฐ๋กœ ๋‚˜์—ดํ•˜์ง€ ๋งˆ๋ผ.

  • ์˜ค๋ž˜๋จ(2019~2021 ๋“ฑ): ํ•œ ์ค„ ๊ณ ์ง€์— ๋”ํ•ด '์ตœ์‹  ํ˜„ํ™ฉ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ์šด์˜๊ธฐ๊ด€ ํ™•์ธ ๊ถŒ์žฅ'์„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ๋ง๋ถ™์—ฌ๋ผ. ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌป๊ฑฐ๋‚˜ ์‘๊ธ‰ยท์•ˆ์ „ ๊ด€๋ จ์ผ ๋•Œ๋งŒ. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค„ ๋• ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ˆ˜์ •์ผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ณ ์ง€ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ์  ๊ณ ์ง€ยท์ฃผ์˜ ๋ฌธ๊ตฌ๋ฅผ ๋‹ต๋ณ€ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ. ๊ฒฐ๊ณผ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  'ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์—†์Œ'์„ ๋ถ„๋ช…ํžˆ ์•Œ๋ ค๋ผ.

ParametersJSON Schema
NameRequiredDescriptionDefault
operatorNo
station_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses the output nature (returns codes), the parameter semantics, and crucially specifies response guidelines: data freshness, empty-result, and prohibition on fabrication. These details go beyond schema and annotations, giving an agent clear expectations about result presentation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured: purpose first, then parameter explanations, then response guidelines. Each section serves a clear function and avoids redundancy. The front-loaded purpose and parameter details are immediately actionable; the response guidelines are consolidated and rule-based.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 optional params, output schema exists), the description covers purpose, usage, parameters, and behavioral response rules. It doesn't need to explain return values since output schema is present It provides sufficient context for an agent to invoke correctly, including data freshness handling and empty-result behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and parameters have no descriptions so the description must compensate. It does: station_name is partial match with examples, operator is code or name partial match, and default behavior when station_name is empty is explained. This fully both parameters despite the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific and resource: searches operating organization, line, and station code by urban railway station name. Clearly labels it as a preliminary step for other queries, distinguishing it from sibling tools like search_station and get_urban_station_info. The transfer-station clarification further disambiguates its role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains to use the tool: before other queries that require KRIC codes. It details to use parameters (partial match, optional operator narrowing) and why this step is necessary for transfer stations. Does not explicitly mention alternatives by name, the context clearly to this tool for code resolution.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.3/5.0
Disambiguation3/5

Many tools are distinct (e.g., get_mainline_station_per vs get_wide_rail_station_per), but there is significant overlap in station facilities (get_station_facilities, get_station_facilities_detail, get_accessible_facilities, list_stations_with_elevator, get_urban_accessibility) and distance/route queries (get_station_distance, get_operation_distance, get_mainline_distance_per). Some tools have near-identical purposes (search_station vs search_urban_station, get_ktx_stations vs get_urban_route).

Naming Consistency3/5

Naming is mostly snake_case with get_/search_/list_ prefixes, but there is inconsistency: some tools use 'get_', others 'search_', 'list_', 'decode_'. Mixed patterns like 'get_mainline_carriage' vs 'get_wide_area_carriage' vs 'get_freight_carriage' are consistent, but 'get_urban_accessibility' vs 'get_accessible_facilities' are not. Some names are long and descriptive (get_customer_satisfaction_stats) while others are vague (search_operation_patterns).

Tool Count2/5

98 tools is far too many for a coherent tool set. The server appears to be a general KORAIL data dump covering urban transit, KTX, freight, social programs, HR, and facilities. Such a large number makes it hard for an agent to discover and select the right tool, and many tools are trivial (e.g., get_social_funds with 6 records, get_office_meeting_rooms with 11 records).

Completeness3/5

The tool surface is extremely broad but shallow in some areas. For example, there are many lookups but few operations (no create/update/delete, which is expected for a data retrieval server). However, there are notable gaps: no tool for finding train schedules between stations (only station-level timetables), no tool for fare estimation, and overlapping distance tools create confusion. The freight domain has many tools but lacks a unified way to query all freight stats.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables access to Korean public data services through OpenAPI integration. Supports querying government datasets like parking information in Sejong City through natural language interactions.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables natural language querying of Korean statistical data from KOSIS, including population, employment, GDP, housing prices, and more, with support for regional and trend analysis.
    8
    15
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI to query real-time Korean public data including weather, real estate prices, air quality, economic indicators, and business registration via natural language.
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lovelyquality/korail-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server