Tereno on Base

xyz.tereno由 tereno.xyz 发布官方发布者v0.1.3更新于 Oct 24, 2026

Check a Base contract, transaction or web page before you act. Free pricing, paid per call in USDC.

已验证Streamable HTTP可网页运行网页搜索与抓取金融安全与监控

概览

AI 生成的概览

Tereno on Base 让助手免费查询价格与收据,并按次以 USDC 付费获取 Base 代币、合约与链上状态的答案。

可以做什么
查看能力目录,查询某次具体调用的参考价格与复用层级,并核对已结算调用实际收取的费用,全部免费且无需钱包。读取 Base 代币的名称、符号、精度与总供应量,获取最新区块、基础费用与建议 gas,并检查合约是否为可执行代码及是否存在代理或暂停信号。将其他代理给出的 artifactId 解析为生产者、有效期与复现输入,并提交自行计算的合约字节码指纹以成为播种者。为希望日后付费的能力登记免费的需求承诺。
适用场景
当助手在签名或与 Base 合约交互前需要可验证、带有效期边界的代币、合约或链上状态答案时使用;也适合在付费前先查看价格与复用层级。免费的目录、价格与收据工具即使没有支付配置也可使用。
运行要求
可作为本地 npm 包通过 npx 运行,也可作为远程端点供支持远程 MCP 的客户端连接。付费工具通过 x402 在 Base 上按次以 USDC 结算;在 stdio 下需对支付挑战签名并通过 HTTP 请求资源地址完成支付,因为 stdio 无法回传支付签名。可选环境变量:TERENO_WALLET、TERENO_BASE_URL、TERENO_TIMEOUT_MS、TERENO_EVIDENCE_INSTALLATION_ID。
安装前请注意
付费工具每次调用都会在 Base 上花费真实 USDC,应设定预算并先用 tereno_price 查询价格。该包本身不读取或存储私钥,但支付需要由 x402 客户端用你的钱包签名。提交字节码指纹免费且无需 gas,但会与链上状态重新比对,不匹配即作废。发现、评分、定价与全局缓存位于闭源后端,除交易意图检查外答案会在代理之间共享。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Tereno on Base,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/xyz.tereno%2Ftereno/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "tereno-on-base": {
      "type": "http",
      "url": "https://www.tereno.xyz/api/mcp"
    }
  }
}

README

[Tereno]

tereno-mcp

🛡️ Check before you act — an MCP server for Base, over x402

Ask what it costs before you pay for it. Free catalog, pricing and receipt tools work with no wallet and no signup; paid answers settle per call in USDC, and reusing an answer another agent already paid for costs less.


[npm version] [MCP] [Base] [x402]

[license] [no dependencies] [free tier]

bash
npx -y tereno-mcp

⚡ Why this exists

An agent that reads a contract, signs a transaction or scrapes a page is acting on information it cannot verify. Most tools answer what something is. None of them tell you how long that answer stays true.

tereno-mcp puts Tereno inside any MCP client. Every paid answer comes back with the evidence behind it, the limits of that evidence, and the block it stops being valid at.

  • No API key, no signup. The agent's wallet is the identity.
  • Price before payment. tereno_price tells you the cost and whether the answer already exists, without a wallet and without committing to anything.
  • Cheaper when shared. Deterministic answers are reused across agents: the first caller pays to compute, everyone after pays the reuse price.

🚀 Install

Add it to any MCP client — Claude Desktop, Claude Code, Cursor, Cline, Windsurf:

json
{  "mcpServers": {    "tereno": {      "command": "npx",      "args": ["-y", "tereno-mcp"]    }  }}

Restart the client. Nothing else to configure — the free tools work immediately.

🆓 Free, no wallet needed

ToolThe question it answers
📖 tereno_catalogWhat can Tereno answer, what does it cost, how long does each answer stay valid?
🏷️ tereno_priceWhat would this exact call cost right now — and does the answer already exist?
🧾 tereno_receiptWhat did a settled call actually charge: tier, list price, credit applied, price paid?

tereno_price is the one worth knowing about. It names the reuse tier out loud:

