
muthuishere/mcp-server-bash-sdk
Analytics & monitoring이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
MCP 서버 SDK/예제는 전적으로 bash로 구현됨 — POSIX 셸 외에는 런타임 의존성이 없는 모델 컨텍스트 프로토콜 서버를 구축합니다.
개요
순수 Bash로 구현된 모델 컨텍스트 프로토콜(MCP) 서버의 경량, 무오버헤드 구현. 대부분의 MCP 서버는 스키마 변환이 가능한 API 래퍼입니다. 이 구현은 Node.js, Python 또는 기타 무용량 런타임에 대한 무오버헤드 대안을 제공합니다. * ✅ 표준 프로토콜을 통한 완전한 JSON-RPC 2.0 프로토콜 * ✅ 완전한 MCP 프로토콜 구현 * ✅ 함수 명명 규칙을 통한 동적 도구 탐색 * ✅ JSON 파일을 통한 외부 구성 * ✅ 맞춤형 도구로 확장하기 쉽다 - Bash shell - JSON 처리용 jq (macOS에서 jq 설치 추출) - : JSON-RPC 및 MCP 프로토콜 처리 - : 비즈니스 로직 함수 포함 - : JSON 구성 파일 MCP 서버용 도구 기능을 구현할 때는 다음 지침을 따르세요: 1. : 모든 도구 함수는 tool_ 접두사로 붙이고, tools_list.json에서 정의된 동일한 이름을 붙여야 합니다. 2. : 각 함수는 JSON 인자를 포함하는 단일 매개변수 $1을 수용해야 합니다. 3. : 성공적인 연산을 위해서는 결과를 에코링하고 0 4를 반환하세요.
개요(AI 번역)
순수 Bash로 된 모델 컨텍스트 프로토콜(MCP) 서버의 경량, 무오버헤드 구현 — 현재 2026-07-28 개정판을 목표로 합니다.
📖 문서 사이트 · 🧩 예시 · 🧠 아키텍처 결정 · 🔬 스파이크
왜? 대부분의 MCP 서버는 스키마 변환이 가능한 API 래퍼일 뿐입니다. 이 구현은 Node.js, Python 또는 기타 무거운 런타임에 대한 무오버헤드 대안을 제공합니다.
왜 지금인가요? 2026-07-28 개정판으로 MCP는 상태 없음으로 변경되었습니다: initialize 핸드셰이크, 세션, 서버 시작 요청 금지. 한 줄은 들어오고, 한 줄은 나오는데 — 이는 셸 리드 루프의 형태와 정확히 일치합니다. Bash는 어색한 맞춤에서 자연스러운 맞춤으로 바뀌었습니다.
📋 특징
- ✅ MCP 2026-07-28 — 비상태 요청별 버전 협상
- ✅ **두 표준 전송 모두 **: stdio와 Streamable HTTP, 동일한 서버 파일에서 전송됩니다
- ✅
server/discover,tools/list,tools/call - ✅ 함수 명명 규칙을 통한 동적 도구 발견
- ✅ JSON 파일을 통한 외부 구성
- ✅ 출력은 공식 발표된 JSON 스키마와 대조하여 검증됨
🔧 요구 사항
- Bash 3.2 또는 그 이후 버전(macOS에서
/bin/bash로 3.2를 출시)
이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.
README
원문 README의 일부입니다. 원문 보기.
🐚 MCP Server in Bash
A lightweight, zero-overhead implementation of the Model Context Protocol (MCP) server in pure Bash — targeting the current 2026-07-28 revision.
📖 Documentation site · 🧩 Examples · 🧠 Architecture decisions · 🔬 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) jqfor JSON processing (brew install jq/apt install jq/apk add jq)- (HTTP transport only)
socatpreferred, ornetcat— see the note under 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
- Clone the repo
git clone https://github.com/muthuishere/mcp-server-bash-sdk
cd mcp-server-bash-sdk
- Make scripts executable
chmod +x mcpserver_core.sh moviemcpserver.sh
설치
This server does not publish a one-line install command.
Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →