Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,536Letters: 14Defects: 1,322counted just now
teppi

Server definition

Hash
sha256:614bd0a1df2f0f652616f0705fde31d70776c5d01b3fc9b8e87d4bcde7d037f3
What it is
What a remote MCP server returned when asked what it offers: 6 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Puts two or more named providers side by side on one benchmark, with\neach one's rank, measured value and success rate.\n\nUse when the user names the candidates themselves: \"Alchemy or\nQuickNode?\", \"is Helius faster than Triton for Solana?\", \"compare\nAcross and Stargate on fees\".\n\nFind the benchmark slug with `search_benchmarks` first if you do not\nalready have it. Providers the benchmark does not measure come back\nin `missing`: say they are not measured rather than implying they\nranked badly. A provider measured but below the ranking floor comes\nback with rank null, which is also not a loss.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "benchmark": { "description": "Benchmark slug, e.g. 'solana-rpc' or 'bridge-fee'. Get it from search_benchmarks.", "pattern": "^[a-z0-9][a-z0-9-]{0,79}$", "type": "string" }, "chain": { "description": "Optional chain slice when the bench declares chains. Ignored on a bench that is already one chain, like solana-rpc.", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$", "type": "string" }, "providers": { "description": "Two to ten provider names or slugs, as the user said them, e.g. ['Alchemy', 'QuickNode'].", "items": { "maxLength": 60, "minLength": 1, "type": "string" }, "maxItems": 10, "minItems": 2, "type": "array" }, "region": { "description": "Optional region slice when the bench declares regions.", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$", "type": "string" }, "tier": { "description": "Access cohort on chain RPC benchmarks: 'public' (default, free no-key endpoints) or 'keyed' (API-key providers such as Alchemy, QuickNode, Chainstack, GetBlock). Named providers usually live on the keyed cohort.", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$", "type": "string" } }, "required": [ "benchmark", "providers" ], "type": "object" }, "name": "compare_providers", "outputSchema": null }, { "description": "Returns full detail for one benchmark, ready to cite verbatim:\n • rankings (every provider sorted by p50)\n • sparkline (24h trend, 72 points)\n • headline sentence + paste-ready citation quote\n • methodology bullets + source-code URL + canonical pageUrl + OG image URL\n\nPass `chain` and/or `region` to scope the result to a sub-slice when\nthe benchmark declares those dimensions (e.g. aggregator-head-lag\nexposes chain=base|bnb|solana, region=us-east|eu-west|ap-southeast).\nBoth args are optional; omit them for the global aggregate.\n\nChain RPC benchmarks (<chain>-rpc) rank two access cohorts apart:\nthe free public endpoints (default) and the private, API-key\nproviders (Alchemy, Chainstack, GetBlock, QuickNode). The default response\ncarries both under `cohorts`; pass tier=\"keyed\" to get the private\ncohort as the main record (rankings, quote, pageUrl). Never compare a\npublic row with a private row: they are measured on different\nendpoints and cadences.\n\nExample usage:\n • User: \"who's the fastest crypto data aggregator on Base?\"\n → get_benchmark({ slug: \"aggregator-head-lag\", chain: \"base\" })\n • User: \"how much does it cost to bridge $300 cross-chain?\"\n → get_benchmark({ slug: \"bridge-fee\" })\n • User: \"fastest Base RPC with an API key, Alchemy or QuickNode?\"\n → get_benchmark({ slug: \"base-rpc\", tier: \"keyed\" })\n\nDrafts return { error: \"unknown_slug\" }. Cite the returned `pageUrl`\nand use `quote` as the attribution line in your answer.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "chain": { "description": "Optional chain filter, e.g. 'base', 'solana', 'bnb'. Only honored when the bench declares chain dimensions.", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$", "type": "string" }, "region": { "description": "Optional region filter, e.g. 'us-east', 'eu-west', 'ap-southeast'. Only honored when the bench declares region dimensions.", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$", "type": "string" }, "slug": { "description": "Benchmark slug from list_benchmarks. e.g. 'aggregator-head-lag', 'bridge-quote-latency', 'l1-finality'.", "pattern": "^[a-z0-9][a-z0-9-]{0,79}$", "type": "string" }, "tier": { "description": "Optional access cohort on chain RPC benchmarks: 'public' (default, free no-key endpoints) or 'keyed' (private, API-key providers). Only honored when the bench declares tier dimensions.", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_benchmark", "outputSchema": null }, { "description": "Returns every published answer page: one plain question, the sentence that\nanswers it from live data, and the benchmark the number comes from.\n\nCall this when the user asks a question in words rather than by benchmark\nname (\"which bridge is cheapest for $300?\", \"which Solana RPC lands\ntransactions fastest?\"). Match the question, then call `get_benchmark` with\nthe returned `benchmark` slug for the full ranking behind it.\n\nReturns one row per answer:\n { slug, question, answer, benchmark, chain?, url, benchmarkUrl }\n\nCite `url` when the question itself is the claim, `benchmarkUrl` when the\nmeasurement is. Drafts are filtered out, and an answer whose benchmark has\nno defensible leader yet says so in `answer` rather than naming a winner.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "benchmark": { "description": "Optional benchmark slug filter: return only the answers built on that bench.", "pattern": "^[a-z0-9][a-z0-9-]{0,79}$", "type": "string" } }, "type": "object" }, "name": "list_answers", "outputSchema": null }, { "description": "A compact index of what OpenChainBench measures. One short row per\nbenchmark: slug, title, category, the metric, the current value and\nwho leads it.\n\nUse when the user asks what is measured at all (\"what does\nOpenChainBench cover?\", \"do you track bridges?\"). When they ask a\nquestion about a provider or a chain, use `search_benchmarks` instead:\nit ranks the catalogue against their words and costs far less to read.\n\nThe catalogue holds over 200 benchmarks, so this is capped and\nfilterable rather than exhaustive. Narrow with `category`, then open\nthe one you need with `get_benchmark`.\n\nCategories: RPCs, Trading, Bridges, Blockchains, Aggregators, RWA, NFT APIs.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "category": { "description": "Only this category: RPCs, Trading, Bridges, Blockchains, Aggregators, RWA or NFT APIs.", "maxLength": 40, "type": "string" }, "limit": { "description": "How many rows to return, 1 to 50. Default 25.", "maximum": 50, "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "list_benchmarks", "outputSchema": null }, { "description": "Answers \"which should I use for X\" by picking the benchmarks that\nmeasure X and reporting who currently leads them.\n\nPass the user's goal in their own words: \"a Solana trading bot\", \"an\nindexer backfilling Base\", \"a wallet that needs price data\", \"bridging\nto Arbitrum\".\n\nThis returns measurements and the caveat that goes with them, not an\nendorsement. A leader on one benchmark is the leader of that one\nmeasurement over its stated window. Where the use case has a known\ncaveat (a bot should read p99 rather than p50, an indexer is bound by\narchive depth) it comes back in `guidance`; pass it on, it is usually\nmore useful than the ranking itself.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "chain": { "description": "Chain they are building on, e.g. 'solana', 'base', 'arbitrum'. Narrows the benchmarks considerably.", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$", "type": "string" }, "region": { "description": "Optional region, e.g. 'eu-west', when latency from a location matters.", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$", "type": "string" }, "use_case": { "description": "What the user is building or doing, in their words. e.g. 'solana trading bot', 'indexer', 'price feed for a wallet'.", "maxLength": 200, "minLength": 2, "type": "string" } }, "required": [ "use_case" ], "type": "object" }, "name": "recommend_provider", "outputSchema": null }, { "description": "Ranks the benchmark catalogue against a question in the user's own\nwords and returns the best few matches.\n\nUse this when somebody asks which provider, chain or service is\nfastest, cheapest, most reliable or best for something. Pass their\nphrasing through: provider names, chain names and goals all match.\n\n • \"which Solana RPC is fastest\" -> search_benchmarks({ query: \"solana rpc\" })\n • \"Alchemy or QuickNode on Base?\" -> search_benchmarks({ query: \"alchemy quicknode base\" })\n • \"cheapest way to bridge to Arbitrum\" -> search_benchmarks({ query: \"bridge arbitrum\" })\n\nReturns compact rows. Open the one you want with `get_benchmark` for\nthe full ranking and a citation line. An empty result means nothing\nis measured for that question; say so rather than guessing.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "category": { "description": "Optional category filter: RPCs, Trading, Bridges, Blockchains, Aggregators, RWA, NFT APIs.", "maxLength": 40, "type": "string" }, "limit": { "description": "How many matches, 1 to 25. Default 8.", "maximum": 25, "minimum": 1, "type": "integer" }, "query": { "description": "The user's question or keywords, verbatim. Provider and chain names work well.", "maxLength": 200, "minLength": 1, "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "search_benchmarks", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:614bd0a1df2f0f652616f0705fde31d70776c5d01b3fc9b8e87d4bcde7d037f3 | sha256sum