VEYA MCP
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Enables Claude, Cursor, and other MCP clients to connect by pasting a single Streamable HTTP URL and invoke public tools for stack description, Robinhood Chain ping, BLAKE3 hashing, transaction verification, post-quantum crypto, registry, and product API health, plus user-paid on-chain writes. Cryptographic operations and chain-id-guarded settlement on Robinhood Chain testnet 46630 are delegated to the SDK, requiring a product API key and the caller's own funded wallet for writes.
| Author | veyanet |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 159 ms |
| Last measured | 2026-10-25 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"VEYA MCP": {
"url": "https://mcp.veyanet.tech/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (54)
veya_describeService info: AES-256-GCM sealed execution and the selected settlement profile
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_ping_chainPing Robinhood Chain RPC — chain id, block, contract
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_hash_blake3Compute BLAKE3 hex digest (commitment helper)
Parameters:
data(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_verify_transactionVerify a Veya.sol commitment from a Robinhood Chain tx hash
Parameters:
txHash(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_api_healthCheck the VEYA API /health status (api.veyanet.tech), including fleet status
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_proveProve text, canonical JSON, or a receipt hash. Anchor writes only when a product API key and a payer key are passed.
Parameters:
json— stringtext— stringanchor— booleanapiKey— stringtxHash— stringenvironmentId— stringpayerPrivateKey— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_seal_decisionSeal an evidence id and a decision. attestExecution is sent only when a payer key is passed, or when this host's seal-decision relayer switch is on. On Mainnet pass environmentId or set VEYA_SEAL_DECISION_ENVIRONMENT_ID. Without either, the result is SEAL_ENVIRONMENT_REQUIRED and nothing is sent.
Parameters:
evidenceId(required) — stringdecision(required) — stringapiKey— stringenvironmentId— stringpayerPrivateKey— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_pq_keygenGenerate an ML-DSA-44 post-quantum identity keypair (local, no chain write)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_pq_signSign UTF-8 text with ML-DSA-44
Parameters:
message(required) — stringprivateKeyHex(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_pq_verifyVerify an ML-DSA-44 signature over UTF-8 text
Parameters:
message(required) — stringsignatureHex(required) — stringpublicKeyHex(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_run_consensusRun 2-of-3 BLAKE3 consensus on this server's validator list. Needs a product API key. Returns consensus_reached: false if validators are unreachable.
Parameters:
taskId(required) — stringapiKey— stringpayload— object
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_sealed_executeAES-256-GCM protected execution on this server's sealed node. Needs a product API key. The call fails closed when that capacity is unreachable.
Parameters:
environmentId(required) — stringagentId(required) — stringeventType(required) — stringpayload(required) — objectsessionEntropyHex(required) — stringapiKey— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_set_tool_policyAllow or deny a tool for an agent. Requires the API key that owns the environment. Saved on that account.
Parameters:
environmentId(required) — stringagentId(required) — stringtool(required) — stringallowed(required) — booleanapiKey— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_route_messageCheck the saved tool rule for this API key before routing. Deny stays deny.
Parameters:
environmentId(required) — stringid(required) — stringfromAgent(required) — stringtoAgent(required) — stringtool(required) — stringapiKey— stringpayload
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_route_secure_messageCheck the saved tool rule for this API key, then wrap an allowed message in a Kyber-768 session and an ML-DSA-44 signature.
Parameters:
environmentId(required) — stringid(required) — stringfromAgent(required) — stringtoAgent(required) — stringtool(required) — stringsenderPrivateKeyHex(required) — stringsenderPublicKeyHex(required) — stringapiKey— stringpayload
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_verify_secure_messageVerify ML-DSA signature on a secure routed message envelope
Parameters:
message(required) — objectsenderPublicKeyHex(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_store_memoryStore agent memory for the account behind this API key. No key, no write.
Parameters:
environmentId(required) — stringagentId(required) — stringdata(required) — stringapiKey— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_read_memoryRead one memory row owned by this API key.
Parameters:
environmentId(required) — stringid(required) — stringapiKey— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_invalidate_memoryNullify one memory row owned by this API key.
Parameters:
environmentId(required) — stringid(required) — stringapiKey— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_client_run_consensusDeprecated: use veya_run_consensus. Same server validator list. Needs a product API key.
Parameters:
taskId(required) — stringapiKey— stringpayload— object
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_pq_fingerprintBLAKE3 fingerprint of an ML-DSA public key hex
Parameters:
publicKeyHex(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_public_statsPublic registry stats from the product API (verified agents / proofs)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_public_list_agentsList public agent registry rows
Parameters:
limit— integeroffset— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_public_get_agentFetch one public agent by id
Parameters:
id(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_public_list_certificatesList public certificate / attestation rows
Parameters:
limit— integeroffset— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_public_get_certificateFetch one public certificate by id
Parameters:
id(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_public_get_executionFetch a public execution proof by id
Parameters:
id(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_verify_commitment_onchainParse Veya.sol events from a tx and eth_call commitments(digest) for each CommitmentStored
Parameters:
txHash(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_commitment_existseth_call Veya.sol commitments(bytes32) for a digest
Parameters:
digestHex(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_read_environment_onchainRead environment record from Veya.sol by 16-byte UUID hex
Parameters:
environmentUuidHex(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_read_agent_onchainRead agent record from Veya.sol by 16-byte UUID hex
Parameters:
agentUuidHex(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_guest_loginCreate a guest session on the product API (Use listing only). Guest cannot mint API keys or write from MCP.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_accountReturn the wallet bound to a product API key
Parameters:
apiKey— string — Product API key (veya_dev_… / veya_live_…). Mint on the product site. Guest JWT is not a write credential.sessionToken— string — Optional guest JWT for Use listing only. Prefer apiKey.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_list_environmentsList environments for a product API key (guest JWT sees showcase / Use scope only)
Parameters:
apiKey— string — Product API key (veya_dev_… / veya_live_…). Mint on the product site. Guest JWT is not a write credential.sessionToken— string — Optional guest JWT for Use listing only. Prefer apiKey.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_get_environmentGet one environment by id
Parameters:
environmentId(required) — stringapiKey— string — Product API key (veya_dev_… / veya_live_…). Mint on the product site. Guest JWT is not a write credential.sessionToken— string — Optional guest JWT for Use listing only. Prefer apiKey.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_create_environmentCreate a workspace in the product API. This does not spend gas and sends no transaction. Guests and non-keys are refused. type is stored for the API and defaults to research when omitted. Names that start with test, demo, tmp, sandbox, or e2e are refused. Use a real workspace name of at least 6 characters, or a name that starts with VEYA.
Parameters:
name(required) — stringtype— stringapiKey— string — Product API key (veya_dev_… / veya_live_…). Mint on the product site. Guest JWT is not a write credential.sessionToken— string — Optional guest JWT for Use listing only. Prefer apiKey.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_list_agentsList agents in an environment
Parameters:
environmentId(required) — stringapiKey— string — Product API key (veya_dev_… / veya_live_…). Mint on the product site. Guest JWT is not a write credential.sessionToken— string — Optional guest JWT for Use listing only. Prefer apiKey.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_deploy_agentCreate an agent in a workspace. This does not spend gas and sends no transaction. Limit the agent with permissionConfig.allowedTools. If allowedTools is omitted, the agent cannot call a tool. type is stored for the API and defaults to coordination when omitted.
Parameters:
environmentId(required) — stringtype— stringapiKey— string — Product API key (veya_dev_… / veya_live_…). Mint on the product site. Guest JWT is not a write credential.agentKind— stringsessionToken— string — Optional guest JWT for Use listing only. Prefer apiKey.permissionConfig— object
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_list_api_memoryList memory entries via product API for an environment
Parameters:
environmentId(required) — stringscope— stringapiKey— string — Product API key (veya_dev_… / veya_live_…). Mint on the product site. Guest JWT is not a write credential.sessionToken— string — Optional guest JWT for Use listing only. Prefer apiKey.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_list_executionsList executions for an environment via product API
Parameters:
environmentId(required) — stringapiKey— string — Product API key (veya_dev_… / veya_live_…). Mint on the product site. Guest JWT is not a write credential.sessionToken— string — Optional guest JWT for Use listing only. Prefer apiKey.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_run_protected_executionRun protected execution via product API (Build). Product API key required.
Parameters:
environmentId(required) — stringagentId(required) — stringeventType(required) — stringpayload(required) — objectseal— arrayapiKey— string — Product API key (veya_dev_… / veya_live_…). Mint on the product site. Guest JWT is not a write credential.disclose— arraysessionToken— string — Optional guest JWT for Use listing only. Prefer apiKey.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_boundnet_invokeInvoke a Boundnet / coordination tool via product API (policy gated)
Parameters:
environmentId(required) — stringagentId(required) — stringtoolName(required) — stringapiKey— string — Product API key (veya_dev_… / veya_live_…). Mint on the product site. Guest JWT is not a write credential.arguments— objectsessionToken— string — Optional guest JWT for Use listing only. Prefer apiKey.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_list_proofsList Use-mode proof anchors for the account
Parameters:
apiKey— string — Product API key (veya_dev_… / veya_live_…). Mint on the product site. Guest JWT is not a write credential.sessionToken— string — Optional guest JWT for Use listing only. Prefer apiKey.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_anchor_proofAnchor a content proof on Veya.sol from YOUR wallet (apiKey + payerPrivateKey). Does not use the hosted relayer.
Parameters:
label(required) — stringcontent(required) — stringapiKey— string — Product API key (veya_dev_… / veya_live_…). Mint on the product site. Guest JWT is not a write credential.sessionToken— string — Optional guest JWT for Use listing only. Prefer apiKey.environmentId— stringpayerPrivateKey— string — User wallet private key that pays gas. Prefer VEYA_PAYER_PRIVATE_KEY on a self-hosted MCP.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_verify_proof_apiCheck a commitment or anchor transaction through the product API. A registration transaction is not a proof and returns NOT_VEYA_TX.
Parameters:
signature(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_writes_statusReports how on-chain writes work on this server: your own wallet sends them, the host relayer does not
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_store_commitmentWrite a 32-byte commitment to Veya.sol from YOUR wallet (apiKey + payerPrivateKey)
Parameters:
environmentUuidHex(required) — stringcommitmentHex(required) — stringapiKey— string — Product API key (veya_dev_… / veya_live_…). Required for on-chain writes.payerPrivateKey— string — User wallet private key that pays gas. Prefer VEYA_PAYER_PRIVATE_KEY on a self-hosted MCP.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_attest_executionattestExecution on Veya.sol from YOUR wallet with ML-DSA bytes
Parameters:
environmentUuidHex(required) — stringblake3HashHex(required) — stringmldsaSigHex(required) — stringapiKey— string — Product API key (veya_dev_… / veya_live_…). Required for on-chain writes.payerPrivateKey— string — User wallet private key that pays gas. Prefer VEYA_PAYER_PRIVATE_KEY on a self-hosted MCP.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_register_environmentregisterEnvironment on Veya.sol from YOUR wallet. Pass product environmentId to confirm the tx on the product API.
Parameters:
apiKey— string — Product API key (veya_dev_… / veya_live_…). Required for on-chain writes.envType— integerenvironmentId— stringpayerPrivateKey— string — User wallet private key that pays gas. Prefer VEYA_PAYER_PRIVATE_KEY on a self-hosted MCP.pqPubkeyHashHex— stringenvironmentUuidHex— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_register_pq_onchainGenerate ML-DSA identity and register environment + commitment on Veya.sol from YOUR wallet
Parameters:
apiKey— string — Product API key (veya_dev_… / veya_live_…). Required for on-chain writes.envType— integerpayerPrivateKey— string — User wallet private key that pays gas. Prefer VEYA_PAYER_PRIVATE_KEY on a self-hosted MCP.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_anchor_pq_attestationLink PQ identity hash to execution hash on Veya.sol from YOUR wallet
Parameters:
environmentUuidHex(required) — stringidentityHashHex(required) — stringexecutionHashHex(required) — stringapiKey— string — Product API key (veya_dev_… / veya_live_…). Required for on-chain writes.payerPrivateKey— string — User wallet private key that pays gas. Prefer VEYA_PAYER_PRIVATE_KEY on a self-hosted MCP.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_paid_discoverRead-only. List the resources this VEYA policy allows, with their input fields, a live quote (nothing is sent), the provider quote and total charged to your task budget for each resource, the per-call cap, task budget maximum and default, and a policy preview. Cannot pay.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_paid_callRun one paid x402 resource call through the VEYA policy gate. Needs your VEYA apiKey, your Solana key (solanaPrivateKey, pays the USDC) and your Robinhood Chain key (robinhoodPrivateKey, signs the VEYA record and pays its ETH gas). Keys are used in memory for this call only and never stored. Before anything is signed VEYA checks the apiKey, both keys, your USDC and ETH balances, and the policy (tool, host, resource, network, asset, payee, per-call cap, task budget, input). It then pays, verifies the Solana payment at finalized, runs a 2-of-3 validator check, records a commitment on Robinhood Chain from your address and saves the run to your VEYA account. Every refusal returns decision blocked, a stable code and payment: null. The kill switch is operator-only; callers cannot change it. Allow at least 120 s for the tool call timeout.
Parameters:
apiKey(required) — string — Your VEYA product API key (veya_dev_... or veya_live_...) from https://app.veyanet.tech (System -> API Keys). Every run is saved to this key's VEYA account.taskId(required) — string — Your task id. Calls with the same taskId share one task budget (per VEYA account).idempotencyKey(required) — string — Unique per intended payment (per VEYA account). Repeating it returns the same run and never pays again; use a new key for a new payment.input(required) — object — Input fields for the resource, exactly as listed by veya_paid_discover (string values only).url— string — Optional. Normally omit it and use resourceId; any URL outside the allowlist is blocked before payment.resourceId— string — A resource id from veya_paid_discover, e.g. tokens.asset-risk-summary.environmentUuid— string — Optional VEYA environment on Veya.sol to record under (yours, from veya_register_environment). Defaults to the VEYA paid-call environment shown by veya_paid_discover.solanaPrivateKey— string — Your own Solana wallet secret key (base58, or a JSON array of 64 numbers). It pays the USDC for this one call from your wallet. Used in memory only, never stored, logged or returned.taskBudgetAtomic— string — Optional task budget in USDC atomic units (6 decimals, 10000 = 0.01 USDC). Defaults to the policy budget; cannot exceed the policy maximum.robinhoodPrivateKey— string — Your own Robinhood Chain wallet private key (0x + 64 hex). It signs the VEYA record (storeCommitment on Veya.sol) and pays its small ETH gas, so the record comes from your address. Used in memory only, never stored, logged or returned.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
veya_paid_runRead your VEYA runs. Private to the account of the apiKey you pass; another key cannot read them. With runId: one run (state, payment, validators, Robinhood record, receipt). Without runId: the runs saved to your VEYA account. With resume=true: retries Solana verification, the 2-of-3 validator check or the Robinhood record for an unfinished run; pass robinhoodPrivateKey to sign the record. Never pays.
Parameters:
apiKey(required) — string — Your VEYA product API key (veya_dev_... or veya_live_...) from https://app.veyanet.tech (System -> API Keys). Every run is saved to this key's VEYA account.runId— string — Run id returned by veya_paid_call. Omit to list your runs.resume— boolean — Retry the unfinished steps of this run. Never pays again.robinhoodPrivateKey— string — Your own Robinhood Chain wallet private key (0x + 64 hex). It signs the VEYA record (storeCommitment on Veya.sol) and pays its small ETH gas, so the record comes from your address. Used in memory only, never stored, logged or returned.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.