Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
MCP server SDK/example implemented entirely in bash — build a Model Context Protocol server with no runtime dependency beyond a POSIX shell.
| Date | Stars |
|---|---|
| 2026-07-31 | 513 |
| 2026-08-02 | 513 |
| 2026-08-06 | 513 |
| 2026-08-12 | 512 |
| 2026-08-18 | 514 |
| 2026-08-23 | 515 |
| 2026-08-25 | 515 |
| 2026-08-28 | 515 |
| 2026-09-08 | 515 |
| 2026-09-13 | 515 |
| 2026-09-16 | 516 |
| 2026-09-20 | 516 |
Today
— stars today
This week
+1 stars this week
This month
+2 stars this month
Momentum
16.0
growth rate 0.19%/day
# 🐚 MCP Server in Bash
[](https://modelcontextprotocol.io/specification/2026-07-28)
[](https://github.com/muthuishere/mcp-server-bash-sdk/releases)
[](#supported-platforms)
[](LICENSE)
[](https://discord.gg/V9C2kvHC8D)
A lightweight, zero-overhead implementation of the [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server in pure Bash — targeting the current **2026-07-28** revision.
📖 **[Documentation site](https://muthuishere.github.io/mcp-server-bash-sdk/)** · 🧩 **[Examples](examples/)** · 🧠 **[Architecture decisions](docs/adr/)** · 🔬 **[Spikes](docs/spikes/)**
**Why?** Most MCP servers are just API wrappers with schema conversion. This implementation provides a zero-overhead alternative to Node.js, Python, or other heavy runtimes.
**Why now?** The 2026-07-28 revision made MCP *stateless*: no `initialize` handshake, no sessions, no server-initiated requests. One line in, one line out — which is exactly the shape of a shell read loop. Bash went from an awkward fit to a natural one.
---
## 📋 Features
* ✅ MCP **2026-07-28** — stateless, per-request version negotiation
* ✅ **Both standard transports**: stdio and Streamable HTTP, from the same server file
* ✅ `server/discover`, `tools/list`, `tools/call`
* ✅ Dynamic tool discovery via function naming convention
* ✅ External configuration via JSON files
* ✅ Output validated against the official published JSON Schema
---
## 🔧 Requirements
- Bash 3.2 or newer (3.2 is what macOS ships as `/bin/bash`)
- `jq` for JSON processing (`brew install jq` / `apt install jq` / `apk add jq`)
- *(HTTP transport only)* `socat` preferred, or `netcat` — see the note under [Transports](#-transports)
- *(optional)* Python with `jsonschema`, only to run the schema conformance test
### Supported platforms
Verified by running the real test suites on each, not by inspection —
`./scripts/test-linux.sh all` reproduces the Linux rows on any machine with Docker.
| Platform | Shell | Unit | HTTP |
| --- | --- | --- | --- |
| macOS | bash 3.2 (`/bin/bash`) and 5.x | 31/31 | 19/19 |
| Debian / Ubuntu | bash 5.2 | 31/31 | 19/19 |
| Alpine (musl + busybox) | bash 5.3 | 31/31 | 19/19 |
Docker is needed only to verify *other* platforms — never to run a server.
---
## 🚀 Quick Start
1. **Clone the repo**
```bash
git clone https://github.com/muthuishere/mcp-server-bash-sdk
cd mcp-server-bash-sdk
```
2. **Make scripts executable**
```bash
chmod +x mcpserver_core.sh moviemcpserver.sh
```
3. **Try it out** — every request carries its protocol version in `params._meta`:
```bash
echo '{"jsonrpc":"2.0","id":1,"method":"server/discover","params":{"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientCapabilities":{}}}}' | ./moviemcpserver.sh
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_movies","arguments":{},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientCapabilities":{}}}}' | ./moviemcpserver.sh
```
4. **Or run it as a local HTTP endpoint**
```bash
./moviemcpserver.sh --http # http://127.0.0.1:3000/mcp
```
5. **Run the tests**
```bash
./test_mcpserver_core.sh # 31 unit tests
./test_mcpserver_core.sh test_discover_shape # a single test
./test_conformance.sh # validate against the official schema
./test_http_transport.sh # 19 HTTP transport tests
./scripts/test-linux.sh all # run everything on Debian, Alpine and UbunExcerpt of 13,920 characters
Read on GitHub20
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:a79cd4123fac39d9, name:mcp server, desc:mcp server