Skip to main content
Glama

streamdeck_create_action

Create a shell script in ~/StreamDeckScripts and return a native Open action block to run a command when the button is pressed.

Instructions

Create an executable shell script in ~/StreamDeckScripts and return a native Open action block for it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable action name used for the script filename and button label.
commandYesShell command to run when the button is pressed.
working_directoryNoOptional working directory to cd into before executing the command.
filenameNoOptional override for the script filename.
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It states the tool creates a script in a specific directory and returns an action block, but it does not disclose whether existing files are overwritten, what permissions are needed, or what happens if the directory does not exist. These are critical behavioral traits for a mutation tool.

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 a single sentence that efficiently conveys the core action and the return value. It is front-loaded with the verb 'Create' and the key resources, with no redundant or extraneous text.

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

Completeness4/5

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

For a tool with 4 parameters and no output schema, the description is fairly complete, covering the main effect (script creation) and output (action block). It could be improved by mentioning that the script is saved in a fixed directory and any prerequisite about the target directory's existence, but it is largely sufficient.

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%, and the schema already explains each parameter (name, command, working_directory, filename) clearly. The tool description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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 states the verb 'create' and the specific resources involved: an executable shell script in ~/StreamDeckScripts and a native Open action block. The purpose is distinct from sibling tools like streamdeck_create_icon or streamdeck_read_page, which handle icons or reading profiles.

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 explicit guidance on when to use this tool vs. alternatives. It does not mention when not to use it, such as for batch creation or editing existing actions, nor does it reference sibling tools like streamdeck_write_page for page-level updates.

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/verygoodplugins/streamdeck-mcp'

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