Skip to main content
Glama
VetCoders

automator-mcp

by VetCoders

list_actions

Discover available automation actions for macOS, including AppleScript execution, workflow automation, and system tasks like email management and file organization.

Instructions

List available Automator actions

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category (optional)

Implementation Reference

  • The primary handler function for the 'list_actions' tool. It executes an AppleScript to fetch names of Automator actions, parses the result, and returns a formatted text response.
    async listActions(category) {
      const script = `
        tell application "Automator"
          get name of Automator actions
        end tell
      `;
      
      const result = await this.runAppleScript(script);
      const actions = result.content[0].text.split(', ');
      
      return {
        content: [
          {
            type: 'text',
            text: `Available actions${category ? ` in ${category}` : ''}:\n${actions.join('\n')}`,
          },
        ],
      };
    }
  • src/index.js:95-107 (registration)
    Registration of the 'list_actions' tool in the ListTools response, including its name, description, and input schema.
    {
      name: 'list_actions',
      description: 'List available Automator actions',
      inputSchema: {
        type: 'object',
        properties: {
          category: {
            type: 'string',
            description: 'Filter by category (optional)',
          },
        },
      },
    },
  • Dispatch case in the CallToolRequestSchema handler that routes 'list_actions' calls to the listActions method.
    case 'list_actions':
      return await this.listActions(args.category);
  • Input schema definition for the 'list_actions' tool, specifying an optional 'category' parameter.
    inputSchema: {
      type: 'object',
      properties: {
        category: {
          type: 'string',
          description: 'Filter by category (optional)',
        },
      },
    },

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

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 full burden for behavioral disclosure. It gives no information about side effects (e.g., read-only vs. mutating), performance, or return format, which is insufficient for an agent to assess impact.

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, clear sentence with no wasted words. It could be slightly more informative without sacrificing conciseness, but it is well-structured and front-loaded.

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 the lack of output schema and no annotations, the description should explain what information the list contains (e.g., action names, IDs, descriptions). It does not, leaving the agent uncertain about the return value.

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% for the single optional parameter, so the schema already explains its meaning. The description adds no further semantic value, meeting the baseline of 3.

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 specifies the verb 'List' and the resource 'Automator actions', making the tool's purpose immediately obvious. It distinguishes from sibling tools like create_workflow or run_applescript which have different verbs.

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 provide any guidance on when to use this tool versus alternatives. No context about prerequisites, typical use cases, or when not to use it is given, leaving the agent without decision support.

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