Token导航 LogoToken导航TokenDH.com
bab (BabMCP) logo
AI代理未说明官方级别未说明来源级核验

bab (BabMCP)

MCP Server

基于TypeScript的MCP服务器,提供CLI插件委托、AI SDK集成和MCP工具套件,适用于AI辅助开发场景。

工具数

17

提示词数

0

GitHub Stars

2

资源数

0
TypeScriptClaudeAI代理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

babmcp

提供方

babmcp

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

巴布

巴布展示

Bab是一个基于Bun构建的TypeScript MCP服务器。它的灵感来自 PAL MCP服务器 并专注于委托CLI插件、精简的Vercel AI SDK提供者层和可重用的MCP工具。

为什么叫“巴布”?

Bab 来源于阿拉伯语单词 باب,这意味着 doorgateway.

这个名字很适合这个项目,因为Bab充当MCP客户端和它们背后的系统之间的网关:

  • CLI代理工具
  • 人工智能提供商
  • 当地项目背景
  • 未来插件集成

特性

  • MCP服务器通过stdio使用 @modelcontextprotocol/sdk
  • 具有清单发现和可选功能的代理插件系统 adapter.ts
  • 内置代理角色: default, planner, codereviewer, coding
  • 由Vercel AI SDK支持的提供商注册表,具有每个提供商的思维模式映射
  • 用于统一模型路由的ModelGateway:通过ID/别名或插件模型 pluginId/modelName
  • 并行执行的多模型共识、每个模型的温度和思维模式
  • 通过MCP提示协议执行Slash命令(/bab:chat, /bab:review, /bab:think等等)
  • 具有连续支持和20圈限制的内存对话存储
  • 完整的核心和专门的工作流工具套件
  • 默认情况下延迟加载工具(启动时5个工具,启动时17个工具),按需自动加载
  • CLI入口点 serve, add, remove, list, selfupdate,以及 test-plugin 命令
  • 插件SDK导出界面通过 @babmcp/bab/sdk
  • 委托环境强化:API密钥和 BAB_* 内部变量永远不会泄露给子进程
  • 专用错误日志位于 ~/.config/bab/logs/error.log 用于快速调试

安装

自制(macOS/Linux)

brew install babmcp/tap/bab

安装脚本(macOS/Linux)

curl -fsSL https://raw.githubusercontent.com/babmcp/bab/main/install.sh | bash

选项:

# custom install directory
curl -fsSL https://raw.githubusercontent.com/babmcp/bab/main/install.sh | bash -s -- --prefix /usr/local/bin

# skip checksum verification (not recommended)
curl -fsSL https://raw.githubusercontent.com/babmcp/bab/main/install.sh | bash -s -- --no-verify

二进制下载

从获取适用于您平台的最新二进制文件 发布页面:

平台架构资产
macOS苹果硅bab-darwin-arm64
macOS英特尔bab-darwin-x64
Linuxx64bab-linux-x64
LinuxARM64bab-linux-arm64
chmod +x bab-*
mv bab-* /usr/local/bin/bab

来源

需要 包子 1.3.9或更新版本。

git clone https://github.com/babmcp/bab.git && cd bab
bun install
bun run build:binary   # compiled binary at dist/bab

自我更新

安装后,更新到最新版本:

bab selfupdate

快速开始

启动MCP服务器:

bab serve

安装第一方插件:

bab add git@github.com:babmcp/plugins.git

运行测试套件:

bun test

将Bab连接到MCP客户端

使用已安装的 bab 二进制文件作为本地stdio MCP服务器。替换 /absolute/path/to/bab 输出为:

which bab

法典

将此添加到 ~/.codex/config.toml:

[mcp_servers.bab]
command = "/absolute/path/to/bab"
args = ["serve"]
startup_timeout_sec = 300.0
tool_timeout_sec = 1200.0

然后重新启动Codex或重新加载MCP服务器。

克劳德代码

将Bab添加为用户范围的stdio MCP服务器:

claude mcp add-json --scope user bab \
  '{"type":"stdio","command":"/absolute/path/to/bab","args":["serve"]}'

通过以下方式进行验证:

claude mcp get bab

GitHub Copilot命令行界面

将此添加到 ~/.copilot/mcp-config.json:

{
  "mcpServers": {
    "bab": {
      "type": "local",
      "command": "/absolute/path/to/bab",
      "args": ["serve"],
      "tools": ["*"]
    }
  }
}

您还可以通过Copilot CLI以交互方式添加它 /mcp add.

配置

Bab创造并使用 ~/.config/bab/ 首次运行时:

  • ~/.config/bab/env

dotenv样式的环境文件

  • ~/.config/bab/plugins/

委托插件,每个插件一个目录

  • `~/.config/bab/plugins/

/env` 可选的每插件env覆盖合并到全局env文件上

  • ~/.config/bab/prompts/

即时覆盖或额外的即时资产

注: MCP客户端配置中设置的环境变量优先于 这 ~/.config/bab/env 文件。例如,如果您设置 OPENAI_API_KEY 两者都 MCP配置值获胜。 ``json { "mcpServers": { "bab": { "command": "/absolute/path/to/bab", "args": ["serve"], "env": { "OPENAI_API_KEY": "sk-mcp-value" } } } } ` `bash # ~/.config/bab/env OPENAI_API_KEY=sk-file-value # overridden by the MCP config above ``

支持的提供程序环境变量:

  • GOOGLE_API_KEY
  • OPENAI_API_KEY
  • ANTHROPIC_API_KEY
  • OPENROUTER_API_KEY
  • CUSTOM_API_KEY
  • CUSTOM_API_URL

环境变量

全部 BAB_* 变量在启动时通过Zod模式进行验证。无效值会产生清晰的错误消息。

变量类型描述
BAB_DISABLED_TOOLS逗号分隔要排除的工具名称 tools/list 不区分大小写
BAB_ENABLED_TOOLS逗号分隔如果设置,则仅注册这些工具
BAB_EAGER_TOOLSboolean设置为 1 在启动时注册所有工具,而不是延迟加载
BAB_PERSISTboolean设置为 false 禁用报表持久性(默认值: true)
BAB_PERSIST_TOOLS逗号分隔仅保留这些工具的报告
BAB_DISABLED_PERSIST_TOOLS逗号分隔禁用这些工具的持久性
BAB_CLI_TIMEOUT_MSinteger覆盖代理CLI超时(默认值:3小时)
BAB_MAX_CONCURRENT_PROCESSESinteger最大并发委托进程数(默认值:5)
BAB_LOG_LEVELstring日志记录级别: debug, info, warn, error (默认值: info)

例子:

# ~/.config/bab/env
BAB_DISABLED_TOOLS=delegate,tracer
BAB_LOG_LEVEL=debug

或者通过您的MCP客户端配置:

{
  "mcpServers": {
    "bab": {
      "command": "/absolute/path/to/bab",
      "args": ["serve"],
      "env": {
        "BAB_DISABLED_TOOLS": "delegate,tracer"
      }
    }
  }
}

日志记录

日志文件存储在 ~/.config/bab/logs/:

文件内容
mcp.log服务器生命周期、工具调用、协议事件(所有级别)
error.log仅警告和错误——快速调试
`
.log 每个插件委派 I/O(例如 copilot.log, opencode.log`)

BAB_LOG_LEVEL=debug 用于详细输出,包括错误响应中的堆栈跟踪。

安全

委托子流程将收到一个经过净化的环境:

  • API密钥已剥离: ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY, GEMINI_API_KEY, OPENROUTER_API_KEY, GITHUB_TOKEN, GH_TOKEN
  • 内部清漆已剥离:全部 BAB_*, CLAUDE_*,以及 CLAUDECODE* 前缀变量
  • 运行时注入变量已剥离: LD_PRELOAD, NODE_OPTIONS, DYLD_INSERT_LIBRARIES等等。
  • 堆栈复写:从未包含在工具错误响应中(仅限调试模式)
  • 工作目录:已验证位于项目根目录、主目录或tmp中

需要API密钥的插件必须在自己的密钥中声明 env 文件(~/.config/bab/plugins//env).

代理插件

每个插件都位于 ~/.config/bab/plugins/ / 并被发现 manifest.yaml.

巴布保持 opencode 捆绑为内置参考插件。安装外部第一方插件:

# Install all first-party plugins (claude, codex, copilot)
bab add babmcp/plugins

# List installed plugins
bab list

# Remove a specific plugin
bab remove 

最小清单形状:

id: echo
name: Echo Plugin
version: 1.0.0
command: echo
roles:
  - default
delegate_api_version: 1

插件还可以通过以下方式为工作流工具提供自定义系统提示 tool_prompts:

tool_prompts:
  codereview: prompts/codereview.txt
  secaudit: prompts/secaudit.txt

当工具通过插件模型路由时,bab使用插件的提示而不是内置的默认值。看 插件创作 了解详情。

可选的 adapter.ts 文件可以实现CLI解析、验证和取消的运行时行为。没有适配器的插件仍然可以被发现,但 delegate 该工具需要一个适配器来执行它们。

内置工具

  • delegate

通过配置的CLI插件运行提示

  • chat, thinkdeep, codereview, planner, consensus

核心工作流工具

  • debug, analyze, tracer, refactor, testgen, docgen, secaudit, precommit, challenge

专用工作流工具

  • listmodels

列出配置的提供程序中可用的模型

  • version

返回Bab和运行时版本详细信息

文档

完整文档可在 **** 或在 docs/:

项目布局

src/
  config.ts           # BAB_* env validation, config loading
  server.ts           # MCP server setup, tool registration
  version.ts          # Centralized version constant
  bootstrap.ts        # Core tool names, startup wiring
  delegate/           # Plugin discovery, loading, caching, process runner
  memory/             # Conversation store, report persistence
  prompts/            # Built-in tool and role prompts
  providers/          # Vercel AI SDK registry, model gateway
  tools/              # 17 built-in tools (lazy-loaded by default)
  sdk/                # Plugin author SDK (@babmcp/bab/sdk)
  commands/           # CLI commands (serve, add, remove, list, selfupdate)
  types/              # Shared type definitions
  utils/              # Env sanitization, path containment, logging, tokens
plugins/              # Bundled plugins (opencode)
tests/                # bun:test test suite
docs/                 # GitHub Pages documentation

发展

有用的命令:

bun test
bun run build
bun run build:binary
bunx tsc -p tsconfig.json --noEmit
bun run src/cli.ts serve
bun run src/cli.ts add git@github.com:babmcp/plugins.git --yes
bun run src/cli.ts list
bun run src/cli.ts test-plugin ../bab-plugins/claude

回购目前使用:

  • Bun用于运行时和包管理
  • 带有ES模块的TypeScript
  • Zod v4用于验证
  • 植绒和格式化的生物特征

免责声明

免责声明.md.

目录标签

目录标签

TypeScriptClaudeAI代理MCP协议本地部署AI网关开发工具链插件系统多模型路由

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

17

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP