Copy-ready examples
These examples are starting points. Review executable availability and narrow filesystem roots for your environment before exposing them to a model.
Read a workspace file
shell-is-all-you-need \
--tool --name read \
--description "Read one UTF-8 file inside the workspace." \
--input-schema '{"type":"object","properties":{"path":{"type":"string","description":"Workspace-relative file path."}},"required":["path"],"additionalProperties":false}' \
--fs-path-field path \
--fs-root . \
--fs-deny-path .env \
--fs-deny-path .git \
--exec cat -- '{path}'Search source code
This example uses ripgrep and fixes the search root to src:
shell-is-all-you-need \
--tool --name search \
--description "Search source code with a regular expression." \
--input-schema '{"type":"object","properties":{"pattern":{"type":"string","description":"Rust-compatible regular expression."}},"required":["pattern"],"additionalProperties":false}' \
--process-output-limit-bytes 524288 \
--exec rg --line-number --color never -- '{pattern}' srcFormat one supported file
The marked path is canonicalized before Prettier receives it:
shell-is-all-you-need \
--tool --name format \
--description "Format one supported source file with Prettier." \
--input-schema '{"type":"object","properties":{"path":{"type":"string","description":"Source file to format."}},"required":["path"],"additionalProperties":false}' \
--fs-path-field path \
--fs-root src \
--fs-root docs \
--fs-deny-path .env \
--process-timeout-ms 30000 \
--exec npx prettier --write -- '{path}'Inspect a Git revision
shell-is-all-you-need \
--tool --name show \
--description "Show the summary and changed paths for one Git revision." \
--input-schema '{"type":"object","properties":{"revision":{"type":"string","description":"Commit, branch, or tag."}},"required":["revision"],"additionalProperties":false}' \
--process-timeout-ms 10000 \
--exec git show --stat --oneline --no-renames '{revision}'Child option parsing
Not every program supports -- in every argument position. Test how the fixed child handles values beginning with -, and prefer commands that provide an explicit end-of-options marker.
Fetch an HTTP URL
The configured Python snippet validates the scheme before opening the URL. Doubled braces preserve the Python dictionary literal.
shell-is-all-you-need \
--tool --name fetch \
--description "Fetch one HTTP or HTTPS URL as text." \
--input-schema '{"type":"object","properties":{"url":{"type":"string","description":"Complete HTTP or HTTPS URL."}},"required":["url"],"additionalProperties":false}' \
--process-timeout-ms 35000 \
--exec python3 -c 'import sys,urllib.parse,urllib.request; u=sys.argv[1]; p=urllib.parse.urlsplit(u); (p.scheme in ("http","https") and p.netloc) or sys.exit("invalid URL"); r=urllib.request.Request(u,headers={{"User-Agent":"shell-is-all-you-need"}}); print(urllib.request.urlopen(r,timeout=30).read().decode("utf-8","replace"))' '{url}'Controlled deployment command
Use typed fields for fixed positional arguments rather than accepting a whole command:
shell-is-all-you-need \
--tool --name deploy \
--description "Deploy a known service to a named environment." \
--input-schema '{"type":"object","properties":{"service":{"type":"string"},"environment":{"type":"string"}},"required":["service","environment"],"additionalProperties":false}' \
--process-timeout-ms 600000 \
--process-max-concurrency 1 \
--process-rate-limit-count 3 \
--process-rate-limit-window-ms 3600000 \
--exec internal-deploy --service '{service}' --environment '{environment}'Schema types validate shape, not an allowed-value list. If only specific service or environment values are permitted, make the fixed child validate that allowlist before taking action.
Raw shell (privileged)
shell-is-all-you-need \
--tool --name run \
--description "Run a complete shell command. Privileged; use only in a trusted workspace." \
--input-schema '{"type":"object","properties":{"command":{"type":"string"}},"required":["command"],"additionalProperties":false}' \
--process-timeout-ms 120000 \
--process-output-limit-bytes 1048576 \
--exec sh -c '{command}'Prefer every narrower example above when possible.
Full tool collection
The source repository includes mcp.example.json, a tested multi-server collection providing:
files_read,files_write,files_edit, andfiles_patchsearch_globandsearch_grepweb_fetchandweb_searchshell_runtasks_runskills_listandskills_get
Copy only the servers you need into your MCP client's configuration.