Skip to content

shell-is-all-you-needThe small bridge between a command and an AI tool.

Publish exactly the commands you trust as typed MCP tools. No bespoke server, no blank-check shell access.

shell-is-all-you-need

From command to MCP tool ​

01 / DEFINEFix the command

Choose the executable and argument template. The model never chooses a program.

02 / CONSTRAINDescribe the inputs

Expose typed fields, permitted paths, and resource limits for each tool.

03 / CONNECTSpeak MCP

One native stdio server advertises the tools and returns structured results.

This definition exposes cargo fmt as a no-argument tool. The child process is launched directly—there is no shell unless you explicitly configure one.

sh
shell-is-all-you-need \
  --tool \
  --name format \
  --description "Format the Rust workspace." \
  --input-schema '{"type":"object","properties":{},"additionalProperties":false}' \
  --process-timeout-ms 120000 \
  --exec cargo fmt --all

Design principle

Start with the narrowest useful command. Add typed inputs and permissions only when the tool needs them.

What you control ​

LayerControls
Model contractName, description, closed JSON Schema
InvocationFixed executable and argument templates
FilesystemPath fields, allowed roots, denied paths
ResourcesTimeout, output bytes, concurrency, request rate
Long-running workTask store, polling interval, retention TTL

Build your first tool →

A real multi-tool workflow ​

Download a Reddit post, edit its image with Muse Image, and ask DeepSeek to compare the before and after. A fourth tool generates images from scratch. Credentials stay in the server environment.

Explore the live media workflow →

Released under the MIT License.