Actions
Jump to:
remove_extensionadd_extensionchange_extensionundo
Remove extension
remove_extension
Destructive
Strip the extension from every matching file in a folder. Leave 'ext' empty to strip whatever extension each file has.
Inputs
| Name | Type | Required / default | Values and notes |
folder |
path |
required
|
|
ext |
string |
optional, default ""
|
|
Outputs
| Name | Type | Notes |
renamed |
int |
|
changes |
json |
|
Add extension
add_extension
Destructive
Append an extension to every file in a folder that doesn't already have it.
Inputs
| Name | Type | Required / default | Values and notes |
folder |
path |
required
|
|
ext |
string |
required
|
|
Outputs
| Name | Type | Notes |
renamed |
int |
|
changes |
json |
|
Change extension
change_extension
Destructive
Swap one extension for another across every matching file in a folder.
Inputs
| Name | Type | Required / default | Values and notes |
folder |
path |
required
|
|
from_ext |
string |
required
|
|
to_ext |
string |
required
|
|
Outputs
| Name | Type | Notes |
renamed |
int |
|
changes |
json |
|
Undo last change
undo
Destructive
Reverse the most recent extension change made in a folder, using the journal this app keeps.
Inputs
| Name | Type | Required / default | Values and notes |
folder |
path |
required
|
|
Outputs
| Name | Type | Notes |
restored |
int |
|
Use it
Remove extension
Command line
shell
python app.py --action remove_extension --params '{"folder": "D:/path/to/folder"}'
# preview first - destructive action, nothing is changed:
python app.py --action remove_extension --params '{"folder": "D:/path/to/folder"}' --dry-run
Run from the app’s own folder. Single quotes work in bash and PowerShell; in cmd.exe use double quotes and escape the inner ones.
MCP tool
mcp
run_action("extension-remover", "remove_extension", {"folder": "D:/path/to/folder"})
# preview first:
run_action("extension-remover", "remove_extension", {"folder": "D:/path/to/folder"}, dry_run=true)
Workflow node
json
{
"id": "n0",
"app": "extension-remover",
"action": "remove_extension",
"params": {
"folder": "D:/path/to/folder"
},
"inputs": {}
}
Add extension
Command line
shell
python app.py --action add_extension --params '{"folder": "D:/path/to/folder", "ext": "<ext>"}'
# preview first - destructive action, nothing is changed:
python app.py --action add_extension --params '{"folder": "D:/path/to/folder", "ext": "<ext>"}' --dry-run
Run from the app’s own folder. Single quotes work in bash and PowerShell; in cmd.exe use double quotes and escape the inner ones.
MCP tool
mcp
run_action("extension-remover", "add_extension", {"folder": "D:/path/to/folder", "ext": "<ext>"})
# preview first:
run_action("extension-remover", "add_extension", {"folder": "D:/path/to/folder", "ext": "<ext>"}, dry_run=true)
Workflow node
json
{
"id": "n0",
"app": "extension-remover",
"action": "add_extension",
"params": {
"folder": "D:/path/to/folder",
"ext": "<ext>"
},
"inputs": {}
}
Change extension
Command line
shell
python app.py --action change_extension --params '{"folder": "D:/path/to/folder", "from_ext": "<from_ext>", "to_ext": "<to_ext>"}'
# preview first - destructive action, nothing is changed:
python app.py --action change_extension --params '{"folder": "D:/path/to/folder", "from_ext": "<from_ext>", "to_ext": "<to_ext>"}' --dry-run
Run from the app’s own folder. Single quotes work in bash and PowerShell; in cmd.exe use double quotes and escape the inner ones.
MCP tool
mcp
run_action("extension-remover", "change_extension", {"folder": "D:/path/to/folder", "from_ext": "<from_ext>", "to_ext": "<to_ext>"})
# preview first:
run_action("extension-remover", "change_extension", {"folder": "D:/path/to/folder", "from_ext": "<from_ext>", "to_ext": "<to_ext>"}, dry_run=true)
Workflow node
json
{
"id": "n0",
"app": "extension-remover",
"action": "change_extension",
"params": {
"folder": "D:/path/to/folder",
"from_ext": "<from_ext>",
"to_ext": "<to_ext>"
},
"inputs": {}
}
Undo last change
Command line
shell
python app.py --action undo --params '{"folder": "D:/path/to/folder"}'
# preview first - destructive action, nothing is changed:
python app.py --action undo --params '{"folder": "D:/path/to/folder"}' --dry-run
Run from the app’s own folder. Single quotes work in bash and PowerShell; in cmd.exe use double quotes and escape the inner ones.
MCP tool
mcp
run_action("extension-remover", "undo", {"folder": "D:/path/to/folder"})
# preview first:
run_action("extension-remover", "undo", {"folder": "D:/path/to/folder"}, dry_run=true)
Workflow node
json
{
"id": "n0",
"app": "extension-remover",
"action": "undo",
"params": {
"folder": "D:/path/to/folder"
},
"inputs": {}
}
Example prompts
Things you can say to Claude, Cursor or Codex once the MCP server is registered.
- strip the extension off every file in D:/dump
- add .txt to every file in this folder that's missing an extension
- change all .jpeg files in this folder to .jpg