hit      another agent already paid to compute this and it is still freshpartial  the durable half survived; only the expired part is recomputedmiss     nothing to reuse — this call computes it, and the next asker pays less

💳 Paid per call

ToolPriceThe question it answers
🚦 transaction_intent_guard$0.005Is this safe to sign? Simulation, gas, balance and allowance deltas, unlimited-approval flags
🛡️ contract_guard$0.001–3Is this contract safe to interact with? (code, proxy, pause)
🕵️ contract_change$0.001–2Did it change since last look? (rug-pull-after-audit detector)
🪙 token_metadata$0.001–3What token is this, really? (name, symbol, decimals, supply)
🧬 contract_interface$0.001–2ERC-20? NFT? Proxy? One bounded probe
⛽ chain_snapshot$0.001–2Latest Base block, base fee and suggested gas, zero parameters
📄 web_compile$0.001–5Public URL → bounded Markdown with resolved links, citations and a reusable artifact
🔎 evidence_artifact$0.001–3Can this public artifact be reused? Provenance, field validity, recomputation input
🤝 demand_pledgefreeName a capability you would pay for. Credit only after the same wallet pays for it later

Calling a paid tool returns a 402 carrying the payment challenge in error.data.paymentRequired, the payable resource URL in error.data.resource, and the terms (network, asset, amount, payTo) in error.data.offer.

Over stdio you cannot pay by retrying the tool call. stdio has no headers in either direction, so there is nowhere for a PAYMENT-SIGNATURE to travel back through. Two ways to settle, both of which leave this package never touching a private key:

  • Pay the resource over HTTP. Sign error.data.paymentRequired with your x402 client and send the signed request to error.data.resource. It returns the same payload the tool would have, receipt included, billed once.
  • Use the remote server instead of this package. If your client supports remote MCP, point it at https://www.tereno.xyz/api/mcp. That transport does have headers, so signing the challenge and retrying the same tool call is the normal flow and everything stays inside MCP.

🔒 transaction_intent_guard is never cached, shared or resold. An unsigned transaction is intent, and it stays with the wallet that paid for it.

⚙️ Configuration

EnvDefaultPurpose
TERENO_WALLET—Base address announced before payment, so a challenge can be bound to the wallet that will settle it. Optional.
TERENO_BASE_URLhttps://www.tereno.xyzPoint at another Tereno deployment.
TERENO_TIMEOUT_MS45000Upstream request timeout.
TERENO_EVIDENCE_INSTALLATION_ID—Optional stable random id for this MCP installation. It is hashed only when resolving evidence received from another agent; never use a wallet or secret.

🔐 What this package does and does not do

It is a stdio transport in front of the hosted endpoint at /api/mcp. Messages are forwarded verbatim, so the tool list, the prices and the payment challenge all come from the same place an HTTP agent sees — and this package needs no release when a capability changes.

The one thing it translates is payment, and the translation is lossy in one direction. Over HTTP the challenge arrives in a response header and the caller retries with a PAYMENT-SIGNATURE header. stdio has neither, so the challenge is folded into the JSON-RPC error payload where a client can still reach it, while the signature has no way back in. That is why a paid call is settled against the resource URL rather than by retrying the tool, and why a client that speaks remote MCP should prefer the hosted endpoint.

No private key is ever read, stored or transmitted. There are no dependencies, and the whole thing is one readable file — read it before you let it run on your machine.

If your client supports remote MCP servers, skip this package and point it straight at https://www.tereno.xyz/api/mcp.

🌱 How it stays cheap — the cooperative layer

Tereno is a shared-cache coordination layer, not just an API. The first agent to pay for a given piece of verified work seeds it for the whole network; every later agent that reuses that answer pays less, and the seeder earns a small, non-transferable credit that discounts its own future calls.

Safety is a public good with a private cost. By making the first computation earn from every reuse, the network turns "I paid to check this contract" into "I lowered the price of checking it for everyone, and my own checks got cheaper."

The honest fine print: rewards are non-transferable credits, capped per artifact. They fund your agent's budget, they are not yield.

Discovery, scoring, reputation, pricing and the global cache live in the closed Tereno backend. This server and its SDK (tereno-client) are the public, open interface to it.

