内容
# SAP MCP 服务器
面向生产的模型上下文协议服务器,适用于 OOBE Synapse 代理协议、Solana、Synapse AgentKit、SNS 和货币化的托管代理工作流。
SAP MCP 通过两种支持的 MCP 启动模式公开相同的类型化工具注册表:
1. 用于桌面代理和本地开发的本地标准输入/输出。
2. 用于托管客户和编排器的远程可流式 HTTP,位于 `/mcp`。
它还包括一个专业的设置向导、`~/.config/mcp-sap` 下的配置文件管理、可选的 Bento 策略集成、本地和外部签名模式、x402 货币化、自我托管的 OOBE 促进者、`pay.sh` 提供商 YAML 生成和与 A2A 兼容的发现卡。
## 1. 状态
| 区域 | 当前行为 |
| --- | --- |
| 包版本 | `0.1.1` |
| MCP 传输 | 本地标准输入/输出,远程可流式 HTTP |
| 远程访问 | 无 Bearer 的公共模式用于托管代理;私有模式使用 API 密钥或 JWT |
| 配置目录 | 仅 `~/.config/mcp-sap` |
| 代理钱包 | 默认情况下,`~/.config/mcp-sap/keypairs/` 下的专用钱包路径 |
| Solana CLI 密钥对 | 永不被向导修改 |
| 策略 | 默认本地策略,可选 Bento 或混合策略 |
| 货币化 | 可选的远程 x402/pay.sh 支付流程,带有每工具定价 |
| 签名 | 本地专用钱包或外部签名者,取决于配置文件模式 |
| 发现 | `/.well-known/agent-card.json` 处的 A2A 兼容卡 |
## 2. 安装
从源代码:
```bash
pnpm install
pnpm run build
```
从已发布的软件包:
```bash
npm install -g @oobe-protocol-labs/sap-mcp-server
```
## 3. 快速入门
创建或选择配置文件:
```bash
npx sap-mcp-config wizard
```
查看活动配置文件:
```bash
npx sap-mcp-config show
npx sap-mcp-config pubkey
npx sap-mcp-config profiles
```
启动本地标准输入/输出 MCP:
```bash
sap-mcp-server
```
或从源代码:
```bash
node dist/cli.js
```
托管客户将其代理连接到 `https://mcp.sap.oobeprotocol.ai/mcp`,但签名仍然由用户控制。任何想要支付 x402/pay.sh 费用、注册或操作 SAP 身份或执行价值转移的 Solana/SAP 工具的用户应该首先运行向导,并将专用钱包保留在 `~/.config/mcp-sap/keypairs/` 下或外部签名者后面。只读托管发现可以使用远程 URL 而无需本地签名者。
## 4. 本地客户端配置
对于本地代理,让 SAP MCP 跟随活动配置文件管理器,而不是硬编码钱包路径或过时的 RPC 重写:
```json
{
"mcpServers": {
"sap": {
"command": "sap-mcp-server",
"env": {
"SAP_MCP_ALLOW_ENV_CONFIG_OVERRIDE": "false",
"SAP_LOG_LEVEL": "info"
}
}
}
}
```
参见 [04. 本地标准输入/输出使用](docs/04_LOCAL_STDIO_USAGE.md)。
## 5. 远程服务器
远程部署通过可流式 HTTP 公开 MCP:
```bash
node dist/remote/server.js
```
生产环境值应来自私有秘密存储或私有部署文件,而不是公共文档。公共托管代理面向的部署可以在启用 x402、速率限制和策略时使用 `SAP_MCP_AUTH_TYPE=none`。API 密钥或 JWT 身份验证仍然可用于私有测试版、企业和管理员部署。
远程端点:
```text
GET /health
GET /.well-known/agent-card.json
GET /.well-known/sap-mcp-wizard.json
GET /wizard/install.sh
POST /mcp
GET /mcp
DELETE /mcp
```
参见 [05. 远程 VPS 部署](docs/05_REMOTE_VPS_DEPLOYMENT.md) 和 [07. 端点和客户端](docs/07_ENDPOINTS_AND_CLIENTS.md)。
## 6. 货币化
托管 HTTP 部署可以要求支付付费 `tools/call` 请求,同时保留本地标准输入/输出和基本 MCP 协议调用免费。
初始模型:
| 层级 | 示例 | 价格 |
| --- | --- | --- |
| 免费 | `tools/list`、`prompts/list`、`resources/list`、`sap_profile_current`、基本概览 | 免费 |
| 高级读取 | `sap_list_all_agents`、丰富网络统计、索引发现 | `$0.007` 至 `$0.01` |
| 构建者或批量 | 复杂构建者、SNS/域批量检查、丰富分析 | `$0.01` 至 `$0.10` |
| 价值行动 | 选定的价值相关操作 | 固定 `$0.20` 加可选 `0.5%` |
启用 x402:
```bash
SAP_MCP_MONETIZATION_ENABLED=true
SAP_MCP_MONETIZATION_PROVIDER=x402
SAP_MCP_MONETIZATION_PAY_TO=YOUR_SOLANA_USDC_RECIPIENT
SAP_MCP_X402_FACILITATOR_URL=YOUR_PRIVATE_OR_HOSTED_FACILITATOR_URL
```
初始化和运行 OOBE 促进者:
```bash
npx sap-mcp-facilitator init
npx sap-mcp-facilitator start
```
生成 `pay.sh` 提供商 YAML:
```bash
npx sap-mcp-pay-sh-spec \
--out sap-mcp-pay-sh.yml \
--upstream-url https://mcp.sap.oobeprotocol.ai \
--network mainnet \
--recipient YOUR_SOLANA_USDC_RECIPIENT
```
参见 [06. 支付、x402 和 pay.sh](docs/06_PAYMENTS_X402_AND_PAYSH.md)。
## 7. 命令
```bash
pnpm run typecheck
pnpm run lint
pnpm test -- --run
pnpm run build
pnpm run verify:release
```
已安装的二进制文件:
| 命令 | 目的 |
| --- | --- |
| `sap-mcp-server` | 本地标准输入/输出 MCP 服务器和 CLI 入口点 |
| `sap-mcp-remote` | 远程 MCP 服务器,支持无 Bearer、API 密钥和 JWT 模式 |
| `sap-mcp-config` | 配置 CLI、配置文件管理器、批准工作流和向导 |
| `sap-mcp-wizard` | TUI 配置向导 |
| `sap-signing-proxy` | 本地签名代理 |
| `sap-mcp-facilitator` | 自托管的 x402 SVM 促进者 |
| `sap-mcp-pay-sh-spec` | `pay.sh` 提供商 YAML 生成器 |
## 8. 文档
从 [00. 文档索引](docs/00_README.md) 开始。
| 文档 | 目的 |
| --- | --- |
| [01. 产品概述](docs/01_PRODUCT_OVERVIEW.md) | 产品模型、用户、公共/私有仓库指导和向导分发。 |
| [02. 架构和请求流](docs/02_ARCHITECTURE_AND_REQUEST_FLOW.md) | 运行时模块、本地流、远程流、签名、支付和信任边界。 |
| [03. 配置和向导](docs/03_CONFIGURATION_AND_WIZARD.md) | 配置文件管理器、向导、钱包隔离、客户端注入和配置 CLI。 |
| [04. 本地标准输入/输出使用](docs/04_LOCAL_STDIO_USAGE.md) | Claude、Hermes、Codex、OpenClaw 和开发代理的本地设置。 |
| [05. 远程 VPS 部署](docs/05_REMOTE_VPS_DEPLOYMENT.md) | 托管部署、反向代理、PM2 和客户 onboarding。 |
| [06. 支付、x402 和 pay.sh](docs/06_PAYMENTS_X402_AND_PAYSH.md) | 定价、x402 门户、`pay.sh` 提供商 YAML、促进者签名者和结算。 |
| [07. 端点和客户端](docs/07_ENDPOINTS_AND_CLIENTS.md) | HTTP 端点、标头、烟雾测试和客户端示例。 |
| [08. 安全、策略和签名](docs/08_SECURITY_POLICY_AND_SIGNING.md) | 密钥材料规则、签名者模式、Bento 策略和交易安全性。 |
| [09. 工具、技能和代理指南](docs/09_TOOLS_SKILLS_AND_AGENT_GUIDE.md) | 工具系列、SDK 文档指针、技能和代理行为。 |
| [10. 操作、发布和 PM2](docs/10_OPERATIONS_RELEASE_AND_PM2.md) | 质量门控、PM2、秘密、发布打包和变更日志纪律。 |
| [11. 代码质量审计](docs/11_CODE_QUALITY_AUDIT.md) | 当前工程记分卡、发布门控、质量规则和残留风险。 |
## 9. 仓库布局
```text
src/
adapters/ MCP 和 Solana 适配器帮助程序
config/ 运行时配置、安全配置管理器、设置向导管道
core/ 共享运行时类型、错误、日志记录器、常量
payments/ x402 货币化、促进者、使用账本、`pay.sh` 规范
policy/ 本地、Bento 和混合策略引擎
remote/ 可流式 HTTP MCP 服务器
resources/ MCP 资源
security/ 私钥、不安全操作和权限守卫
server/ MCP 服务器工厂和功能注册
signer/ 本地、委托和外部签名适配器
tools/ SAP、Solana、AgentKit、SNS、配置文件、技能和支付工具
transports/ 标准输入/输出和本地 HTTP 传输帮助程序
```
## 10. 许可证
SAP MCP 服务器在 [MIT 许可证](LICENSE) 下发布。
## 11. 合作伙伴产品
| 合作伙伴/产品 | 集成 |
| --- | --- |
| [@bentoguard / Bento Guard](https://github.com/bentoguard) | AI 辅助意图评分、升级和混合本地/Bento 护栏的可选策略层。使用可选的 `@bentoguard/sdk` 包和来自 [app.bentoguard.xyz](https://app.bentoguard.xyz) 的凭证。 |