# token-oracle — Token Trust Oracle

> Flags fake/mismatched token contract addresses and hallucinated supply figures before you trade.

- name: io.github.julian-martin89/token-oracle
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 76/100 flags: no-repository
- quality: 76/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.julian-martin89%2Ftoken-oracle
- tools: https://api.protogrid.dev/v1/servers/io.github.julian-martin89%2Ftoken-oracle/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "token-oracle": {
      "type": "http",
      "url": "https://token-oracle.fly.dev/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 99
- freshness: 100
- provenance: 35
- drivers: +reachable +uptime-98% +updated-13d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 76/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 64 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: verify_token (readOnlyHint, destructiveHint, idempotentHint, openWorldHint)
- pass `tools.token_cost`: about 473 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 1, about 473 tokens to load them all
- tool set hash: 39d4e8e31ef1a0ae7ae9045fef3573fa
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.julian-martin89/token-oracle.svg)](https://protogrid.dev/servers/io.github.julian-martin89/token-oracle)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://token-oracle.fly.dev/mcp (streamable-http, auth none, reachable true, uptime30d 0.98)

## Packages

_none_

## Tools (1)

- `verify_token`: Token Trust Oracle. Call this BEFORE trading against, writing code that references, or reporting figures about any token contract address you were not given directly by the user (one you generated, recalled, or inferred). This closes two separate failure modes: address-poisoning/impersonation (an address that doesn't actually match the token name everyone assumes it is), and tokenomics hallucination (LLMs are documented to get total supply, circulating supply, and other figures wrong more often than almost any other crypto data point). Checks the address has real contract bytecode, cross-references CoinGecko for an independent listing, and compares on-chain totalSupply() against CoinGecko's reported figures. Pass expectedSymbol when you believe you know what token this is — a mismatch is the strongest possible signal something is wrong. Returns a synthetic verdict: ALLOW (no issues found), WARN (proceed with caution — read the findings), or BLOCK (do not trust this address — likely not a contract at all, or doesn't match the token it claims to be). First 5 calls per caller are free; after that this tool requires x402 payment (USDC on Base) and will return a payment-required error with the amount and address to pay.
