mcp -bash-sdk
Yes Mcp server in bash
claude mcp add --transport stdio muthuishere-mcp-server-bash-sdk bash ./moviemcpserver.sh
How to use
This MCP server is implemented in Bash and communicates using the MCP protocol over standard input and output. It exposes business logic as tool functions that are discovered automatically based on the tool naming convention (tool_<name>). You can interact with the server by piping a JSON-RPC request to the server script (for example, ./moviemcpserver.sh) and reading the JSON-RPC response back on stdout. A sample request demonstrates calling a tool by name (e.g., get_movies) via the tools namespace: {"jsonrpc": "2.0", "method": "tools/call", "params": {"name": "get_movies"}, "id": 1}. The server will route this to the corresponding tool_<name> function defined in the business logic (e.g., tool_get_movies) and return the result. You can customize or extend the server by adding new tool_ functions and updating assets as needed. For VS Code or Copilot integration, configure the stdio server to point to moviemcpserver.sh and set any necessary environment variables (for example, API keys) in the env block.
How to install
Prerequisites:
- Bash shell
- jq (for JSON processing)
Installation steps:
-
Clone the repository: git clone https://github.com/muthuishere/mcp-server-bash-sdk cd mcp-server-bash-sdk
-
Ensure executable permissions on the server script and related files: chmod +x mcpserver_core.sh moviemcpserver.sh
-
Install dependencies:
- Install jq (e.g., on macOS: brew install jq; on Debian/Ubuntu: sudo apt-get install jq)
-
Run the server (example): ./moviemcpserver.sh // Alternatively, run via the MCP config: // Use the mcp_config entry with command: bash and args: ["./moviemcpserver.sh"]
-
Test with a sample request: echo '{"jsonrpc": "2.0", "method": "tools/call", "params": {"name": "get_movies"}, "id": 1}' | ./moviemcpserver.sh
Additional notes
Tips and notes:
- The server discovers tools automatically from functions named tool_<name>, so to add a new capability implement a new function tool_<name> that accepts a single JSON argument in $1 and returns 0 on success and 1 on error.
- Tool metadata and external configuration can be stored under assets/ (e.g., assets/yourserver_tools.json and assets/yourserver_config.json) to enable dynamic behavior.
- Ensure jq is available in your environment since the Bash implementation relies on it for JSON parsing.
- If you modify tool implementations, make sure to make the script executable and reload/restart the MCP server as needed.
- This Bash-based MCP server emphasizes lightweight operation and zero-overhead protocol handling, but it may not scale for high-throughput scenarios.
Related MCP Servers
shellfirm
Terminal guardrails for humans and AI agents — intercepts dangerous commands with context-aware challenges before the damage is done.
mcp-cli
mcpc is a CLI client for MCP. It supports persistent sessions, stdio/HTTP, OAuth 2.1, JSON output for code mode, proxy for AI sandboxes, and much more.
mcp-shell
Give hands to AI. MCP server to run shell commands securely, auditably, and on demand.
hackerone-graphql
MCP server for the HackerOne GraphQL API
terminal
A minimal, zero-dependency terminal MCP (Model Context Protocol) client built for coding agents like OpenAI Codex.
opensearch
OpenSearch 3.0 with MCP Server