Skip to main content

Filesystem, Git & Shell

The primitive layer everything else builds on — 31 tools across fileOps.js, directoryOps.js, gitOps.js, and commandOps.js. No API keys required — these operate directly on your local filesystem and git repositories.

Filesystem

ToolRiskWhat it does
read_fileREADRead the full text content of a single file
read_multiple_filesREADRead several files in one call
create_fileLOWCreate a brand-new file
write_fileMEDIUMCreate or completely overwrite a file with new content
edit_fileMEDIUMExact string find-and-replace, without rewriting the whole file
delete_fileHIGHDelete a single file
move_fileMEDIUMMove or rename a file or directory
copy_fileLOWCopy a single file to a new location
get_file_infoREADGet metadata — size, type, created/modified timestamps

edit_file requires an exact match for the text being replaced — the same targeted-patch approach used throughout this documentation to hand off code changes without re-reading (and re-paying tokens for) an entire large file.

Directories

ToolRiskWhat it does
list_directoryREADList the immediate files and subfolders inside a directory
directory_treeREADRecursively build a tree view of a directory's contents
create_directoryLOWCreate a new directory, including missing parents
delete_directoryHIGHDelete a directory
search_filesREADRecursively search for files/folders whose name matches a pattern

Git — full lifecycle, 20 tools

ToolRiskWhat it does
git_initLOWInitialize a new git repository
git_statusREADShow the working tree status
git_addLOWStage files for commit
git_commitMEDIUMCommit staged changes with a message
git_pushHIGHPush commits to a remote
git_pullMEDIUMPull changes from a remote
git_logREADShow recent commit history
git_diffREADShow uncommitted changes, optionally scoped to one file
git_diff_statREADSummary of changes (files/insertions/deletions) rather than full diff
git_branchREADList local branches and show the current branch
git_create_branchLOWCreate a new local branch, optionally checking it out
git_checkoutMEDIUMCheckout an existing local branch
git_mergeHIGHMerge a branch into the current branch
git_resetHIGHReset the current branch to a ref
git_stashMEDIUMStash working changes
git_showREADShow details of a commit or object
git_remoteREADManage/inspect git remotes
git_tagLOWManage tags
git_changed_filesREADList changed files with their change type (modified/untracked)
git_check_cleanREADCheck whether the working tree is clean

Shell

run_command (risk varies by content) — executes an arbitrary shell command, scanned by the security layer for both hard-blocked destructive patterns (drive wipes, format, shutdown) and elevated-risk-but-flaggable ones (force-push, DROP TABLE, curl | bash, sudo) before running.

On Windows, this runs through PowerShell rather than cmd.exe, so multi-statement scripts and PowerShell-native commands work correctly instead of failing on syntax cmd.exe doesn't understand.

Example

"Show me what changed since the last commit, then commit it as 'fix: handle empty
response from API'."

Claude calls git_diffgit_addgit_commit with your message.