背景
MCP(Model Context Protocol)是 Anthropic æå‡ºçš„开放å议,让 AI 客户端(如 Claude Desktopï¼‰èƒ½æ ‡å‡†åŒ–åœ°è°ƒç”¨å¤–éƒ¨å·¥å
·ã€‚但实é™
用下æ¥å‘现两个问题:
- å·¥å
·ç¢Žç‰‡åŒ–:OCR è¦ç”¨ A å¹³å°ï¼ŒTTS è¦ç”¨ B å¹³å°ï¼ŒLLM è¦ç”¨ C å¹³å°ï¼Œæ¯ä¸ªéƒ½è¦å•ç‹¬ç®¡ç† API Key 和计费 - 计费模å¼ä¸å‹å¥½ï¼šå¤§å¤šæ•° AI API è¦ä¹ˆæŒ‰æœˆè®¢é˜
(低频用户浪费),è¦ä¹ˆæŒ‰ Token è®¡è´¹ï¼ˆé€æ˜Žåº¦ä½Žï¼‰
我的æ€è·¯æ˜¯ï¼šæŠŠå¤šä¸ª AI 能力èšåˆåˆ°ä¸€ä¸ª MCP Server,用按次付费的方å¼ç»“算——调一次付一次,ä¸è®¢é˜
ä¸å
值。
架构设计
整体架构分三层:
┌─────────────────────────────────────────────┠│ MCP 客户端层 │ │ (Claude Desktop / Cursor / 自定义客户端) │ └──────────────────┬──────────────────────────┘ │ SSE / stdio ┌──────────────────▼──────────────────────────┠│ GoldBean MCP Server │ │ ┌─────────┠┌──────────┠┌────────────┠│ │ │ å·¥å ·è·¯ç”± │ │ x402支付 │ │ é¢åº¦ç®¡ç† │ │ │ │ 47端点 │ │ ä¸é—´ä»¶ │ │ free/paid │ │ │ └─────────┘ └──────────┘ └────────────┘ │ └──────┬───────────────┬──────────────────────┘ │ │ ┌──────▼──────┠┌──────▼──────────┠│ 百度 AI API │ │ 支付结算层 │ │ OCR/TTS/ASR │ │ Base链/PayPal/ │ │ LLM/图åƒç”Ÿæˆ │ │ æ”¯ä»˜å® â”‚ └─────────────┘ └─────────────────┘工å
·è·¯ç”±å±‚:47 个端点分为 21 个å
è´¹ï¼ˆå¤©æ°”ã€æœç´¢ã€ç¿»è¯‘ã€ä»£ç 执行ç‰ï¼‰å’Œ 26 个付费(OCRã€TTSã€ASRã€LLMã€å›¾åƒç”Ÿæˆç‰ï¼‰ã€‚客户端å‘èµ·tools/call请求时,路由层判æ–ç›®æ ‡å·¥å
·æ˜¯å¦éœ€è¦ä»˜è´¹ã€‚
**x402 支付ä¸é—´ä»¶**:付费端点被调用时,ä¸é—´ä»¶æ‹¦æˆªè¯·æ±‚并返回 HTTP 402ï¼Œé™„å¸¦æ”¯ä»˜è¦æ±‚(金é¢ã€æ”¶æ¬¾åœ°å€ã€é“¾ä¿¡æ¯ï¼‰ã€‚客户端通过 x402 SDK ç¾å一笔 EIP-3009 æ ¼å¼çš„ USDC 转账,æœåŠ¡å™¨åœ¨ Base 链上验è¯ç¾åæœ‰æ•ˆæ€§åŽæ”¾è¡Œè¯·æ±‚。
é¢åº¦ç®¡ç†ï¼šé¦–次连接的用户自动获得 20 个å
è´¹ credits,调用付费端点时优å
ˆæ‰£å‡ã€‚
x402 支付æµç¨‹è¯¦è§£
è¿™æ˜¯æ•´ä¸ªé¡¹ç›®æœ€æ ¸å¿ƒä¹Ÿæœ€æœ‰è¶£çš„éƒ¨åˆ†ã€‚x402 是一个基于 HTTP 402 状æ€ç çš„å¾®æ”¯ä»˜æ ‡å‡†ï¼š
// æœåŠ¡ç«¯ï¼šä»˜è´¹ç«¯ç‚¹çš„ä¸é—´ä»¶é€»è¾‘asyncfunctionpaymentMiddleware(req,res,next){consttoolName=req.params.tool;constprice=PRICE_MAP[toolName];// e.g. { amount: "0.01", currency: "USDC", chain: "base" }if(!price)returnnext();// å费端点直接放行// æ£€æŸ¥ç”¨æˆ·æ˜¯å¦æœ‰åè´¹é¢åº¦constuserCredits=awaitgetCredits(req.clientId);if(userCredits>0){awaitdeductCredits(req.clientId,1);returnnext();}// 返回 402 æ”¯ä»˜è¦æ±‚returnres.status(402).set({'X-Payment':JSON.stringify({amount:price.amount,currency:'USDC',chain:'base',receiver:TREASURY_ADDRESS,scheme:'eip-3009'})}).json({error:'Payment Required',price});}客户端侧使用@goldbean/x402-sdkå¤„ç† 402 å“应:
import{verifyOnChainTx}from'@goldbean/x402-sdk';// MCP 客户端收到 402 åŽçš„处ç†asyncfunctionhandlePayment(response,wallet){constpaymentReq=JSON.parse(response.headers['x-payment']);// ç¾å EIP-3009 transferconstsignedTx=awaitwallet.signEIP3009Transfer({to:paymentReq.receiver,amount:paymentReq.amount,token:'USDC',chainId:8453// Base mainnet});// æºå¸¦æ”¯ä»˜å‡è¯é‡è¯•请求returnretry(originalRequest,{'X-Payment':signedTx.serialize()});}这套æµç¨‹çš„好处是:整个支付过程对 MCP å®¢æˆ·ç«¯é€æ˜Žã€‚客户端åªéœ€è¦æœ‰ä¸€ä¸ªæ”¯æŒ EIP-3009 的钱åŒ
,SDK è‡ªåŠ¨å¤„ç† 402 拦截 → ç¾å → é‡è¯•ï¼Œç”¨æˆ·æ— æ„ŸçŸ¥ã€‚
实é™
使用
在 Claude Desktop ä¸é
置:
{"mcpServers":{"goldbean":{"command":"npx","args":["-y","goldbean-mcp"]}}}é
ç½®åŽé‡å¯ Claude Desktop,工å
·æ 会出现 47 个工å
·ã€‚ä½ å¯ä»¥ç›´æŽ¥å¯¹è¯ï¼š
“帮我æå–è¿™å¼ å›¾ç‰‡é‡Œçš„æ–‡å—,翻译æˆè‹±æ–‡ï¼Œç„¶åŽç”Ÿæˆä¸€æ®µä¸æ–‡è¯éŸ³æ‘˜è¦”
Claude ä¼šä¾æ¬¡è°ƒç”¨ OCR → 翻译 → TTSï¼Œæ¯æ¬¡ä»˜è´¹ç«¯ç‚¹è°ƒç”¨è‡ªåŠ¨ç»“ç®—ã€‚
定价ç–ç•¥
| å·¥å
| ·ç±»åž‹ | å•ä»· | 说明 |
|---|---|---|
| 通用 OCR | $0.01 | 通用文å—识别 |
| 高精度 OCR | $0.02 | å«è¡¨æ ¼/å |
| ¬å¼è¯†åˆ« | ||
| TTS è¯éŸ³åˆæˆ | $0.02 | 15+ è¯ç§ |
| ASR è¯éŸ³è¯†åˆ« | $0.02 | 支æŒé•¿éŸ³é¢‘ |
| LLM å¯¹è¯ | $0.03 | ERNIE 4.5 |
| 图åƒç”Ÿæˆ | $0.08 | 文生图 |
| 翻译/æœç´¢/天气 | å | |
| è´¹ | 21 个å | |
| 费端点 |
é¦–æ¬¡è¿žæŽ¥é€ 50 次å
è´¹/天,覆盖大多数å°é²œåœºæ™¯ã€‚
æŠ€æœ¯æ ˆä¸Žéƒ¨ç½²
- è¿è¡ŒçŽ¯å¢ƒï¼šAlmaLinux 9,Node.js v20,1GB RAM VPS
- 百度 AI SDK:bce-sdk-js,åƒå¸†å¤§æ¨¡åž‹ SDK
- x402 验è¯ï¼šethers.js + EIP-3009 åˆçº¦äº¤äº’
- 支付集æˆï¼šPayPal REST API + 支付å®å½“é¢ä»˜
- 进程管ç†ï¼šPM2,6 个进程分工(主æœåŠ¡ã€MCP HTTPã€ä»£ç†ã€ç›‘控ç‰ï¼‰
1GB å†
å˜è·‘ 6 个 Node.js è¿›ç¨‹ç¡®å®žç´§å¼ ï¼Œå
³é”®æ˜¯æŽ§åˆ¶å¥½å†
å˜æ³„æ¼å’Œå®šæœŸé‡å¯ã€‚
一些æ€è€ƒ
- x402 å’Œ MCP æ˜¯å¤©ç„¶ææ¡£ï¼šMCP 的工å
·è°ƒç”¨æœ¬è´¨ä¸Šæ˜¯"请求-å“应"模å¼ï¼Œ402 拦截æ’å
¥æ”¯ä»˜çŽ¯èŠ‚éžå¸¸è‡ªç„¶ï¼Œä¸éœ€è¦æ”¹å议本身 - 百度 AI 被低估了:ERNIE 4.5 çš„ä¸æ–‡ç†è§£èƒ½åŠ›ã€ç™¾åº¦ OCR 对ä¸è‹±æ··æŽ’文档的识别精度,在国é™
市场上认知度ä¸é«˜ï¼Œä½†å®žé™
效果很能打 - **按次付费的难点ä¸åœ¨å®šä»·**:而在于异常处ç†â€”—调用失败è¦ä¸è¦æ‰£è´¹ï¼Ÿéƒ¨åˆ†ç»“果怎么处ç†ï¼Ÿæˆ‘çš„ç–略是:æœåŠ¡ç«¯é”™è¯¯ä¸æ‰£è´¹ï¼ŒæˆåŠŸæ‰æ‰£ï¼Œå
è´¹é¢åº¦ä¼˜å
ˆæ¶ˆè€—
链接
- 网站:https://goldbean-api.xyz
- GitHub:https://github.com/wuzenghai616-lang/goldbean
- MCP 端点:
https://goldbean-api.xyz/sse - x402 SDK:
npm install @goldbean/x402-sdk - npm:
npx goldbean-mcp
å¦‚æžœä½ åœ¨åš AI Agent 或è€
MCP 相å
³çš„å¼€å‘,欢迎交æµã€‚特别是支付层的设计,我觉得还有很多å¯ä»¥ä¼˜åŒ–的空间。