Skip to main content
ClaudeWave

MCP server for Tanilo (formerly AgentOracle): connects MCP clients to the Tanilo API. npm package: agentoracle-mcp.

MCP ServersRegistry oficial3 estrellas0 forks● TypeScriptMITActualizado today
ClaudeWave Trust Score
95/100
✓ Verified
Passed
  • ✓Open-source license (MIT)
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Topics declared
  • ✓Documented (README)
Last scanned: 10/9/2026
Install in Claude Code / Claude Desktop
Method: NPX · tanilo-mcp
Claude Code CLI
claude mcp add tanilo-mcp -- npx -y tanilo-mcp
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "tanilo-mcp": {
      "command": "npx",
      "args": ["-y", "tanilo-mcp"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Casos de uso

Resumen de MCP Servers

# Tanilo MCP server

An MCP server that connects Claude Desktop, Cursor, Windsurf or any other MCP client to the Tanilo API at `https://api.tanilo.io`.

Tanilo checks the premise before an AI agent acts. This server exposes one check, the contract price check, and two status documents. The routes it calls are live in free beta, rate-limited, no key needed. The server holds no secrets and makes no payments.

Tanilo was AgentOracle until September 2026. Versions up to 2.1.2 were published as `agentoracle-mcp`; that package is no longer maintained.

This README describes version 3.0.0. The outputs below were captured on 2026-10-08 by running the tools against the live API.

---

## Install

```bash
npx tanilo-mcp
```

### Claude Desktop

Open your Claude Desktop config file:

**Mac:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

Add this and restart Claude Desktop:

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

Cursor (Settings → MCP → Add Server) and Windsurf (Settings → MCP Servers → Add) take the same `tanilo` block.

---

## Tools

### `check-contract-price`

Does this offer match the terms you supplied? Before an agent accepts an offer, `contract_price_match` compares the offer's unit price with the applicable term among the terms you supply, and signs the result when signing succeeds.

No model is involved: the result is arithmetic and exact comparison, and anyone holding the same input can recompute it. You supply the terms; Tanilo does not hold or look up your contracts. Three results: verified, contradicted, or indeterminate with a reason. A verified result says the price matches the supplied term. Whether to pay is your policy's decision.

Input: `offer` (`unit_price`, `currency`, `unit`, and optionally `quantity`, `seller`, `sku`, `offered_at`) and `terms` (a list; each has `agreement_id`, `version`, `currency`, `unit`, and either `price_per_unit` or `tiers`, plus optional `seller`, `product_scope`, `effective_from`, `effective_to`, `supersedes`). Prices and quantities are decimal strings such as `"2.00"`. The full input rules, tiers and amendments are at https://tanilo.io/docs/contract-price-check.

The tool returns the check result and the signed receipt. Captured live on 2026-10-08 for the docs example (an offer of USD 2.00 per call against a supplied term of USD 1.00 per call), trimmed:

```json
{
  "verdict": "halt",
  "state": "contradicted",
  "outcome": "fail",
  "reason": "price_mismatch",
  "recommendation": "offer price differs from the applicable term among the supplied terms",
  "evidence": {
    "rule_id": "contract-price-match/v0.1",
    "terms_source": "caller_supplied",
    "expected": { "price_per_unit": "1.00", "currency": "USD", "unit": "call" },
    "offered": { "unit_price": "2.00", "currency": "USD", "unit": "call", "quantity": "1" },
    "difference_per_unit": "1.00",
    "offer_is": "above_term_price"
  },
  "check_mode": "deterministic",
  "canonical_sha256": "sha256-…",
  "kid": "tanilo-2026-10-ed25519-7d885da9",
  "jwks_url": "https://tanilo.io/.well-known/jwks.json",
  "receipt": { "payload": "…", "signatures": [ … ] }
}
```

With `"terms": []` the same offer gives `state` `indeterminate`, `reason` `no_applicable_term`, `verdict` `halt`.

A valid signature shows which key signed these bytes and that they have not changed since. It does not show that the supplied terms were genuine. Check the signature offline with [`tanilo-receipt-verify`](https://github.com/TKCollective/tanilo-receipt-verify) against the key set at `https://tanilo.io/.well-known/jwks.json`:

```bash
pip install tanilo-receipt-verify
python3 -c "import json; from tanilo_receipt_verify import verify; r = verify(json.load(open('receipt.json')), jwks_by_issuer={'https://tanilo.io/.well-known/jwks.json': json.load(open('jwks.json'))}); print(r.status, r.canonical_sha256)"
```

where `receipt.json` holds the tool's `receipt` object and `jwks.json` the key set.

### `check-health`

Returns the API's status document (`GET /health`): service status, the live routes and their prices, the retired routes, and rate limits.

### `get-manifest`

Returns the API's discovery document (`GET /.well-known/x402-manifest.json`). It lists no payable resources: the paid research routes were retired on 2026-10-04.

---

## What this server does not do

- It has no tool for Tanilo's claim check (`POST /evaluate`) yet. The route is free during the beta and can be called directly; see https://tanilo.io/pricing.
- It does not pay for anything, hold a wallet, or read any key. The x402 payment code of earlier versions is gone.
- It does not verify signatures itself; use `tanilo-receipt-verify` as above.

## Development

```bash
npm install
npm run build
npm test          # starts the built server over stdio and calls the live API (free beta route)
```

Set `TANILO_PYTHON` to a Python that has `tanilo-receipt-verify` installed and the test also verifies the returned receipt's signature offline. Set `TANILO_API_BASE` to point the server at another host (tests only).

---

## Links

- [tanilo.io](https://tanilo.io) — site and documentation
- [tanilo.io/docs/contract-price-check](https://tanilo.io/docs/contract-price-check) — the check this server exposes
- [tanilo.io/trust](https://tanilo.io/trust) — keys, and what a signature does and does not establish
- [tanilo-receipt-spec](https://github.com/TKCollective/tanilo-receipt-spec) — the receipt format
- [tanilo-receipt-verify](https://github.com/TKCollective/tanilo-receipt-verify) — offline signature check

Contact: joe@tanilo.io

MIT licensed. TK Collective LLC.
agent-toolsai-agentsclaim-verificationmcpmcp-serververification

Lo que la gente pregunta sobre tanilo-mcp

¿Qué es TKCollective/tanilo-mcp?

+

TKCollective/tanilo-mcp es mcp servers para el ecosistema de Claude AI. MCP server for Tanilo (formerly AgentOracle): connects MCP clients to the Tanilo API. npm package: agentoracle-mcp. Tiene 3 estrellas en GitHub y su última actualización registrada es del 2026-10-08.

¿Cómo se instala tanilo-mcp?

+

Puedes instalar tanilo-mcp clonando el repositorio (https://github.com/TKCollective/tanilo-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar TKCollective/tanilo-mcp?

+

Nuestro agente de seguridad ha analizado TKCollective/tanilo-mcp y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene TKCollective/tanilo-mcp?

+

TKCollective/tanilo-mcp es mantenido por TKCollective. La última actividad registrada en GitHub es del 2026-10-08, con 1 issues abiertos.

¿Hay alternativas a tanilo-mcp?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega tanilo-mcp en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: TKCollective/tanilo-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/tkcollective-tanilo-mcp)](https://claudewave.com/repo/tkcollective-tanilo-mcp)
<a href="https://claudewave.com/repo/tkcollective-tanilo-mcp"><img src="https://claudewave.com/api/badge/tkcollective-tanilo-mcp" alt="Featured on ClaudeWave: TKCollective/tanilo-mcp" width="320" height="64" /></a>

Más MCP Servers

Alternativas a tanilo-mcp