Structured JSON wrappers for git, kubectl, terraform, helm, argocd, gh, glab and other CLIs.
MCPpedia last refreshed this data
io.github.nickw8/bash-mcp is an MCP server that structured JSON wrappers for git, kubectl, terraform, helm, argocd, gh, glab and other CLIs. Its tool list has not been published yet over stdio, sse and http, requires no API key, and scores 57/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"bash-mcp": {
"env": {
"BASH_MCP_MODE": "readOnly"
},
"args": [
"-y",
"@nickw8/bash-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Structured JSON wrappers for git, kubectl, terraform, helm, argocd, gh, glab and other CLIs.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
npx -y '@nickw8/bash-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked @nickw8/bash-mcp against OSV.dev.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in cloud
Gives AI development tools Firebase-specific capabilities and expertise.
Cloud-powered AI platform with multi-agent swarms, sandboxes, and workflow automation
Draw cloud architecture diagrams with official AWS, Azure and GCP icons from a prompt or Terraform.
MCP Server for kubernetes management commands
MCP Security Weekly
Get CVE alerts and security updates for io.github.nickw8/bash-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP server that wraps common CLI tools (kubectl, terraform, helm, git, argocd, jq, yq, ripgrep, etc.) and returns structured JSON instead of raw text output.
Designed for AI agents and LLM-powered workflows where parsing human-readable CLI output wastes tokens and breaks easily.
Created with the help of Claude since it is the main consumer of the structured data.
No installation needed — just add the MCP config and npx will fetch it on first use.
npm install -g @nickw8/bash-mcp
git clone https://github.com/nickw8/bash-mcp.git
cd bash-mcp
npm install && npm run build
npm link
Run the built-in preflight check before wiring bash-mcp into a client:
npx -y @nickw8/bash-mcp --doctor # or: bash-mcp --doctor (global install)
It reports your Node version, whether the MCP SDK loads, which CLIs are
available (versions included), and the resolved BASH_MCP_MODE — then exits
non-zero if a critical check fails (Node too old or the SDK can't load). Missing
CLIs are advisory, not failures. Without --doctor, the binary starts the MCP
server as usual.
Add bash-mcp to your Claude Code settings. For all projects (recommended), edit ~/.claude/settings.json. For a single project, edit .claude/settings.json in the project root.
With npx (no install required):
{
"mcpServers": {
"bash-mcp": {
"command": "npx",
"args": ["-y", "@nickw8/bash-mcp"],
"env": {
"BASH_MCP_MODE": "readOnly"
}
}
}
}
Safe by default: an unset
BASH_MCP_MODEresolves toreadOnly, which blocks mutatingrun/batchcommands. The examples set it explicitly for clarity. For trusted local use, setBASH_MCP_MODE=offto allow writes.
With global install:
{
"mcpServers": {
"bash-mcp": {
"command": "bash-mcp",
"env": {
"BASH_MCP_MODE": "readOnly"
}
}
}
}
To verify it's working, start Claude Code and check that bash-mcp tools (like cat, rg, git_status) appear in the tool list.
You can also add it from the CLI:
claude mcp add bash-mcp -e BASH_MCP_MODE=readOnly -- npx -y @nickw8/bash-mcp
Registering the server exposes the tools, but agents still reach for raw Bash
out of habit. Two assets fix that: a rules file (~/.claude/rules/bash-mcp-tools.md,
auto-loaded into every session — the tool inventory) and a PreToolUse(Bash)
redirect hook. Install both with:
npx -y @nickw8/bash-mcp --install-claude # copy into ~/.claude
npx -y @nickw8/bash-mcp --install-claude --check # report drift, write nothing
It prints the settings.json hook block to paste in (the rules file needs no
settings — Claude Code auto-loads ~/.claude/rules/*.md). See
hooks/README.md for details and the clone-time
npm run claude:install equivalent. --uninstall-claude removes both files again.
Or install the Claude Code plugin, which bundles the server and the hook (in warn
mode — it never blocks unless BASH_MCP_HOOK=block):
/plugin install bash-mcp --marketplace nickw8/bash-mcp
Every other client (VS Code/Copilot, Codex, generic stdio) and pinned versions: docs/guides/installation.md.
Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/,
Windows: %APPDATA%\Claude\) and add the same mcpServers entry:
{
"mcpServers": {
"bash-mcp": {
"command": "npx",
"args": ["-y", "@nickw8/bash-mcp"],
"env": {
"BASH_MCP_MODE": "readOnly"
}
}
}
}
Restart Claude Desktop after editing.
Add bash-mcp to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project):
... [View full README on GitHub](https://github.com/nickw8/bash-mcp#readme)