关于 VEYA
VEYA 是面向 Robinhood Chain 的 MCP 服务,提供链上验证、密码学工具、产品 API 和自有钱包写入能力。它通过 Streamable HTTP 接入客户端,密码学与链操作由 @veyanet/sdk 执行。
主要功能
- 01服务信息与能力发现
- 02Robinhood Chain 查询和交易验证
- 03BLAKE3 摘要与证明
- 04产品 API、注册表及会话工具
- 05需 API key 和自有钱包的链上写入
适用场景
- 01检查服务配置与写入状态
- 02验证链上交易或生成摘要证明
- 03通过产品 API 查询会话或注册表
- 04使用自有钱包提交链上操作
MCP 相关
@veyanet/mcp 通过 Streamable HTTP 向 MCP 客户端开放加密、链验证、产品 API 和钱包写入工具。公开工具无需密钥;产品工具及写入操作按其要求使用 API key 和自有钱包。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.veyanet.tech/mcpclaude mcp add --transport http veyanet-veya https://mcp.veyanet.tech/mcp{"mcpServers":{"veyanet-veya":{"type":"http","url":"https://mcp.veyanet.tech/mcp"}}}在 Cursor 中打开{"servers":{"veyanet-veya":{"type":"http","url":"https://mcp.veyanet.tech/mcp"}}}在 VS Code 中打开{"mcpServers":{"veyanet-veya":{"type":"http","url":"https://mcp.veyanet.tech/mcp"}}}{"mcpServers":{"veyanet-veya":{"serverUrl":"https://mcp.veyanet.tech/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.veyanet.tech/mcp需要授权工具
详细介绍
VEYA MCP
面向 Robinhood Chain 上后量子 Agent 工具、链上验证、密封执行服务信息和协议结算的官方 Model Context Protocol 服务。
官方网站 • X(Twitter) • 公共 MCP URL • 文档索引 • 网络规范 • 安全策略
💡 信息:VEYA 是什么?
VEYA Protocol 是一个去中心化、受密码学保护的执行层,专为 Robinhood Chain 上具备后量子韧性的自主 Agent 集群打造。传统大模型 Agent 框架存在严重的结构性漏洞:Agent 需要私有执行环境,例如 API 集成凭据、专有系统提示词、资金管理权限和策略规则;而在标准主机运行时中运行这些 Agent,会使敏感状态以明文形式暴露给主机运营者、数据库管理员和网络中间方。
VEYA 通过建立客户端侧的密码学边界和后量子证明原语来弥补这一安全缺口。敏感的 Agent 工作负载受到本地后量子密钥生成(ML-DSA-44)、抗量子会话协商(Kyber-768)、高吞吐量密码学摘要(BLAKE3-256)、采用 AES-256-GCM 的密封执行,以及 2-of-3 多节点共识保护。此代码库默认使用 Mainnet。其中的 Veya.sol 是协议合约,地址为 0x87dC582eEA544A434a5C1e30Ca3d12c1e548a674。设置 ROBINHOOD_NETWORK=testnet 可使用 Testnet。
VEYA MCP 服务
@veyanet/mcp 包是 VEYA 面向 Agent 的完整工具集,也是其标准的 Model Context Protocol 接口。它使用 Streamable HTTP,Claude、Cursor 和其他 MCP 客户端只需粘贴一个 URL,即可调用加密、集群、注册表、产品 API 和自有钱包链上写入工具,无需克隆 @veyanet/sdk。加密、链 ID 检查和回执解析由 @veyanet/sdk 负责;此包负责 HTTP 传输、工具注册、产品 apiKey 转发和公共服务信息。
将 MCP 客户端连接到 @veyanet/mcp 后,即可使用以下核心功能:
- 粘贴 URL 即可访问:通过
https://mcp.veyanet.tech/mcp连接(Streamable HTTP)。 - 公共工具:描述技术栈、对 Robinhood Chain 执行 ping、使用 BLAKE3、验证
Veya.sol交易、使用后量子加密、查询注册表,以及通过https://api.veyanet.tech使用产品会话。 - 自有钱包写入:链上工具需要产品 API 密钥(
veya_dev_/veya_live_)和您自己的已注资钱包。托管中继器不支付 Gas 费。 - 基于 SDK 的结算:链上调用使用
@veyanet/sdk。默认配置为 Mainnet。Testnet 使用ROBINHOOD_NETWORK=testnet。 - 由后端管理的集群:共识验证者和密封容量归产品 API(
https://api.veyanet.tech)所有。
| 接口 | 用户连接方式 |
|---|---|
| 公共 MCP | 粘贴 https://mcp.veyanet.tech/mcp |
| 产品 API | https://api.veyanet.tech(通过 MCP 工具或直接使用 HTTPS) |
| SDK | npm install @veyanet/sdk |
📖 目录
- 架构设计理念
- MCP 数据流概览
- 安装与环境要求
- 服务配置与初始化
- 在 Claude / Cursor 中连接
- 核心工具概览
- 完整快速入门
- 传输、身份验证与可靠性
- 高级密码学边界
- 运维诊断与命令行工具
- 文档目录索引
- 常见问题(FAQ)
- 贡献与安全指南
- 许可证
🛡️ 架构设计理念
@veyanet/mcp 的设计遵循 精简协议网关与厚实密码学客户端 的范式。在朴素的 MCP 服务中,业务逻辑、机密信息和链上写入与宽松的身份验证混杂在工具处理程序中。VEYA 将这些职责分开:MCP 进程是传输与策略外壳;@veyanet/sdk 则继续作为密码学引擎,执行哈希、验证和 EvmAnchor 写入。
这一核心理念通过三大架构支柱实现:
1. 将 Streamable HTTP 作为公开接口
公开用户和 Agent 运行时通过一个 URL 连接。服务使用 @modelcontextprotocol/sdk 实现 MCP Streamable HTTP(POST /mcp)。
2. 自有钱包写入接口
链上写入工具始终会注册。产品写入需要产品 apiKey 和你的 payerPrivateKey。veya_prove 则有所不同:读取无需密钥,锚定操作只需要 environmentId 和 payerPrivateKey。msg.sender 是你的地址。空钱包会返回:Mainnet: 'Your wallet has no ETH on Robinhood Chain.' Testnet: 'You don't have testnet tokens. Please get them for the transaction.'
3. 清晰的服务信息
GET /health 和 veya_describe 会显示选定的配置档案、密封方式为 AES-256-GCM,以及是否启用了写入功能。默认配置档案为 Mainnet。法定人数要求哈希匹配;无法连接的节点会返回 consensus_reached: false。Veya.sol 是协议合约。
⚡ MCP 数据流概览
下图展示了 @veyanet/mcp 如何接收 Streamable HTTP 工具调用、控制写入,并通过 @veyanet/sdk 在 Robinhood Chain 上完成交易:
flowchart TB
subgraph ClientSpace["MCP Client (Claude / Cursor / Agent Runtime)"]
PasteURL["Paste https://mcp.veyanet.tech/mcp"]
ToolCall["veya_* tool invocation"]
end
subgraph McpBoundary["@veyanet/mcp Streamable HTTP"]
Landing["GET /"]
Health["GET /health"]
PostMcp["POST /mcp"]
Auth{"product apiKey + your wallet?"}
PublicTools["Public tools"]
WriteTools["Own-wallet write tools"]
end
subgraph SdkBoundary["@veyanet/sdk"]
ReadClient["VeyaClient read / verify / hash"]
EvmAnchor["EvmAnchor writes + eth_chainId guard"]
end
subgraph ApiBoundary["VEYA Product API"]
ApiHealth["https://api.veyanet.tech/health"]
end
subgraph Blockchain["Protocol settlement (Mainnet by default)"]
VeyaSol["Veya.sol\nCommitments · Environments · Attestations"]
end
PasteURL --> PostMcp
ToolCall --> PostMcp
PostMcp --> Auth
Auth -->|"no key / public tools"| PublicTools
Auth -->|"apiKey + funded payer"| WriteTools
PublicTools --> ReadClient
PublicTools -->|"veya_api_health"| ApiHealth
WriteTools --> EvmAnchor
ReadClient --> VeyaSol
EvmAnchor --> VeyaSol
Landing --> McpBoundary
Health --> McpBoundary
📦 安装与环境要求
公开用户(推荐)
粘贴到 Claude / Cursor 中(Streamable HTTP):
https://mcp.veyanet.tech/mcp
可选的 TypeScript 库:
npm install @veyanet/sdk
npm 包(可选)
npm install -g @veyanet/mcp
veya-mcp
# or: npx -y @veyanet/mcp
启动一个 Streamable HTTP 服务。配置 TLS 后,将客户端指向你的公开 HTTPS连接器。在文档和落地页中,将 PUBLIC_MCP_URL=https://mcp.veyanet.tech/mcp 保留为产品粘贴 URL。请参阅 docs/DEPLOYMENT.md。
要求
- Node.js ≥ 20
- 可通过出站 HTTPS 访问 Robinhood RPC 和
https://api.veyanet.tech - 依赖项:来自 npm 的
@veyanet/sdk
🔑 服务配置与初始化
进程从环境变量加载配置。未设置 ROBINHOOD_NETWORK 时使用 Mainnet。ROBINHOOD_NETWORK=testnet 表示使用 Testnet。将 .env.example 复制为 .env,用于本地覆盖配置。切勿提交 .env。
配置解析优先级
参数优先从进程环境变量解析,其次使用主网配置文件(PUBLIC_MCP_URL=https://mcp.veyanet.tech/mcp)。测试网配置为 ROBINHOOD_NETWORK=testnet。地址见 docs/NETWORK_PIN.md。
import { loadConfig, createHttpApp, startHttpServer } from "@veyanet/mcp";
// 1. Zero-config start (Mainnet)
startHttpServer();
// 2. Explicit config for operators
const cfg = loadConfig();
const app = createHttpApp(cfg);
app.listen(cfg.port, cfg.host);
环境变量参考
| 变量名称 | 描述 | 默认值 / 回退值 |
|---|---|---|
PUBLIC_MCP_URL | 在首页和健康检查中公布的公开粘贴 URL | https://mcp.veyanet.tech/mcp |
PORT | 监听端口 | <mcp-port> |
HOST | 绑定地址 | 0.0.0.0 |
ROBINHOOD_RPC_URL | 测试网 RPC(在 ROBINHOOD_NETWORK=testnet 时使用) | 公开测试网 RPC |
ROBINHOOD_NETWORK | 配置文件 | 主网。testnet 选择测试网 |
ROBINHOOD_EXPLORER_URL | 测试网浏览器(在 ROBINHOOD_NETWORK=testnet 时使用) | 公开测试网浏览器 |
VEYA_CONTRACT_ADDRESS | 测试网合约(在 ROBINHOOD_NETWORK=testnet 时使用) | 测试网部署地址 |
ROBINHOOD_MAINNET_CHAIN_ID | 主网链 ID 覆盖值 | 主网配置文件 |
ROBINHOOD_MAINNET_RPC_URL | 主网 RPC | https://rpc.mainnet.chain.robinhood.com |
ROBINHOOD_MAINNET_EXPLORER_URL | 主网浏览器 | https://robinhoodchain.blockscout.com |
VEYA_MAINNET_CONTRACT_ADDRESS | 主网协议合约 | 0x87dC582eEA544A434a5C1e30Ca3d12c1e548a674 |
VEYA_API_URL | 产品 API(健康检查、注册表、会话、集群容量) | https://api.veyanet.tech |
CORS_ORIGIN | 以逗号分隔的 Origin 允许列表 | 空 = 拒绝带凭据的浏览器 Origin |
NODE_ENV | 运行时模式 | development |
VEYA_PAID_CALLS | 1 启用付费调用保护(增加 3 个工具;调用方从自己的钱包付款)。其他 VEYA_PAID_* 设置见 docs/CONFIGURATION.md | 关闭 |
仅主机设置(集群 URL 和主机签名密钥)请参阅运维指南 docs/DEPLOYMENT.md。公开用户无需设置这些内容。
🔌 在 Claude / Cursor 中连接
生产环境(公开用户 / 公开客户端)
使用 Streamable HTTP 传输方式,将以下内容粘贴到自定义 MCP 连接器中:
https://mcp.veyanet.tech/mcp
包括 veya_prove 在内的公开工具无需 API 密钥。产品工具需要 apiKey。产品链上写入需要该密钥和你自己的已注资钱包。通过 veya_prove 创建锚点只需 environmentId 和 payerPrivateKey。
Claude CLI
claude mcp add veya --transport http https://mcp.veyanet.tech/mcp
Cursor IDE
设置 → MCP → 添加自定义 MCP 服务 / 连接器 → URL:
https://mcp.veyanet.tech/mcp
信息页面
GET https://mcp.veyanet.tech/ 会返回信息页面(概览、功能、API 密钥获取步骤)。在浏览器中打开 https://mcp.veyanet.tech/mcp,可查看 Cursor、Claude Code 和 Codex 的设置说明,以及常见问题。健康检查:https://mcp.veyanet.tech/health。产品文档:https://veyanet.tech/mcp。产品 API:https://api.veyanet.tech。
🧩 核心工具概览
@veyanet/mcp 1.2.10 提供完整的 Agent 工具集。完整架构:docs/TOOLS.md。读取操作无需密钥。产品工具需要网站 API 密钥。产品链上写入会消耗你的钱包资金,也需要该 API 密钥。veya_prove 无需该密钥。veya_seal_decision 会封存一个证据 ID 和一项决策。当该调用传入 payerPrivateKey,或设置 VEYA_SEAL_DECISION_RELAYER=1 时,收据会被写入。
0. 证明
Tool: veya_prove
Args: exactly one of text, json, txHash
anchor, environmentId, payerPrivateKey only when anchoring
可以提交一份文本、JSON 字符串或收据哈希作为证明。运行前,请先在 Cursor 中粘贴 https://mcp.veyanet.tech/mcp,否则该工具不会出现在 Agent 的工具列表中。此 URL 接受 POST 请求。响应为流式数据(event: message 和一行 data:)。
读取操作不会发送任何内容:
{ "text": "hello" }
文本 hello 会返回 mode digest、anchored false,以及摘要 ea8f163db38682925e4491c5e58d4bb3506ef8c14eb78a86e908c5624a67200f。
锚定操作会使用 payerPrivateKey 中的钱包调用一次 storeCommitment。它不会使用产品 apiKey,也不会使用主机中继器。环境 ID 必须已存在于 Veya.sol 中。此 ID 已存在:7d0af0ba-2ae3-4d0e-bc75-0bbaccb3dd71。32 位十六进制 bytes16 也能解析。带连字符的 ID 必须是有效 UUID,因此 00000000-0000-0000-0000-000000000001 会被拒绝。
{
"text": "a unique string",
"anchor": true,
"environmentId": "7d0af0ba-2ae3-4d0e-bc75-0bbaccb3dd71",
"payerPrivateKey": "<funded private key>"
}
对于没有 VEYA 日志的收据,以及调用了其他合约的收据,都会返回完整的证明对象:ok false、mode refused、inputKind tx、anchored false,以及 txHash、explorerUrl 和 refusal。
1. 服务信息与发现
Tool: veya_describe
Args: (none)
返回服务信息:软件包名称 @veyanet/mcp、公共 URL、结算方式、产品 API、密封方式为 AES-256-GCM,以及写入策略。
Tool: veya_writes_status
Args: (none)
始终注册。说明如何使用自己的钱包写入:产品 apiKey + 你的钱包。响应中会包含空钱包提示信息。
2. 链上读取与验证
Tool: veya_ping_chain
Args: (none)
使用 @veyanet/sdk 的 VeyaClient.pingChain() 针对选定的配置文件执行检查,并返回区块元数据。
Tool: veya_verify_transaction
Args: txHash (0x…, min 66 chars)
通过 SDK verifyTransaction 解析 Veya.sol 收据事件(CommitmentStored / ExecutionAttested / 相关事件)。请使用真实的 Robinhood 区块浏览器哈希。
测试网承诺交易示例:
0xd68ab19671f0a3be63651cb6d6e24f5decf591da981708502827bca3689d31d8
3. BLAKE3 承诺辅助工具
Tool: veya_hash_blake3
Args: data (string, min length 1)
通过 SDK 计算 BLAKE3-256 十六进制摘要。可用于已验证的 veya_store_commitment 操作之前,或用于本地承诺预览。
4. 产品 API 健康状态
Tool: veya_api_health
Args: (none)
GET {VEYA_API_URL}/health(默认值为 https://api.veyanet.tech/health)。返回 HTTP 状态和 JSON 响应正文,其中包括集群状态。
5. 已验证身份的链上写入
始终可用。msg.sender 是你的钱包,而非托管中继器。
| 工具 | 主要参数 | 链上方法 |
|---|---|---|
veya_store_commitment | apiKey、payerPrivateKey、environmentUuidHex、commitmentHex | storeCommitment |
veya_attest_execution | apiKey、payerPrivateKey、environmentUuidHex、blake3HashHex、mldsaSigHex | attestExecution |
veya_register_environment | apiKey、payerPrivateKey、environmentId 或 environmentUuidHex | registerEnvironment |
写入通过 SDK EvmAnchor 完成,该组件会在提交前调用 ensureRobinhoodChain(),以防 RPC 配置错误而悄然将交易发送到其他 EVM 链。如果钱包没有 ETH:Mainnet: 'Your wallet has no ETH on Robinhood Chain.' Testnet: 'You don't have testnet tokens. Please get them for the transaction.'
6. 付费调用防护
Tools: veya_paid_discover, veya_paid_call, veya_paid_run
On the hosted URL: yes (check paidCallGuard in /health or veya_describe)
Needs: your VEYA apiKey + your own Solana key (pays USDC) + your own Robinhood Chain key (signs the record, pays gas)
Runs: saved to your VEYA account; veya_paid_run is private to that account
Receipts: public proof links (no keys, apiKey or input)
Kill switch: operator-only; callers cannot change it
Agent 通过一个受保护的工具调用付费 x402 资源。在签署任何内容之前,VEYA 会根据固定策略检查调用,检查你的 API 密钥和两个钱包的余额,从你的 Solana 钱包中支付刚好等于已批准报价的金额,在 Solana 上以 finalized 状态验证付款,获取 2-of-3 验证者签名,使用你的 Robinhood Chain 地址在 Veya.sol 上锚定承诺,并将运行记录保存到你的 VEYA 账户。被拦截的调用绝不会签署,也不会转移任何资金。同一个 idempotencyKey 绝不会重复付款。每次运行都会在 /receipts/paid/<runId> 生成收据。收据链接是公开的:任何拥有该链接的人都能读取证明,收据绝不会包含密钥、你的 apiKey 或你的输入。每次拒绝都会返回 decision: "blocked"、稳定的 code 和 payment: null。veya_paid_discover 会显示每次调用上限、任务预算上限(0.04 USDC)及默认值,还会显示每项资源的提供方报价和计入任务预算的总费用。请参阅 docs/PAID_CALLS.md。
在任何连接到 https://mcp.veyanet.tech/mcp 的 MCP 客户端中试用:
- 使用
veya_paid_discover查看允许使用的资源、输入字段和实时报价。 - 使用
veya_paid_call,并提供taskId、新的idempotencyKey、resourceId、input、你的apiKey、solanaPrivateKey中的 Solana 私钥,以及robinhoodPrivateKey中的 Robinhood Chain 密钥。 - 打开回复中的 Solscan、Blockscout 和收据链接。
- 使用你的
apiKey调用veya_paid_run,即可列出保存到你账户中的运行记录。
{
"name": "veya_paid_call",
"arguments": {
"taskId": "task-1",
"idempotencyKey": "<new uuid>",
"resourceId": "tokens.asset-risk-summary",
"input": { "assetId": "solana" },
"apiKey": "<your VEYA API key>",
"solanaPrivateKey": "<your Solana secret key>",
"robinhoodPrivateKey": "<your Robinhood Chain key>"
}
}
密钥仅在单次调用期间用于内存中,绝不会存储、记录日志或返回。请使用专用钱包:在 Solana 上准备少量 USDC 和 SOL,在 Robinhood Chain 上准备少量 ETH。缺少值时会返回 API_KEY_REQUIRED、SOLANA_KEY_REQUIRED 或 ROBINHOOD_KEY_REQUIRED,且不会发生任何操作。未启用 VEYA_PAID_CALLS=1 的服务会列出 51 个工具;启用后会列出 54 个。指南:docs/PAID_CALLS.md。
🚀 综合快速入门
A. 公共路径(无需密钥,无需克隆)
- 打开 Claude 或 Cursor 的 MCP 设置。
- 添加 Streamable HTTP URL:
https://mcp.veyanet.tech/mcp。 - 请 Agent 使用
{ "text": "hello" }运行veya_prove。 - 请 Agent 运行
veya_describe。 - 请 Agent 运行
veya_ping_chain,并确认所选配置文件正确。
B. 开发者路径(本地进程)
git clone https://github.com/veyanet/veya-mcp.git
cd veya-mcp
npm install
cp .env.example .env # do not commit .env
npm run build
npm start
在另一个终端中:
npm test
npm run smoke
Smoke 会启动进程内服务,执行 MCP 初始化和 tools/list,然后针对实时 RPC 调用 veya_describe 和 veya_ping_chain。
C. 产品写入路径(已充值的钱包)
这些工具需要产品 apiKey。veya_prove 不需要。veya_prove 上的锚定仅需要 environmentId 和 payerPrivateKey。
- 在 app.veyanet.tech 创建
veya_dev_/veya_live_密钥:连接钱包,打开 System → API Keys,然后创建 Dev(veya_dev_…)或 Live(veya_live_…)密钥。密钥只会显示一次。 - 在可自托管的服务上设置
VEYA_PAYER_PRIVATE_KEY,或在工具中传入payerPrivateKey。公共veya_prove工具只读取该参数。 - 使用
apiKey调用veya_store_commitment(或veya_anchor_proof)。 - 确认结果中的
from是你的地址,并打开区块浏览器中的txHash。 - 如果钱包余额为空,你会收到以下提示:
Mainnet: 'Your wallet has no ETH on Robinhood Chain.' Testnet: 'You don't have testnet tokens. Please get them for the transaction.'
⚠️ 传输、身份验证与可靠性
HTTP 端点
| 方法 | 路径 | 用途 |
|---|---|---|
GET | / | 包含可粘贴 URL 的落地页 HTML |
GET | /health | 服务信息(service、version、chain、writesEnabled、sealed) |
POST | /mcp | 无状态 Streamable HTTP MCP |
POST | /mcp/session | 可选的有状态路径(MCP-Session-Id) |
CORS
CORS_ORIGIN 是允许列表。允许列表为空时,会拒绝携带凭据的浏览器 Origin 值。服务端到服务端的 MCP 客户端(不带 Origin)不受影响。
认证模型
- 公共工具:无需密钥。
- 产品工具:使用产品网站提供的
apiKey(向api.veyanet.tech发送X-Api-Key)。 - 写入工具:使用相同的
apiKey,以及你自己的payerPrivateKey。from是你的地址。 - 私钥不会出现在
/health或成功响应中。
失败模式
- 写入时 RPC 链 ID 错误 → SDK
CHAIN_MISMATCH(安全失败)。 - 缺少
apiKey→{ "error": "apiKey required" }。 - 付款方未获资金支持 →
Mainnet: 'Your wallet has no ETH on Robinhood Chain.' Testnet: 'You don't have testnet tokens. Please get them for the transaction.' veya_api_health返回 API 状态。
🔒 高级密码学边界
@veyanet/mcp 不会重新实现后量子算法。它会调用提供以下功能的 @veyanet/sdk:
1. ML-DSA-44 后量子身份(FIPS 204)
用于运营方通过 veya_attest_execution 提交证明签名字节的场景。ML-DSA 的验证仍由 SDK/审计人员在链下完成;链上存储的是有界长度的证明字节和哈希值。
2. BLAKE3-256 摘要
veya_hash_blake3 和承诺写入使用 32 字节摘要。产品控制台上的使用模式人类内容证明可能会为方便浏览器处理而使用 SHA-256;MCP 承诺辅助工具遵循 SDK 的 BLAKE3 路径。
3. AES-256-GCM 密封执行
密封执行在运营方的密封节点中使用 AES-256-GCM 运行。
4. 链 ID 守卫
链上写入前会运行 EvmAnchor.ensureRobinhoodChain(),以防 MCP 运营方意外在错误的 EVM 上结算。
🛠️ 运营方诊断与 CLI 工具
此软件包附带供运营方和发布者使用的验证脚本:
# Typecheck
npm run lint
# Unit + HTTP /health service info (service name, network, AES string)
npm test
# Live MCP initialize + tools/list + ping (needs network)
npm run smoke
# Production-style process
npm run build && npm start
健康探测:
curl -s https://mcp.veyanet.tech/health | jq .
# or local:
curl -s https://mcp.veyanet.tech/health | jq .
预期的服务信息字段包括 service: "@veyanet/mcp"、所选配置的 network、提及 AES-256-GCM 的 sealed,以及布尔值 writesEnabled。此代码树的默认 network 为 mainnet。
关于 mcp.veyanet.tech 的生产环境 TLS,请参阅 部署指南。
📚 文档目录索引
此 README 是入口。有关详细的运维和集成材料,请参阅文档目录:
| 文档 | 主题 | 描述 |
|---|---|---|
| 文档中心 | 索引 | 面向公共用户和运营方的总目录与阅读路径。 |
| 网络规范 | 网络 | 链 ID、RPC、区块浏览器、Veya.sol 地址、公共 MCP URL。 |
| 快速入门指南 | 教程 | 粘贴 URL → 首批工具 → 本地循环 → 冒烟测试。 |
| 系统架构 | 安全 | MCP、SDK、API 与链之间的信任边界。 |
| 工具参考 | 参考 | 每个 veya_* 工具、参数和认证要求。 |
| 验证指南 | 审计 | 如何通过 MCP 和区块浏览器证明一项承诺。 |
| 部署指南 | 运维 | mcp.veyanet.tech 的 nginx、环境变量、systemd、TLS。 |
| 配置参考 | 配置 | 完整的环境变量级联关系与默认值。 |
| HTTP 传输 | 协议 | 可流式 HTTP、会话、CORS、Accept 标头。 |
| 认证与写入 | 安全 | 产品 API 密钥与钱包;资金支持。 |
| SDK 关系 | 集成 | MCP 对 @veyanet/sdk 和产品 API 的调用内容。 |
| 付费调用守卫 | 可选功能 | VEYA 策略下的付费 x402 调用,在 Solana 上验证并记录到 Robinhood Chain。 |
| 更新日志 | 历史 | 软件包版本历史。 |
| 安全策略 | 安全 | 漏洞披露与密钥管理规范。 |
❓ 常见问题(FAQ)
1. 试用 VEYA MCP 需要 API 密钥吗?
不需要,公共工具(veya_describe、veya_ping_chain、veya_hash_blake3、veya_verify_transaction、veya_api_health)无需密钥。产品环境和链上写入需要从产品网站获取 veya_dev_ / veya_live_ 密钥。链上写入还需要您自己的已注资钱包。
2. MCP 会存储或向客户端传输我的私钥吗?
不会,工具结果和 /health 中都不会包含私钥。如果您将 payerPrivateKey 传递给公共 HTTP URL,该主机将在调用期间持有此密钥——建议自行托管,并使用 VEYA_PAYER_PRIVATE_KEY。切勿使用主网密钥。
3. 什么是 Veya.sol?
Veya.sol 是一种协议合约,用于环境、Agent、承诺、支出限额(wei)、空值符和证明。
4. 什么是密封执行?
服务信息中提到使用 AES-256-GCM 密封节点加密(软件进程边界)。
5. MCP 与 @veyanet/sdk 有何不同?
SDK 是供您导入的 TypeScript 库。MCP 是一种网络服务,它通过 Streamable HTTP 将所选 SDK 功能作为 MCP 工具公开,方便 Agent 粘贴 URL。
6. 如何连接?
粘贴 https://mcp.veyanet.tech/mcp。共识和密封容量属于产品 API(https://api.veyanet.tech)。TypeScript 项目可从 npm 使用 @veyanet/sdk。
7. 如果 Robinhood RPC 宕机,会发生什么?
veya_ping_chain 和验证工具会因传输 / RPC 错误而失败。请分别检查 https://mcp.veyanet.tech/health 和 Robinhood RPC。
8. 可以将此服务指向其他链 ID 吗?
使用 ROBINHOOD_NETWORK 选择 Mainnet 或 Testnet。请勿将 RPC 指向与配置文件不同的链。SDK 写入会拒绝此类不匹配。本代码树中的默认配置文件为 Mainnet。
🤝 贡献与安全指南
贡献标准
欢迎为 @veyanet/mcp 贡献代码。拉取请求必须维护安全完整性:
- 使用自有钱包写入:如果调用方拥有产品 API 密钥,请勿通过托管中继器发送链上交易;
msg.sender必须是用户的钱包。 - 密钥卫生:拒绝会记录
apiKey、payerPrivateKey或将.env内容写入文档的更改。 - SDK 边界:优先调用
@veyanet/sdk,不要在工具处理程序中重新实现哈希、验证或EvmAnchor。
漏洞披露政策
如果您发现安全漏洞,请勿提交公开的 GitHub issue。 请将发现的问题保密发送至 [email protected]。详情请参阅我们的安全政策。
📄 许可证
此软件包采用 MIT 许可证授权。法律详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。