mcp-server-bash
by antonum
Minimalistic MCP server written in shell script. It implements the Model Context Protocol (MCP) for interacting with tools, such as adding two numbers.
View on GitHub
Last updated: N/A
mcp-server-bash
Minimalistic MCP server written in shell script.
This repo is comlimentary to the article: Minimalistic MCP Server in bash script
The lifecycle of MCP server can be described in two phases. Initialization and Operation.

Phases of MCP
The mcp_add.sh implements all of the messages within this lifecicle, from the handshake to execution of the simple "add two numbers" tool.
To do the basic test methods right in CLI use:
# test tools/list method
echo '{"method":"tools/list","params":{},"jsonrpc":"2.0","id":2}' | bash mcp_add.sh | jq
# test math_addition tool
echo '{"jsonrpc":"2.0","id":20, "method":"tools/call","params":{"name":"addition","arguments":{"num1":"1","num2":"2"}}}' | bash mcp_add.sh | jq
LLM host configuration
JSON Configuration file for mcphost and Claude Desktop:
{
"mcpServers": {
"math": {
"command": "/Users/anton/code/mcp-server-bash/mcp_add.sh",
"args": []
}
}
}
Test with mcphost
Add execute to bash script:
chmod +x mcp_add.sh
Run mcphost with llama3.1 and tool configuration file
mcphost -m ollama:llama3.1:latest --config /Users/anton/code/mcp-server-bash/mcp.json
...
using math tool add 10 and 88
References
- Model Context Protocol https://www.anthropic.com/news/model-context-protocol
- mcphost https://github.com/mark3labs/mcphost
- jsonrpc specification: https://www.jsonrpc.org/specification
- mcp inspector https://github.com/wong2/mcp-cli