mcpField
B
Baton

Baton

本地服务
baton.dudko.dev开发工具06 天前更新

关于 Baton

Baton 是面向 API 工作区的本地 MCP 服务,工作区中的请求、集合和环境以 YAML 文件存储。它有文件与桌面应用两种模式,可将编辑作为草稿交由确认,并对发送和删除设置保护。

主要功能

  1. 01读写请求、集合和环境
  2. 02编辑请求与共享脚本
  3. 03运行单个请求或整个集合
  4. 04从已保存响应启动模拟服务
  5. 05应用模式下以草稿和确认保护操作

适用场景

  1. 01在 Git 工作区维护 API 请求
  2. 02让 AI 起草请求并在应用中审核
  3. 03按需执行请求或集合
  4. 04基于保存的响应测试模拟服务

MCP 相关

这是通过 stdio 本地运行的 MCP 服务,向客户端提供 Baton 工作区、请求、环境、脚本和模拟服务工具。文件模式可写入 YAML;应用模式将编辑设为草稿,并让发送或删除等待确认。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dev-dudko-baton": {
"command": "npx",
"args": [
"-y",
"@dudko.dev/baton-mcp"
]
}
}
}
启动命令npx -y @dudko.dev/baton-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@dudko.dev/baton-mcp0.2.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Baton — MCP 配置

让你的 AI 助手在 Baton 工作区中工作。 Baton 是一款 Git 原生 API 客户端(Postman 的替代品):请求、集合 和环境都是你所拥有的仓库中的纯 YAML 文件。MCP 服务在本地运行, 使用一份配置,并在启动时选择以下两种模式之一:

  • 文件模式 — Baton 应用未打开该工作区:编辑会写入 YAML 文件,所写入的字节与应用写入的相同,并像其他任何更改一样经过 Git 审核。

  • 应用模式 — 桌面应用已打开该工作区:编辑会作为草稿显示在请求的标签页中,供你接受或丢弃;发送操作会通过应用执行,并使用应用的密钥;向生产环境发送请求或删除操作都需要等待你确认;助手还能看到你打开的请求和环境。

  • 服务: baton

  • 传输方式: stdio(本地进程)

  • 软件包: @dudko.dev/baton-mcp — Node.js 24+

  • 身份验证: 无 — 服务在本地以你的用户权限运行;密钥不会经过此服务。

你可以做什么

在文件模式下,助手可以读取和写入工作区,但不能发送请求,除非你添加 --allow-run。在应用模式下,每次发送操作都会通过应用执行,并显示在你的屏幕上。

工具功能
workspace_info集合、环境、计划任务、加载问题,以及应用是否已连接。
list_requests列出请求及其方法、URL 和标签 — 可选地限定在某个集合下。
get_request获取解析后的请求、原始 YAML,以及其身份验证的来源 — 密钥只会以引用形式显示。
upsert_request将请求写入为确定性 YAML(文件模式),或在应用中将其作为草稿提出。
move_request移动或重命名请求,同时保留其 ID 和脚本。
delete_request删除请求;在应用模式下,需先经你确认。
upsert_collection创建或替换集合或文件夹:变量、身份验证和顺序。
list_environments列出变量和密钥的名称,以及每个密钥的来源。
upsert_environment写入环境(仅包含密钥名称;密钥可以映射到 Vault)。
get_script / upsert_script读取和写入请求前置脚本、测试脚本和共享库脚本。
run_request / run_collection执行一个请求,或集合下的所有请求 — 文件模式需要 --allow-run;应用模式下通过应用发送。
list_examples / save_example列出请求已保存的响应,并将最近一次响应保存为示例。
list_mocks / start_mock / stop_mock根据 mocks/<name>.yaml 启动一个模拟服务,在 127.0.0.1 上提供响应,响应内容取自示例。
app_state / select_request仅限应用模式:查看应用中打开的内容,并在应用中打开一个请求。

在应用模式下,资源 baton://app/state 和 baton://app/selection 支持订阅,因此助手可以实时获知点击、接受草稿或完成发送等事件。


在 Claude Code 中安装(插件)

/plugin marketplace add dudko-dev/baton-mcp-setup
/plugin install baton@baton
/reload-plugins

插件会在当前项目目录中启动服务,因此请在 Baton 工作区(包含 baton.yaml 的文件夹)中打开 Claude Code。要使用应用模式,请在同一工作区中打开 Baton 应用。若要将服务指向其他位置,或允许 助手在文件模式下执行请求,请改为手动添加(见下文),并使用 --workspace <dir> 和/或 --allow-run。在应用中,Settings → Agents 会在工作区中为你写入 .mcp.json。

不想使用插件市场?直接添加服务:

claude mcp add baton -- npx -y @dudko.dev/baton-mcp --workspace /path/to/workspace

从其他客户端连接

Claude Desktop

claude_desktop_config.json(Settings → Developer → Edit Config):

{
  "mcpServers": {
    "baton": {
      "command": "npx",
      "args": [
        "-y",
        "@dudko.dev/baton-mcp"
      ]
    }
  }
}
Cursor

~/.cursor/mcp.json 或 .cursor/mcp.json:

{
  "mcpServers": {
    "baton": {
      "command": "npx",
      "args": [
        "-y",
        "@dudko.dev/baton-mcp"
      ]
    }
  }
}
VS Code(GitHub Copilot / MCP)及其他客户端
{
  "servers": {
    "baton": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@dudko.dev/baton-mcp"
      ]
    }
  }
}

安全

  • 文件模式下,默认不运行请求。 只有在希望助手发送请求时,才在参数中添加 --allow-run——编辑文件绝不应在毫无提示的情况下发送流量。
  • 应用模式下,由你全程把关。 编辑会作为草稿提供,由你接受或丢弃;向生产环境发送请求以及任何删除操作,都必须在应用中经你确认。
  • 机密不会进入工作区。 服务仅读取和写入机密名称和 {{secret:name}} 引用;实际值存储在操作系统安全存储或 Vault 中,凡是应使用引用的位置出现明文值,都会被拒绝。响应会按值进行遮蔽,正文会截断,Authorization、Cookie、Set-Cookie 和 X-API-Key 会替换为名称。
  • 服务绝不会操作 git。 提交由你掌控。
标志含义
--workspace <dir>工作区根目录——存放 baton.yaml 的文件夹(默认:当前目录)。
--allow-run允许 Agent 在文件模式下执行请求。默认关闭;应用模式下的发送操作通过应用进行。
--agent <name>应用在横幅和确认提示中显示的 Agent 名称。

故障排除

  • “not a Baton workspace” / 客户端提示 “Connection closed” — 文件夹中没有 baton.yaml 时,服务会在启动时退出。在工作区中打开 Claude Code,或使用 --workspace /path/to/workspace 手动添加服务。
  • run_request 拒绝执行 — 服务处于文件模式:添加 --allow-run,或在该工作区中打开 Baton 应用并重启服务,以切换到应用模式。
  • 应用已打开,但编辑直接写入文件 — 模式在服务启动时确定。在该工作区中打开应用后,重启客户端中的 MCP 服务。
  • npm warn EBADENGINE … required: { node: '>=24' },随后没有任何动静 — 服务需要 Node.js 24+;请在客户端启动的 shell 中运行 node --version。

支持

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。