# SPDX-FileCopyrightText: 2026 James Harton # # SPDX-License-Identifier: Apache-2.0 defmodule BB.MCP.Tools.ListRobots do @moduledoc """ List the robots this MCP server is configured to expose. Returns a list of `{name, module}` entries. Use `name` as the `robot` argument to every other tool. """ use Anubis.Server.Component, type: :tool alias Anubis.Server.Response alias BB.MCP.Robots alias BB.MCP.Tools schema do end @impl true def execute(_params, frame) do payload = Tools.robots() |> Robots.to_list() |> Enum.map(fn {name, module} -> %{"name" => name, "module" => inspect(module)} end) {:reply, Response.json(Response.tool(), %{"robots" => payload}), frame} end end