Content
# mcp-server-bash
Minimalistic MCP server written in shell script.
This repo is comlimentary to the article: [Minimalistic MCP Server in bash script](https://dev.to/antonum/minimalistic-mcp-server-in-bash-script-10k5)
The lifecycle of MCP server can be described in two phases. Initialization and Operation.

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:
```bash
# 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:
```json
{
"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
```bash
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
Connection Info
You Might Also Like
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
Sequential Thinking
A structured MCP server for dynamic problem-solving and reflective thinking.
git
A Model Context Protocol server for Git automation and interaction.