| name | manage-extensions |
| description | Audits, enables, disables, and refreshes trusted local MCP extensions. |
Manage MCP extensions
Extensions live in ~/.tars/extensions/. Each extension directory contains a
tars-extension.json manifest. Authorization is stored in
~/.tars/extensions/extension-enablement.json.
Inspect
Before changing state:
- List extension directories and resolve symlinks.
- Read the manifest and enablement entry.
- Review the command, arguments, working directory, explicit environment,
envAllowlist, and
startup/tool timeouts.
- Treat all extension code and dependencies as trusted native code, not sandboxed content.
Enable or disable
Use an explicit allowlist entry:
{
"extension-name": {
"enabled": true,
"envAllowlist": ["REQUIRED_API_KEY"],
"startupTimeoutMs": 30000,
"toolTimeoutMs": 60000
}
}
Set enabled to false or remove the entry to prevent the extension from loading. Keep the JSON
valid and grant only variables the server needs.
Install or refresh
For repository-packaged extensions, use the transactional refresh command:
tars refresh --extensions-only
For a user extension, stage and validate the directory before placing it under
~/.tars/extensions/. Do not execute an unreviewed install script. Ask the operator to restart Tars
after an enablement or manifest change.
If a tool is missing, inspect startup logs and enablement rather than running the MCP server directly
or guessing a tool name. Unique tools keep their declared names; collisions receive deterministic
extension namespaces.