banish.shdocs
HomeGitHub
Concepts / MCP server
View as Markdown

MCP server

The second part of banish is an MCP server. Run banish serve and every verb in your extensions becomes a Model Context Protocol tool, automatically.

Start the server

banish serve

With the default extensions, agents get 45-plus tools out of the box, each one a compact wrapper around a command you already run:

banish_gs git status, compact
banish_dps docker ps, compact
banish_kpods kubectl get pods, compact
...

Verbs become tools

A verb defined in a .bsh file is exposed as an MCP tool with no extra work:

!verb kpods
!args ns
!expand exec kubectl get pods -n {ns} -o wide
!help "List pods in namespace"

That !help line becomes the tool's description, and !args become its typed parameters. Add a verb, restart the server, and the tool appears.

When to use it

Use banish init mcp to register the server with any MCP-capable agent. The proxy and the server share the same filters, so you get the same compact output whether your agent shells out or calls a tool. For the why and a full setup walk through, see reduce MCP token usage, or the per-agent guides for Gemini CLI, OpenAI Codex, Windsurf, Cline, and GitHub Copilot.

The server speaks stdio by default. No network listener is opened, so there is no port to secure and nothing exposed beyond the agent that launched it.

MCP server - stop MCP tool output eating your context window - banish