关于 VectorCache Semantic Vector Cache
README 描述的是 NodeProxy 网页抓取与 Markdown 压缩服务,并未说明 VectorCache 的语义向量缓存功能。该服务面向 Agent,提供普通及隐身网页解析,并按次付费。
主要功能
- 01抓取网页并生成精简 Markdown
- 02清除脚本、广告和导航内容
- 03隐身抓取受保护网站
- 04按次收取 x402 USDC
- 05提供 MCP HTTP 与 stdio 接入
适用场景
- 01减少 Agent 读取网页时的上下文占用
- 02解析 Cloudflare 或 Akamai 保护的网页
MCP 相关
通过 MCP 工具提供普通和隐身网页解析,可经 Streamable HTTP 或 stdio 接入。调用需要通过 x402 USDC 付费;普通解析也支持 Stripe MPP。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
NodeProxy
可自主发现的 Agent MCP 工具——无广告、无落地页、无需人工介入。
NodeProxy 提供两个付费工具:
| 工具 | 端点 | 价格 | 用例 |
|---|---|---|---|
surface_markdown_parser | POST /mcp/execute | $0.002 USDC | 普通公开网页 |
stealth_markdown_parser | POST /stealth-scrape | $0.05 USDC | 受 Cloudflare/Akamai 保护的网站 |
两个工具都会获取公开 URL,移除脚本、广告和导航噪声,并返回针对大模型上下文窗口优化的精简 Markdown。标准版还接受 Stripe MPP 卡支付(最低 $0.50),同时支持 x402 USDC。
Agent 通过 MCP 注册表、x402 Bazaar 发现和机器可读清单找到此服务,而非通过营销推广。
Agent 为什么需要此服务
Agent 摄取原始 HTML 时,庞大的 React/Vue 网站会消耗大量令牌。NodeProxy 返回干净的 Markdown,让自主检索循环保持低成本且准确。当基础抓取遇到反机器人屏障时,隐身版会通过代理轮换、强化版 Playwright 和可选的 CAPTCHA 求解进行升级。
架构
Autonomous Agent
│ search MCP registry / Bazaar (vector or keyword)
▼
GET /mcp/tools or MCP list_tools
│ reads JSON schema ("Machine UI")
▼
POST /mcp/execute or POST /stealth-scrape
│ no payment → 402 + PAYMENT-REQUIRED (+ Bazaar extension)
│ x402 PAYMENT-SIGNATURE or MPP Authorization: Payment …
│ facilitator verify/settle → parse URL
▼
Markdown payload → agent continues task
快速开始
cd NodeProxy
cp .env.example .env
# Set WALLET_ADDRESS to your Base wallet
npm install
npm run dev
端点(将主机替换为你的部署 URL):
| 端点 | 用途 |
|---|---|
GET /health | 服务状态、定价、隐身版/MPP 配置 |
GET /mcp/tools | 提供给注册表爬虫的工具目录 |
POST /mcp/execute | 标准解析 + x402/MPP 付款门控 |
POST /stealth-scrape | 隐身解析 + x402 付款门控 |
ALL /mcp | 可流式传输的 HTTP MCP 传输 |
GET /.well-known/mcp.json | MCP 众所周知发现端点 |
GET /.well-known/x402.json | x402 + Bazaar 发现清单 |
GET /.well-known/mpp.json | MPP Stripe 清单(配置后提供) |
GET /discovery/agent.json | Agent 发现卡片 |
GET /registry/server.json | 实时注册表清单(动态生成) |
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
WALLET_ADDRESS | — | USDC 收款地址(你的收入) |
PRICE_USDC | 0.002 | 标准版每次解析的价格 |
STEALTH_PRICE_USDC | 0.05 | 隐身版每次解析的价格 |
X402_NETWORK | eip155:84532 | 主网络;在主网上使用 eip155:8453 |
X402_NETWORKS | CDP bundle | 以逗号分隔的 CAIP-2 ID(Base、Polygon、Arbitrum,以及可选的 Ethereum L1) |
FACILITATOR_URL | https://x402.org/facilitator | x402 协调器 |
CDP_API_KEY_ID / CDP_API_KEY_SECRET | — | Coinbase CDP 协调器(主网) |
MPP_SECRET_KEY / STRIPE_SECRET_KEY | — | /mcp/execute 上的 Stripe MPP |
STEALTH_PROXY_URLS | — | 隐身版使用的逗号分隔代理 URL |
CAPTCHA_SOLVER_KEY | — | 2captcha API 密钥(可选) |
PUBLIC_URL | localhost | 用于发现清单 |
机器发现(零广告)
- 部署到 Railway 或任何 HTTPS 主机。
- 验证实时清单:
/mcp/tools、/.well-known/x402.json、/registry/server.json。 - 使用
integrations/mcp-registry/server-entry.json向开源 MCP 注册表提交 PR。 - Bazaar 自动索引:通过启用了 Bazaar 的协调器成功完成 x402 结算后,工具会出现在全局 Bazaar 索引中(Bazaar 文档)。NodeProxy 会在每个 402 响应中附加 Bazaar 扩展元数据。
- 企业级中心(Google Agent Registry、Anthropic 路由):将其指向
/.well-known/mcp.json或/discovery/agent.json。
工具描述面向大模型工具匹配,而非人类读者。
支付渠道
| 渠道 | 工具 | 收款方 | 金额 |
|---|---|---|---|
| x402 USDC | 标准版 + 隐身版 | 你的 WALLET_ADDRESS | $0.002 / $0.05 |
| Stripe MPP | 仅标准版 | Stripe 账户余额 | $0.50/卡(SPT 最低金额) |
MCP stdio(Claude Desktop / 本地 Agent)
npm run mcp:stdio
添加到 Claude Desktop 配置:
{
"mcpServers": {
"nodeproxy": {
"command": "node",
"args": ["--import", "tsx", "/path/to/NodeProxy/src/mcp/stdio.ts"],
"env": { "WALLET_ADDRESS": "0x..." }
}
}
}
HTTP 执行示例
# Stage A — get 402 challenge (includes Bazaar extension in PAYMENT-REQUIRED)
curl -i "http://localhost:4022/mcp/execute" \
-H 'Content-Type: application/json' \
-d '{"arguments":{"url":"https://example.com"}}'
# Stage B — retry with PAYMENT-SIGNATURE from x402 client wallet
curl "http://localhost:4022/mcp/execute" \
-H 'Content-Type: application/json' \
-H 'PAYMENT-SIGNATURE: <base64>' \
-d '{"arguments":{"url":"https://example.com"}}'
# Stealth tier (x402 only)
curl -i "http://localhost:4022/stealth-scrape" \
-H 'Content-Type: application/json' \
-d '{"arguments":{"url":"https://example.com"}}'
使用 @x402/fetch、@x402/mcp 或 nodeproxy-tools 自动支付。
在 Railway 上部署
Railway 是推荐的托管平台:提供完整的 Node.js 环境(JSDOM 可正常运行),没有 15s 的无服务器超时限制,闲置时按使用量计费。
1. 推送到 GitHub
cd NodeProxy
git init && git add . && git commit -m "NodeProxy MCP x402 parser"
git remote add origin https://github.com/YOU/nodeproxy.git
git push -u origin main
2. 创建 Railway 项目
- 前往 railway.app → New Project → Deploy from GitHub repo
- 选择你的仓库 — Railway 会自动读取
railway.toml+nixpacks.toml - Settings → Networking → Generate Domain(会生成
*.up.railway.app域名)
3. 设置环境变量
在 Railway → Variables 中:
| 变量 | 值 |
|---|---|
WALLET_ADDRESS | 你的 Base 钱包(USDC 接收方) |
X402_NETWORK | eip155:8453 |
PRICE_USDC | 0.002 |
STEALTH_PRICE_USDC | 0.05 |
CDP_API_KEY_ID / CDP_API_KEY_SECRET | Coinbase CDP 密钥(主网促进器) |
MPP_SECRET_KEY / STRIPE_SECRET_KEY | Stripe MPP(可选) |
HOST | 0.0.0.0 |
MAX_CONCURRENT_PARSES | 20 |
RATE_LIMIT_PER_MINUTE | 120 |
你无需设置 PORT 或 PUBLIC_URL — Railway 会注入 PORT,应用会自动检测 RAILWAY_PUBLIC_DOMAIN,用于发现清单。
4. 验证部署
curl https://YOUR-APP.up.railway.app/health
curl https://YOUR-APP.up.railway.app/mcp/tools
curl https://YOUR-APP.up.railway.app/.well-known/x402.json
5. 注册以供 Agent 发现
使用 integrations/mcp-registry/server-entry.json 向 MCP Registry 提交 PR。Agent 可访问:
https://YOUR-APP.up.railway.app/mcp/toolshttps://YOUR-APP.up.railway.app/.well-known/mcp.jsonhttps://YOUR-APP.up.railway.app/.well-known/x402.json
预计费用
Railway 免费套餐在试用期后每月提供约 $1 的抵扣额度 — 足以应对低流量(闲置时每月约 $0.30–0.50)。一次付费 Agent 调用($0.002 USDC)即可覆盖这笔费用。机器人流量增长后,可升级到 Hobby 套餐($5/月)。
不要使用 Vercel/Cloudflare Workers 部署此服务 — JSDOM 和 25s 的 fetch 超时会超出边缘环境的限制。
生产环境(Base 主网)
X402_NETWORK=eip155:8453
WALLET_ADDRESS=0xYourWallet
PRICE_USDC=0.002
STEALTH_PRICE_USDC=0.05
Base 上的 USDC:0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
上游框架集成
如需将 NodeProxy 集成到 LangChain、CrewAI,并支持 MCP 注册表发现:
- integrations/UPSTREAM.md — fork → PR → merge 操作指南
integrations/python/—nodeproxy-toolsPyPI 包 + LangChain/CrewAI 包装器integrations/typescript/—@nodeproxy/langchainnpm 包integrations/mcp-registry/— MCP 注册表 PR 模板
LangChain 快速示例:
pip install "nodeproxy-tools[x402,langchain]"
export EVM_PRIVATE_KEY=0x...
from nodeproxy_tools.langchain import NodeProxyMarkdownTool
tool = NodeProxyMarkdownTool()
markdown = tool.invoke({"url": "https://example.com"})
命名
NodeProxy 已满足注册表要求:名称朴实、易于预测,且体现了基础设施属性。工具名称(surface_markdown_parser、stealth_markdown_parser)经过精心选择,让语义搜索结果与用户意图相符。
许可证
MIT
Gate402 的一部分
此服务属于 Gate402 x402 Agent API 套件 — 面向 AI Agent、基于 HTTP 402(Base 上的 USDC)的按次付费 API。你可以独立使用、通过统一的商店 + CDP x402 Bazaar 在 gate402.app 上使用,或将其作为 MCP 服务使用:npx -y gate402-mcp。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。