Skip to main content
Glama

list_nodes

Discover available ComfyUI nodes for workflow building by filtering nodes by name or category to identify components needed for automation tasks.

Instructions

List available ComfyUI nodes.

Args: filter: Optional string to match node names (case-insensitive) category: Optional category filter (exact match) Returns a sorted list of node class names. Use this to discover available nodes for workflow building.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filterNoFilter by name (e.g., 'fal', 'image')
categoryNoFilter by category

Implementation Reference

  • Core implementation of the list_nodes MCP tool. Filters and returns sorted list of available ComfyUI node names using cached data.
    @mcp.tool() def list_nodes( filter: str = Field(default=None, description="Filter by name (e.g., 'fal', 'image')"), category: str = Field(default=None, description="Filter by category"), ctx: Context = None, ) -> list: """List available ComfyUI nodes. Args: filter: Optional string to match node names (case-insensitive) category: Optional category filter (exact match) Returns a sorted list of node class names. Use this to discover available nodes for workflow building. """ if ctx: ctx.info(f"Listing nodes{' matching: ' + filter if filter else ''}...") try: nodes = get_cached_nodes() result = [] for name, info in nodes.items(): if filter and filter.lower() not in name.lower(): continue if category and info.get("category", "").lower() != category.lower(): continue result.append(name) return sorted(result) except Exception as e: return [f"Error: {e}"]
  • Input schema defined using Pydantic Field for the filter (optional name filter) and category (optional exact category match) parameters.
    filter: str = Field(default=None, description="Filter by name (e.g., 'fal', 'image')"), category: str = Field(default=None, description="Filter by category"), ctx: Context = None,
  • Registers the discovery tools (including list_nodes) by calling register_discovery_tools during overall tool registration.
    register_discovery_tools(mcp)
  • Top-level registration of all MCP tools, which chains to list_nodes registration.
    register_all_tools(mcp)
  • Uses get_cached_nodes() helper from api.py to fetch node data efficiently.
    nodes = get_cached_nodes()

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/IO-AtelierTech/comfyui-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server