$PATH
.
MCP Tools
MCP Tools
- shell_[command]: Each configured shell command becomes a tool with the
shell_
prefix
Unlike other agentic tools, Unpage will only run the shell commands
you have explicitly configured.
Configuration
Enable the Shell Commands plugin by editing the~/.unpage/profiles/<profile_name>/config.yaml
file:
Defining Shell Commands
You must explicitly define each shell command you want to make available to Agents. For example:handle
(which must be unique), a description
(which
helps the LLM decide when to use it) and the command
itself.
Commands With Arguments
Shell commands can accept arguments, which are escaped and then passed to the command. All arguments you define are then required. If you have a script that has accepts optional arguments, configure it multiple times with and without the arguments (make sure to give each version its ownhandle
and
description
).
args
, where the format is
<arg_name>: <description of the argument>
. The descriptions are important
in order to guide the LLM to pass in the arguments correctly.
Then within the command
itself, include the argument in curly brackets like:
command: ls -lah {<arg_name>}
.
Environment
Shell commands are run within the same environment as Unpage itself. That means they have access to the same configuration, environment variables, etc. as the main process.Tools
Each shell command you define ends up as an Agent / MCP tool, named with theshell_
prefix.
For example, a command with the handle get_current_directory
will result in
a new tool named shell_get_current_directory
.
Developing & Testing Commands
The easiest way to develop and test new shell commands is by using theunpage mcp tools
subcommands, which will invoke tools directly from the command
line.
To list all tools, including your custom shell commands, run: