Token导航 LogoToken导航

MCP Server · 开发工具

Bash SDK

一个轻量级的、零开销的Bash实现的Model Context Protocol (MCP)服务器,支持JSON-RPC 2.0协议和动态工具发现。

未说明官方级别未说明来源级核验工具 1
工具发现ShellVS Code

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
muthuishere
提供方
muthuishere

工具数量

1

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

507

仓库热度

收录来源

1 个

MCP World

选型结论

Bash SDK 属于开发工具类 MCP Server,公开资料标注 1 个工具,通过传输方式未标注接入,适配 VS Code,没有现成的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 1 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

🐚 Bash中的MCP服务器

一个轻量级的、零开销的实现 模型上下文协议(MCP) 纯Bash中的服务器。

为什么? 大多数MCP服务器只是带有模式转换的API包装器。此实现为Node.js、Python或其他繁重的运行时提供了一种零开销的替代方案。

______________________________________________________________________

📋 特性

  • ✅ stdio上的完整JSON-RPC 2.0协议
  • ✅ 完成MCP协议的实施
  • ✅ 通过函数命名约定进行动态工具发现
  • ✅ 通过JSON文件进行外部配置
  • ✅ 易于使用自定义工具进行扩展

______________________________________________________________________

🔧 需求

  • Bash shell
  • jq 用于JSON处理(brew install jq 在macOS上)

______________________________________________________________________

🚀 快速开始

  1. 克隆仓库
git clone https://github.com/muthuishere/mcp-server-bash-sdk
cd mcp-server-bash-sdk
  1. 使脚本可执行
chmod +x mcpserver_core.sh moviemcpserver.sh
  1. 试试看
echo '{"jsonrpc": "2.0", "method": "tools/call", "params": {"name": "get_movies"}, "id": 1}' | ./moviemcpserver.sh

______________________________________________________________________

🏗️ 建筑

┌─────────────┐         ┌────────────────────────┐
│ MCP Host    │         │ MCP Server             │
│ (AI System) │◄──────► │ (moviemcpserver.sh)    │
└─────────────┘ stdio   └────────────────────────┘
                             │
                     ┌───────┴──────────┐
                     ▼                  ▼
            ┌───────────────────┐  ┌───────────────┐
            │ Protocol Layer    │  │ Business Logic│
            │(mcpserver_core.sh)│  │(tool_* funcs) │
            └───────────────────┘  └───────────────┘
                     │                  │
                     ▼                  ▼
              ┌─────────────────┐  ┌───────────────┐
              │ Configuration   │  │ External      │
              │ (JSON Files)    │  │ Services/APIs │
              └─────────────────┘  └───────────────┘
  • mcpserver_core.sh:处理JSON-RPC和MCP协议
  • moviemcpserver.sh:包含业务逻辑功能
  • 资产/:JSON配置文件

______________________________________________________________________

🔌 创建自己的MCP服务器

工具功能指南

在为MCP服务器实现工具功能时,请遵循以下准则:

  1. 命名规范:所有工具函数必须以前缀 tool_ 后面是tools_list.json中定义的相同名称
  2. 参数:每个函数应接受一个参数 $1 包含JSON参数
  3. 成功模式:对于成功的操作,回显结果并返回0
  4. 错误模式:对于验证错误,回显错误消息并返回1
  5. 自动发现:所有工具函数都会根据tools_list.json自动暴露给MCP服务器

实施步骤

  1. 创建您的业务逻辑文件(例如。, weatherserver.sh)
#!/bin/bash
# Weather API implementation

# Override configuration paths BEFORE sourcing the core
MCP_CONFIG_FILE="$(dirname "${BASH_SOURCE[0]}")/assets/weatherserver_config.json"
MCP_TOOLS_LIST_FILE="$(dirname "${BASH_SOURCE[0]}")/assets/weatherserver_tools.json"
MCP_LOG_FILE="$(dirname "${BASH_SOURCE[0]}")/logs/weatherserver.log"

# MCP Server Tool Function Guidelines:
# 1. Name all tool functions with prefix "tool_" followed by the same name defined in tools_list.json
# 2. Function should accept a single parameter "$1" containing JSON arguments
# 3. For successful operations: Echo the expected result and return 0
# 4. For errors: Echo an error message and return 1
# 5. All tool functions are automatically exposed to the MCP server based on tools_list.json

# Source the core MCP server implementation
source "$(dirname "${BASH_SOURCE[0]}")/mcpserver_core.sh"

# Access environment variables
API_KEY="${MCP_API_KEY:-default_key}"

# Tool: Get current weather for a location
# Parameters: Takes a JSON object with location
# Success: Echo JSON result and return 0
# Error: Echo error message and return 1
tool_get_weather() {
  local args="$1"
  local location=$(echo "$args" | jq -r '.location')
  
  # Parameter validation
  if [[ -z "$location" ]]; then
    echo "Missing required parameter: location"
    return 1
  fi
  
  # Call external API
  local weather=$(curl -s "https://api.example.com/weather?location=$location&apikey=$API_KEY")
  echo "$weather"
  return 0
}

# Start the MCP server
run_mcp_server "$@"
  1. 创建 assets/weatherserver_tools.json
{
  "tools": [
    {
      "name": "get_weather",
      "description": "Get current weather for a location",
      "inputSchema": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "City name or coordinates"
          }
        },
        "required": ["location"]
      }
    }
  ]
}
  1. 创建 assets/weatherserver_config.json
{
  "protocolVersion": "2025-03-26",
  "serverInfo": {
    "name": "WeatherServer",
    "version": "1.0.0"
  },
  "capabilities": {
    "tools": {
      "listChanged": true
    }
  },
  "instructions": "This server provides weather information."
}
  1. 使文件可执行
chmod +x weatherserver.sh

______________________________________________________________________

🖥️ 与VS Code和GitHub Copilot一起使用

  1. 更新VS代码设置.json
"mcp": {
    "servers": {
        "my-weather-server": {
            "type": "stdio",
            "command": "/path/to/your/weatherserver.sh",
            "args": [],
            "env": {
                "MCP_API_KEY": "your-api-key"
            }
        }
    }
}
  1. 与GitHub Copilot聊天一起使用
/mcp my-weather-server get weather for New York

______________________________________________________________________

🚫 局限性

  • 无并发/并行处理
  • 有限的内存管理
  • 无流媒体响应
  • 不是为高吞吐量而设计的

对于人工智能助手和本地工具执行来说,这些都不是阻塞问题。

______________________________________________________________________

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

博客:https://medium.com/@muthuiser/why-i内置-an-mcp服务器-dk-in-shell-y-bash-6f2192072279

工具与能力

工具数量

1

资源数量

0

提示词数量

0

能力标签

Shell本地部署轻量级服务器JSON-RPCBash脚本工具发现AI系统集成

支持客户端

VS Code

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 1 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 VS Code 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Bash SDK

MCP World · 本页

1未说明未标注1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Bash SDK 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Bash SDK 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Bash SDK 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Bash SDK 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Bash SDK 支持哪些客户端?

公开资料标注支持 VS Code;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP