# Tereno on Base (remote · www.tereno.xyz)

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

- Trust score: 62/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-07

## Components

- remote · `www.tereno.xyz`: 62/100 (this document), [markdown](https://verifymcp.io/servers/xyz-tereno-tereno/api-mcp.md), [page](https://verifymcp.io/servers/xyz-tereno-tereno/api-mcp)
- npm · `tereno-mcp`: 39/100, [markdown](https://verifymcp.io/servers/xyz-tereno-tereno/tereno-mcp.md), [page](https://verifymcp.io/servers/xyz-tereno-tereno/tereno-mcp)

## Channel facts

- Endpoint: `https://www.tereno.xyz/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.3`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-07.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 13 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 60/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1726 tokens (~132/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 10/100
  - Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http xyz-tereno-tereno https://www.tereno.xyz/api/mcp
```

### Codex

```toml
[mcp_servers.xyz-tereno-tereno]
url = "https://www.tereno.xyz/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "xyz-tereno-tereno": {
      "type": "remote",
      "url": "https://www.tereno.xyz/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add xyz-tereno-tereno --url https://www.tereno.xyz/api/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  xyz-tereno-tereno:
    url: "https://www.tereno.xyz/api/mcp"
```

### Other

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

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-07 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-06 (score 61, 0)

- [security] Tool “evidence_artifact” rewrote its description, which is the text the model reads
- [security] Tool “token_metadata” rewrote its description, which is the text the model reads
- [security] Tool “transaction_intent_guard” rewrote its description, which is the text the model reads
- [security] Tool “web_compile” rewrote its description, which is the text the model reads
- [security] Tool “contract_interface” rewrote its description, which is the text the model reads
- [security] Tool “contract_change” rewrote its description, which is the text the model reads
- [security] Tool “contract_guard” rewrote its description, which is the text the model reads
- [security] Tool “chain_snapshot” rewrote its description, which is the text the model reads

### 2026-08-05 (score 61, +1)

- [functional improvement] Stability: unverified → 0.03
- [functional] New tool “tereno_evidence_reference”

### 2026-08-04 (score 60)

First indexed and scored.

## MCP tools (13)

### `tereno_catalog` (~52 tokens)

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` (~137 tokens)

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.

Input parameters:

- `address` (string): Base contract address, for the capabilities that take one.
- `artifactId` (string): Artifact id, for evidence.artifact.
- `capability` (string, required): Capability id, for example token.metadata or contract.guard.
- `url` (string): Public page URL, for web.compile.

### `tereno_receipt` (~78 tokens)

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.

Input parameters:

- `invocationId` (string, required): Invocation id from a receiptUrl.

### `tereno_evidence_reference` (~128 tokens)

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.

Input parameters:

- `artifactId` (string, required): Public Tereno artifact id received from another agent.
- `channel` (string): Optional lowercase channel label, e.g. mcp or dex-bot.
- `installationId` (string): Stable opaque id for this receiving installation; do not use a wallet or secret.

### `contract_guard` (~108 tokens)

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.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.

Input parameters:

- `address` (string, required): Base contract address to check.

### `contract_change` (~153 tokens)

Did this token's contract change under you?

Did this token's contract change under you? Compare a Base contract with its previous Tereno observation to catch a silent proxy upgrade, an admin swap, a bytecode change or a freshly paused contract, each answer stating the block it stops being valid at. Paid per call with x402 on Base: $0.01 to $0.02 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.

Input parameters:

- `address` (string, required): Base token or contract address to compare against its previous observation. Poll it on a watchlist: the answer states the block it stops being valid at.

### `contract_interface` (~137 tokens)

What standard does this Base contract implement?

What standard does this Base contract implement? Detect ERC-20, ERC-721, ERC-1155 and ERC-165 support plus EIP-1967 proxy control slots in one bounded check. Paid per call with x402 on Base: $0.01 to $0.02 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.

Input parameters:

- `address` (string, required): Base contract address to probe for ERC-20, ERC-721, ERC-1155, ERC-165 and proxy patterns.

### `token_metadata` (~118 tokens)

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.

Input parameters:

- `address` (string, required): Base token contract address to read name, symbol, decimals and total supply from.

### `chain_snapshot` (~95 tokens)

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.01 to $0.02 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.

### `evidence_artifact` (~122 tokens)

Can this public Tereno artifact be reused?

Can this public Tereno artifact be reused? Return machine-readable provenance, field validity and recomputation inputs for a shared Base artifact. Paid per call with x402 on Base: $0.01 to $0.03 USDC depending on how much of the answer the network already has. Private: the response is never cached, shared or resold, and it can only describe work that was already public.

Input parameters:

- `artifactId` (string, required): Public reusable artifact id another agent returned to you. Expired artifacts are recomputed in place at the refresh price.

### `web_compile` (~140 tokens)

Turn a public web page into agent-ready Markdown

Turn a public web page into bounded, LLM-ready Markdown with resolved links, citations and a content-addressed artifact. Reuse the same fresh page instead of paying to fetch it again. 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.

Input parameters:

- `url` (string, required): Public HTTP(S) page to compile. Private and local targets are rejected.
- `wallet` (string, required): Base wallet that will sign the x402 payment.

### `transaction_intent_guard` (~157 tokens)

Is this transaction safe to sign?

Is this transaction safe to sign? Before signing on Base, classify transaction intent, simulate execution, estimate gas, infer standard balance and allowance deltas, flag a scam or unlimited approval that could drain your wallet, and inspect target changes and pause state. Paid per call with x402 on Base: $0.05 USDC. Private: never cached, shared or resold. Your unsigned transaction stays with the wallet that paid for it.

Input parameters:

- `data` (string): Unsigned calldata. Defaults to 0x.
- `from` (string, required): Unsigned transaction sender on Base.
- `to` (string, required): Unsigned transaction target on Base.
- `value` (string): Native ETH value in wei. Defaults to 0.

### `demand_pledge` (~85 tokens)

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.

Input parameters:

- `capability` (string, required): 2-64 character capability id, e.g. wallet-scam-classification.
- `wallet` (string, required): Your Base wallet; must later be the x402 payer.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/xyz-tereno-tereno/api-mcp#diagnostics

## Score history

- 2026-08-07: 62
- 2026-08-06: 61
- 2026-08-05: 61
- 2026-08-04: 60

## Links

- Remote endpoint: https://www.tereno.xyz/api/mcp
- Repository: https://github.com/tereno-xyz/tereno-mcp
- Website: https://www.tereno.xyz/
- Changelog RSS feed: https://verifymcp.io/servers/xyz-tereno-tereno/api-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/xyz-tereno-tereno/api-mcp.json
- HTML version of this page: https://verifymcp.io/servers/xyz-tereno-tereno/api-mcp
