Skip to main content
Glama

list_workflow_definitions

Retrieve metadata for all registered workflows in Conductor to manage and troubleshoot workflow definitions using filters like access type or tags.

Instructions

List all registered workflow definitions. Returns metadata about all workflows registered in Conductor.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
accessNoFilter by access type (READ or CREATE)
tagKeyNoFilter by tag key
tagValueNoFilter by tag value

Implementation Reference

  • The execution handler for list_workflow_definitions tool. Constructs query parameters from input arguments and fetches workflow definitions from Conductor's /metadata/workflow endpoint, returning the JSON response as text.
    case "list_workflow_definitions": {
      const params: any = {};
      
      if ((args as any).access) params.access = (args as any).access;
      if ((args as any).tagKey) params.tagKey = (args as any).tagKey;
      if ((args as any).tagValue) params.tagValue = (args as any).tagValue;
      
      const response = await conductorClient.get("/metadata/workflow", { params });
      
      return {
        content: [
          {
            type: "text",
            text: JSON.stringify(response.data, null, 2),
          },
        ],
      };
    }
  • Input schema for the list_workflow_definitions tool, defining optional filter parameters: access (enum READ/CREATE), tagKey, and tagValue.
    inputSchema: {
      type: "object",
      properties: {
        access: {
          type: "string",
          description: "Filter by access type (READ or CREATE)",
          enum: ["READ", "CREATE"],
        },
        tagKey: {
          type: "string",
          description: "Filter by tag key",
        },
        tagValue: {
          type: "string",
          description: "Filter by tag value",
        },
      },
    },
  • src/index.ts:410-432 (registration)
    Registration of the list_workflow_definitions tool in the tools array used by MCP server for list_tools and call_tool handling.
    {
      name: "list_workflow_definitions",
      description:
        "List all registered workflow definitions. Returns metadata about all workflows registered in Conductor.",
      inputSchema: {
        type: "object",
        properties: {
          access: {
            type: "string",
            description: "Filter by access type (READ or CREATE)",
            enum: ["READ", "CREATE"],
          },
          tagKey: {
            type: "string",
            description: "Filter by tag key",
          },
          tagValue: {
            type: "string",
            description: "Filter by tag value",
          },
        },
      },
    },
Behavior2/5

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

With no annotations provided, the description carries full burden but only states it 'Returns metadata about all workflows,' lacking details on pagination, rate limits, authentication needs, or error handling. It doesn't disclose behavioral traits like whether it's read-only (implied but not stated) or performance characteristics, leaving significant gaps for a list operation.

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 that directly state the tool's purpose and return value without redundancy. It's front-loaded with the core function and efficiently communicates essential information, with no wasted words.

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

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete for a list tool with filtering parameters. It doesn't explain what 'metadata' includes, how results are structured, or handling of large datasets (e.g., pagination). For a tool with three parameters and complex sibling context, more detail is needed to guide effective use.

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 100%, with clear descriptions for all three parameters (access, tagKey, tagValue). The description adds no parameter semantics beyond what the schema provides, such as explaining filter combinations or default behaviors. Baseline 3 is appropriate as the schema adequately documents 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 verb ('List') and resource ('all registered workflow definitions'), specifying it returns metadata about workflows. It distinguishes from siblings like 'get_workflow_definition' (singular) and 'list_workflows' (instances vs definitions), though not explicitly. However, it lacks explicit sibling differentiation, keeping it at 4 instead of 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 like 'get_workflow_definition' for a single definition or 'list_workflows' for workflow instances. It mentions filtering parameters but doesn't explain when filtering is appropriate or necessary, leaving usage context implied at best.

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

Install Server

Other Tools

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/opensensor/conductor-mcp'

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