🤝 Support & community

🔗 Links

Live catalog · OpenAPI · MCP registry entry · plugin-tereno for ElizaOS · tereno-client SDK


tereno.xyz · Verdicts before signatures, for agents on Base.

来源:README.md,提交 bda500c

工具

10

tereno_catalog

What can Tereno answer, and what does it cost?

Free. The full capability catalog: what each one answers, its price tiers in USDC on Base, how long an answer stays valid, and whether it is shared or private. Read this before paying for anything.

无需输入参数。

tereno_price

What would this call cost right now?

Free. Indicative price and reuse tier for one specific input, without binding a quote or revealing a wallet. Returns hit when another agent already paid to compute this and it is still fresh, partial when only the durable half survives, miss when nothing is there to reuse. The gap between those tiers is what reuse is worth.

输入参数addressquestioncapability必填

tereno_receipt

Verify a Tereno receipt

Free. Look up what a settled invocation actually charged: capability, version, cache tier, list price, credit applied, price paid and whether it settled on chain. Use it to check that a call you or another agent paid for was billed the way it was quoted.

输入参数invocationId必填

tereno_evidence_reference

Read a portable Tereno evidence reference

Free. Resolve an artifactId another agent handed you: producer, validity window and the exact normalized input needed to reproduce it. Supply a stable opaque installationId to participate in the cross-agent reference experiment; it is hashed, deduplicated daily and never creates payment or credit.

输入参数channelartifactId必填installationId

tereno_publish

Publish work you already computed, and get it attested on-chain

Free, no payment and no gas. Submit a contract bytecode fingerprint you computed yourself. Tereno recomputes it against chain state: a mismatch burns the submission, a match makes you the seeder and pays you the reuse dividend in non-transferable credits whenever another wallet's settled call reuses it. Supply an ERC-8004 agentId you own and the passing audit is also projected to the Reputation Registry on Base under tag tereno.audit. No agentId yet? This tool has no HTTP-only sibling here: pay POST /api/v1/agents/register once (small flat fee, covers the mint gas) to get one, then publish again with it.

输入参数wallet必填address必填agentIdbytecodeHashbytecodeBytescomputedAtBlock必填registerIfMissing

token_metadata

What token is this?

What token is this? Read a Base token's name, symbol, decimals and total supply as one typed, cache-shared answer with block-level freshness. Paid per call with x402 on Base: $0.01 to $0.03 USDC depending on how much of the answer the network already has. Shared: reusing an answer another agent already paid for costs less, and the wallet that produced it earns a bounded credit.

输入参数address必填

chain_snapshot

What is the current state of Base?

What is the current state of Base? Latest block number, timestamp, base fee and suggested gas fees in a single cheap call — no parameters required. Paid per call with x402 on Base: $0.002 to $0.005 USDC depending on how much of the answer the network already has. Shared: reusing an answer another agent already paid for costs less, and the wallet that produced it earns a bounded credit.

无需输入参数。

contract_guard

Is this Base contract safe to interact with?

Is this Base contract safe to interact with? Check whether an address is executable code, detect common proxy and pause signals, and return a bounded action verdict. Paid per call with x402 on Base: $0.02 to $0.1 USDC depending on how much of the answer the network already has. Shared: reusing an answer another agent already paid for costs less, and the wallet that produced it earns a bounded credit.

输入参数address必填

prediction_evidence

Gather sourced machine-readable evidence supporting or contradicting a prediction market proposition

Returns current, sourced and machine-readable evidence supporting or contradicting a prediction-market proposition. Paid per call with x402 on Base: $0.01 to $0.05 USDC depending on how much of the answer the network already has. Shared: reusing an answer another agent already paid for costs less, and the wallet that produced it earns a bounded credit.

输入参数marketcontextquestion必填marketUrl

demand_pledge

Declare a capability you would pay for

Free market-signal pledge. It earns no credit now; a bounded non-transferable credit is released only if this same wallet later settles the named capability after it exists.

输入参数wallet必填capability必填

版本历史

1
  1. v0.1.3最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分