关于 Bacon Services
Bacon Services 的 MCP 客户端,让 AI Agent 按次购买图像处理和网页品牌提取服务,以 USDC 在 Base 上付款。钱包私钥留在本机,并通过单次、会话和每日支出限额控制付款。
主要功能
- 01按次调用图像处理服务
- 02去除背景并优化为 WebP
- 03提取图像色板及网页品牌信息
- 04本机签署 USDC 付款
- 05设置单次、会话和每日限额
- 06查询服务价格、钱包及可用额度
适用场景
- 01为照片移除背景并保存透明 PNG
- 02缩小图像并转换为 WebP
- 03提取图像主色用于设计
- 04从网页收集品牌名称、颜色与标志
MCP 相关
这是通过 stdio 连接 MCP 客户端的开源 MCP 客户端,提供付费图像与网页工具,并以 x402 和 USDC 在 Base 上逐次付款。私钥留在本机,付款前检查价格、余额和支出限额。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y baconservices-mcpBACON_WALLET_KEY_FILE密钥Path to a file holding the buyer wallet's private key (USDC on Base). Or set BACON_WALLET_PRIVATE_KEY.BACON_WALLET_PRIVATE_KEY密钥The buyer wallet's private key, if not using a key file. Use a dedicated wallet.BACON_MAX_PER_CALLLargest single payment in USDC.BACON_MAX_PER_SESSIONMost this process may spend, in USDC.BACON_MAX_PER_DAYMost spent in any rolling 24 hours, persisted across restarts, in USDC.BACON_CONFIRMauto, always or never: ask before each payment when the host can.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
3收录的工具列表 · 更新于 2 天前
此工具无需参数。
详细介绍
baconservices-mcp
一个 MCP 服务,让 AI Agent 逐次调用工具,从 Bacon Services 购买图像处理服务,通过 x402 使用 你自己的钱包,在 Base 上以 USDC 付款,并遵守你设置的支出限额。无需账户,也无需 API 密钥:Agent 调用工具后,服务会根据你的限额核对价格,为对应金额签署 USDC 付款,并返回结果。
该服务也已列入 MCP Registry,名称为 io.github.afmontoya/baconservices-mcp。
钱包安全
你的钱包私钥始终保存在本机。Bacon Services 不会接收或存储私钥。付款在本地签署,并受可配置的单次调用、会话和每日支出限额约束。
销售的服务
| 工具 | 功能 | 价格(2026-10-17) |
|---|---|---|
remove_background | 移除一张照片的背景;返回尺寸与照片相同的透明 PNG | 0.20 USDC |
optimize_image | 调整尺寸,使最长边 ≤ max_width(64–4096,默认 1600),并以 quality(40–95,默认 80)编码为 WebP | 0.01 USDC |
image_palette | 以 JSON 返回一张图像的主要颜色:最多 count(1–12,默认 6)种十六进制颜色及其占比;include_neutrals(默认 true) | 0.01 USDC |
brand_from_url | 读取一个公开网页(url),并以 JSON 返回其品牌信息:名称、描述、徽标 URL、颜色、字体和社交媒体资料。不会运行 JavaScript;遵守 robots.txt | 0.03 USDC |
图像工具接受最大 8 MB 的 PNG、JPEG 或 WebP 文件,可通过 image_url(公开的 https 地址)或 image_path(本地文件)提供。remove_background 和 optimize_image 会返回签名下载链接(有效期为 24 小时);image_palette 和 brand_from_url 会在工具结果中返回 JSON。添加 save_to 可将任一类型的结果写入磁盘。价格来自 Bacon 的实时目录,每个付费工具都会在其说明中注明当前价格。
Bacon 的目录发布相应合约版本后,image_palette 和 brand_from_url 才会显示。已安装的软件包无法识别的服务会列在 list_services 中,但在更新软件包之前无法调用。
免费工具:
list_services:列出 Bacon 当前提供的所有服务、价格、限额,以及此版本的软件包是否支持运行。quote:查询某项服务的 Bacon 当前价格,以及你的限额和钱包是否允许购买。不会签署任何内容。wallet_status:显示网络、是否已配置钱包、你的限额及剩余额度,以及你是否能够负担每项服务(是/否)。
开始之前
- Node.js 20 或更高版本。
- 准备一个专用钱包,其中只存放你愿意花费的金额。向其中存入 Base 上的 USDC。无需 ETH:x402 付款是签名授权(EIP-3009),由中介方支付 Gas。
- 将私钥放入只有你能读取的文件中,例如
~/.bacon/buyer.key。将BACON_WALLET_KEY_FILE指向该文件,可避免密钥出现在 MCP 主机配置中;这类配置通常会同步或共享。也可使用BACON_WALLET_PRIVATE_KEY。
密钥永远不会离开你的设备。只有签名会发送出去,而且只发送给 Bacon。密钥绝不会写入日志或支出记录,也不会被接受为工具参数。
安装
Claude Code
claude mcp add bacon -e BACON_WALLET_KEY_FILE=/home/you/.bacon/buyer.key -- npx -y baconservices-mcp
添加更多 -e NAME=value 参数即可设置下方的限额。运行 claude mcp list 进行检查。
Claude Desktop
设置 → 开发者 → 编辑配置(claude_desktop_config.json):
{
"mcpServers": {
"bacon": {
"command": "npx",
"args": ["-y", "baconservices-mcp"],
"env": {
"BACON_WALLET_KEY_FILE": "/Users/you/.bacon/buyer.key",
"BACON_MAX_PER_CALL": "0.50",
"BACON_MAX_PER_SESSION": "1.00",
"BACON_MAX_PER_DAY": "5.00"
}
}
}
}
在 Windows 上,如果找不到 npx,请使用 "command": "cmd" 和 "args": ["/c", "npx", "-y", "baconservices-mcp"],并按 "C:\\Users\\you\\.bacon\\buyer.key" 的格式填写路径。之后重启 Claude Desktop。
Cursor、Windsurf 及其他使用 mcpServers 文件的客户端
使用与 Claude Desktop 相同的 command / args / env 配置块(对于 Cursor,文件位于 ~/.cursor/mcp.json 或项目中的 .cursor/mcp.json)。
VS Code(.vscode/mcp.json)
VS Code 可以提示你输入一次密钥,并安全地保存:
{
"inputs": [
{ "type": "promptString", "id": "bacon-key", "description": "Bacon buyer wallet private key", "password": true }
],
"servers": {
"bacon": {
"type": "stdio",
"command": "npx",
"args": ["-y", "baconservices-mcp"],
"env": { "BACON_WALLET_PRIVATE_KEY": "${input:bacon-key}" }
}
}
}
其他 MCP 客户端
这是一个 stdio 服务:使用以下环境变量运行 npx -y baconservices-mcp。
配置
| 变量 | 默认值 | 含义 |
|---|---|---|
BACON_WALLET_KEY_FILE | — | 包含买家钱包私钥的文件路径。 |
BACON_WALLET_PRIVATE_KEY | — | 私钥本身(两个选项只能设置一个)。如果两者都未设置,免费工具仍可使用。 |
BACON_MAX_PER_CALL | 0.50 | 单笔付款的最高金额,单位为 USDC。 |
BACON_MAX_PER_SESSION | 1.00 | 此服务进程最多可支出的金额。 |
BACON_MAX_PER_DAY | 5.00 | 任意滚动 24 小时内的最高支出,涵盖所有进程和重启。 |
BACON_CONFIRM | auto | auto:宿主支持时,每次付款前询问;always:宿主不支持询问时拒绝付款;never:不询问(适用于无人值守的 Agent;仍会应用限额)。 |
BACON_NETWORK | base | base(真实 USDC,baconservices.com)或 base-sepolia(测试 USDC,Bacon 的测试副本)。 |
BACON_API_URL | — | 仅用于 base-sepolia:测试副本的地址。 |
BACON_PAY_TO | — | 仅用于 base-sepolia:测试副本的收款地址。 |
BACON_RPC_URL | https://mainnet.base.org | 付款前用于检查 USDC 余额的 RPC。 |
BACON_LEDGER_DIR | ~/.baconservices-mcp | 支出账本的存放位置。 |
BACON_DISCLOSE_BALANCE | false | 设置为 true 时,wallet_status 会显示确切余额和钱包地址。 |
如何保护你的资金
签署任何内容前,都会执行以下所有检查:
- 价格由 Bacon 提供。 Bacon 会对每个请求返回一个注明价格的 x402 402 响应。 只有当该价格与 Bacon 当前目录中对应准确端点的价格一致,且付款使用 Base USDC 并发送至 Bacon 的收款地址(该地址已固定在软件包中)时,服务才会付款。若无法验证其中任何一项,就不会付款。
- 你的限额。 服务会检查单次调用限额、调用中可选的
max_price_usdc、单次会话限额和 24 小时限额。24 小时总额会保存在本地账本文件中,供所有进程共享,因此重启 MCP 服务或同时运行两个实例都不会重新获得预算。如果无法读取账本,就不会付款。x402 库自身的单笔付款上限也会设为你的单次调用限额,作为第二道限制。 - 资金。 服务会先读取你的 USDC 余额。如果余额不足或无法读取余额,会向你显示一条简单提示,且不会签署任何内容。
- 尽可能征求你的批准。 如果 MCP 宿主支持,会询问你 “是否支付 0.2 USDC(Base),给 Bacon Services 执行 remove_background?” 并非所有宿主都支持询问,因此限额才是真正的界限。
- 不重复付款。 每次购买只会为一个请求签署一笔付款。如果连接中断,服务会重新发送同一笔已签署的付款一次(Bacon 对重复请求会返回相同结果),绝不会签署新的付款。除非你传入
allow_repeat: true,否则在 10 分钟内再次请求相同内容会免费返回先前的结果。 - 只运行已知服务。 Bacon 目录中的新服务会显示在
list_services中。只有安装了能够理解其契约(输入、输出、版本)的本软件包版本后,这些服务才会成为可调用的工具。
如果 Bacon 在收款前拒绝付款,结果会显示 “你未被扣款”,该金额也会从你的限额中返还。如果结果未知(例如连接中断两次),结果会说明这一点并提供 Bacon 的请求 ID。该金额仍会计入你的限额。
测试资金
生产环境中的 Bacon 只接受真实 USDC。若要在不使用真实资金的情况下试用,请连接到在 Base Sepolia 上提供服务的 Bacon 本地副本或测试副本:
BACON_NETWORK=base-sepolia BACON_API_URL=http://127.0.0.1:8000 BACON_PAY_TO=0xYourTestPayTo npx -y baconservices-mcp
如果配置不匹配,软件包会拒绝并且不付款,例如:使用测试资金却连接到 baconservices.com、使用真实资金却连接到其他地址,或 Bacon 的目录位于不同网络。
开发
npm install
npm test
测试会连接到一个会真实检查每笔付款签名的模拟 Bacon。不会向任何网络发送内容。
托管服务
此 MCP 客户端基于 MIT License 开源。Bacon Services 的托管 API、Agent Commerce 服务、通过 x402 付费的功能、基础设施和后端实现均为独立服务,不受 MIT License 许可。使用 Bacon Services 的托管 API 和 x402 服务须遵守 Bacon Services 条款。
商标声明
MIT License 仅适用于本代码库中的源代码。“Bacon Services”及其名称、徽标和相关品牌标识不受 MIT License 许可。不得以暗示获得认可、赞助或关联的方式使用 Bacon Services 商标、徽标或品牌标识。请参阅 TRADEMARKS.md。
许可证
MIT。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。