LogoSkills

mcp-toolkit:list-tools

List every dynamic MCP tool the running Flutter app currently exposes.

ํ•ญ๋ชฉ๋‚ด์šฉ
Invoke/mcp-toolkit:list-tools
Categorycocode-flutter
Complexitysimple
MCP Serversmcp_flutter

/mcp-toolkit list-tools โ€” ์ง€๊ธˆ ์•ฑ์ด ์“ธ ์ˆ˜ ์žˆ๋Š” "๋„๊ตฌ ๋ชฉ๋กํ‘œ"#

ํ•œ๋งˆ๋””๋กœ#

์ง€๊ธˆ ์‹คํ–‰ ์ค‘์ธ Flutter ์•ฑ์— ์—ฐ๊ฒฐ๋œ ์ž๋™ํ™” ๋„๊ตฌ๋“ค์˜ ๋ชฉ๋ก์„ ํ•œ ๋ฒˆ์— ๋ณด์—ฌ์ฃผ๋Š” ๋ช…๋ น์ž…๋‹ˆ๋‹ค. ๊ณต๊ตฌํ•จ์„ ์—ด์–ด "์ง€๊ธˆ ์“ธ ์ˆ˜ ์žˆ๋Š” ์—ฐ์žฅ์ด ๋ญ๊ฐ€ ๋“ค์–ด ์žˆ๋‚˜" ์ญ‰ ํ›‘์–ด๋ณด๋Š” ๊ฒƒ๊ณผ ๊ฐ™์•„์š”.

๋ˆ„๊ฐ€ยท์–ธ์ œ ์“ฐ๋‚˜์š”#

  • ์•ฑ์„ ์ž๋™์œผ๋กœ ์กฐ์ž‘ํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค(ํ…Œ์ŠคํŠธยท์ ๊ฒ€)๋ฅผ ์งœ๊ธฐ ์ „์—, ์–ด๋–ค ๋„๊ตฌ๊ฐ€ ์ค€๋น„๋ผ ์žˆ๋Š”์ง€ ๋จผ์ € ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๋•Œ
  • ์„ค์ •(setup) ์ž‘์—…์„ ํ•œ ๋’ค, ์˜๋„ํ•œ ๋„๊ตฌ๋“ค์ด ์‹ค์ œ๋กœ ์ž˜ ๋“ฑ๋ก๋๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๋•Œ
  • ์ฝ”๋“œ ์ •๋ฆฌ(๋ฆฌํŒฉํ„ฐ๋ง) ํ›„ ๋„๊ตฌ๊ฐ€ ์‚ฌ๋ผ์ง€์ง„ ์•Š์•˜๋Š”์ง€ ์ž๋™ ์ ๊ฒ€(CI)์—์„œ ๊ฑธ๋Ÿฌ๋‚ด๊ณ  ์‹ถ์„ ๋•Œ

๋ฌด์—‡์„ ํ•ด์ฃผ๋‚˜์š”#

listClientToolsAndResources๋ฅผ ํ˜ธ์ถœํ•ด์„œ, ์•ฑ์— ๊ธฐ๋ณธ์œผ๋กœ ๋“ค์–ด ์žˆ๋Š” ๋„๊ตฌ์™€ ๋‚˜์ค‘์— ์ถ”๊ฐ€๋กœ ๋“ฑ๋ก๋œ ๋„๊ตฌ๋ฅผ ํ•˜๋‚˜๋กœ ํ•ฉ์ณ ๋ถ„๋ฅ˜(namespace)๋ณ„๋กœ ๋ฌถ์–ด ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ™”๋ฉด ์บก์ฒ˜(view_screenshot), ์ƒํƒœ ํ™•์ธ(bloc.dump_state), ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋„ฃ๊ธฐ(db.seed_fixture), ํ™”๋ฉด ์ด๋™(nav.go_named) ๊ฐ™์€ ๋„๊ตฌ๋“ค์ด ์ข…๋ฅ˜๋ณ„๋กœ ์ •๋ฆฌ๋˜์–ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ ์“ฐ๋‚˜์š”#

