tanilo-mcp
MCP server for Tanilo (formerly AgentOracle): connects MCP clients to the Tanilo API. npm package: agentoracle-mcp.
Install / Use
claude mcp add TKCollective -- npx -y github:TKCollective/tanilo-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of tanilo-mcp
tanilo-mcp scores 75/100 on our quality scale, 3690th of 4,588 Development & Engineering skills we index.
Its MCP Server is 5.6 KB long, well organised into 10 sections with 5 code examples: a solid amount of guidance for an agent.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 2 days ago, so tanilo-mcp is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
tanilo-mcp compared with similar skills
All 4 of these similar skills score higher than tanilo-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| tanilo-mcp (this skill)by TKCollective | 75 | 3 | 2d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 95.7k | 3d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 75.0k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.3k | today | CLAUDE.md |
| ai-job-searchby MadsLorentzen | 100 | 46.0k | 2d ago | CLAUDE.md |
Frequently asked questions
- How do I install tanilo-mcp?
- Run
claude mcp add TKCollective -- npx -y github:TKCollective/tanilo-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does tanilo-mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is tanilo-mcp safe to use?
- It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is tanilo-mcp still maintained?
- The repository was last updated 2 days ago, so tanilo-mcp is actively maintained.
Skill content
View source on GitHubTanilo 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
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:
{
"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:
{
"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 against the key set at https://tanilo.io/.well-known/jwks.json:
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-verifyas above.
Development
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 — site and documentation
- tanilo.io/docs/contract-price-check — the check this server exposes
- tanilo.io/trust — keys, and what a signature does and does not establish
- tanilo-receipt-spec — the receipt format
- tanilo-receipt-verify — offline signature check
Contact: joe@tanilo.io
MIT licensed. TK Collective LLC.
Related Skills
Agent-Reach
95.7kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
75.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.3kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
ai-job-search
46.0kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