# ์ „์ฒด ๋„๊ตฌ ๋ชฉ๋ก ๋ณด๊ธฐ
/mcp-toolkit list-tools

# ํŠน์ • ๊ธ€์ž๊ฐ€ ๋“ค์–ด๊ฐ„ ๋„๊ตฌ๋งŒ ๊ณจ๋ผ ๋ณด๊ธฐ (์˜ˆ: bloc ๊ด€๋ จ)
/mcp-toolkit list-tools --filter bloc.

# ์‚ฌ๋žŒ์ด ์ฝ๋Š” ํ˜•ํƒœ ๋Œ€์‹  JSON ๋ฐ์ดํ„ฐ๋กœ ๋ฐ›๊ธฐ
/mcp-toolkit list-tools --json
  • --filter : ์ž…๋ ฅํ•œ ๊ธ€์ž๊ฐ€ ํฌํ•จ๋œ ๋„๊ตฌ๋งŒ ์ถ”๋ ค์„œ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. (์„ ํƒ)
  • --json : ์ฝ๊ธฐ ์ข‹์€ ํ‘œ ๋Œ€์‹ , ํ”„๋กœ๊ทธ๋žจ์ด ์ฒ˜๋ฆฌํ•˜๊ธฐ ์ข‹์€ JSON ํ˜•์‹์œผ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค. (์„ ํƒ)

์•ˆ์—์„œ ๋ฌด์Šจ ์ผ์ด ๋ฒŒ์–ด์ง€๋‚˜์š”#

  1. ์‹คํ–‰ ์ค‘์ธ ์•ฑ์— "์ง€๊ธˆ ์“ธ ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌยท์ž์›์„ ๋ชจ๋‘ ์•Œ๋ ค์ค˜"๋ผ๊ณ  ๋ฌผ์–ด๋ด…๋‹ˆ๋‹ค.
  2. ๊ธฐ๋ณธ ๋‚ด์žฅ ๋„๊ตฌ์™€ ๋‚˜์ค‘์— ์ถ”๊ฐ€๋œ ๋„๊ตฌ๋ฅผ ํ•œ๋ฐ ๋ชจ์๋‹ˆ๋‹ค.
  3. ์ข…๋ฅ˜(๋ถ„๋ฅ˜)๋ณ„๋กœ ๋ฌถ์–ด์„œ ๋ณด๊ธฐ ์ข‹๊ฒŒ ์ •๋ฆฌํ•ด ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. (--filter๋‚˜ --json ์˜ต์…˜์ด ์žˆ์œผ๋ฉด ๊ทธ์— ๋งž์ถฐ ์ถœ๋ ฅ)

โš™๏ธ ์ƒ์„ธ ์˜ต์…˜ยท์‹คํ–‰ ๋ช…์„ธ (๊ฐœ๋ฐœ์ž / AI ์—์ด์ „ํŠธ์šฉ)

Parameters#

ParameterRequiredDescription
--filterโŒSubstring filter, e.g. bloc.
--jsonโŒEmit JSON instead of human-readable

Output (human)#

Built-in
  get_app_errors
  get_view_details
  view_screenshot              (gated: --images)
  hot_restart
  dump_render_tree             (gated: --dumps)

bloc.*
  bloc.dump_state              { type?: string }
  bloc.add_event               { type: string, event: object }

db.*
  db.seed_fixture              { name: string }
  db.reset

auth.*
  auth.impersonate             { persona: string }

flags.*
  flags.set                    { key: string, value: bool|string|number }

locale.*
  locale.set                   { tag: string }

network.*
  network.offline              { value: bool }

analytics.*
  analytics.tail               { n?: int }

nav.*
  nav.go_named                 { name: string, pathParameters?: obj, queryParameters?: obj }

Use#

  • Discovery before writing a scenario.
  • Sanity check after setup to confirm cocodeMcpEntries actually registered.
  • CI gate: detect regressions if a dynamic tool went missing after a refactor.