Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,523Letters: 13Defects: 1,322counted 1 min ago
teppi

Server definition

Hash
sha256:4b2159c02c31ef4aef404b8ecda5eafedd150f466deabb0c3531b2e2ddf4ebb8
What it is
What a remote MCP server returned when asked what it offers: 5 tools

The blob, as servednamed by its sha256

{ "instructions": "Paid web research tools (research, fact-check, summarize, extract). Each call is paid in USDC with x402.", "tools": [ { "description": "Returns the main text of one public web page as clean markdown, unchanged and not summarized, up to 8,000 characters, as {url, markdown, truncated}, usually in 2 to 5 seconds. Use it when you need the page's own words; use bob_summarize for a short version. Pages that need a login cannot be read; long pages are cut at 8,000 characters and flagged truncated. Each call needs an x402 payment; if the page cannot be read or the URL is invalid, it fails and you are not charged.", "inputSchema": { "properties": { "url": { "description": "Public http or https address of the page to extract; private or local addresses are refused.", "title": "Url", "type": "string" } }, "required": [ "url" ], "title": "bob_extractArguments", "type": "object" }, "name": "bob_extract", "outputSchema": { "additionalProperties": true, "properties": { "markdown": { "description": "Main content of the page as markdown, up to 8,000 characters.", "type": "string" }, "truncated": { "description": "True if the page was longer than the cap.", "type": "boolean" }, "url": { "description": "The page that was read.", "type": "string" } }, "required": [ "url", "markdown" ], "type": "object" } }, { "description": "Checks one factual claim against the live web and returns {verdict, explanation, sources}, where verdict is supported, contradicted or unclear, usually in 4 to 9 seconds. Use it to verify a specific statement; use bob_research for open questions. Check one claim per call, phrased as a plain statement such as 'The Eiffel Tower is in Berlin'; split a compound claim into separate calls. Each call needs an x402 payment; if it cannot answer in time or the input is invalid, it fails and you are not charged.", "inputSchema": { "properties": { "claim": { "description": "The factual claim to check, 1 to 500 characters, written as a statement.", "title": "Claim", "type": "string" } }, "required": [ "claim" ], "title": "bob_factcheckArguments", "type": "object" }, "name": "bob_factcheck", "outputSchema": { "additionalProperties": true, "properties": { "explanation": { "description": "One or two sentences on why.", "type": "string" }, "sources": { "description": "Source URLs behind the verdict.", "items": { "type": "string" }, "type": "array" }, "verdict": { "description": "How the live web treats the claim.", "enum": [ "supported", "contradicted", "unclear" ], "type": "string" } }, "required": [ "verdict" ], "type": "object" } }, { "description": "Answers one open research question from the live web with a short written answer and source URLs, usually in 4 to 9 seconds. Use it for a synthesized answer; use bob_search for raw links or bob_factcheck to verify a claim. Works best with one specific question, e.g. 'How do facilitators settle x402 payments?'; several questions per call tend to get one blended answer. Returns {answer, sources}. Needs an x402 payment per call; if it cannot answer in time or the input is invalid, you are not charged.", "inputSchema": { "properties": { "q": { "description": "The research question to answer, 1 to 500 characters.", "title": "Q", "type": "string" } }, "required": [ "q" ], "title": "bob_researchArguments", "type": "object" }, "name": "bob_research", "outputSchema": { "additionalProperties": true, "properties": { "answer": { "description": "Short answer synthesized from the live web.", "type": "string" }, "sources": { "description": "Source URLs the answer rests on.", "items": { "type": "string" }, "type": "array" } }, "required": [ "answer" ], "type": "object" } }, { "description": "Runs a web search and returns ranked results as {query, results: [{title, url, snippet}]}. Use it for raw links to read yourself; use bob_research for a written answer. Plain phrases work as well as keywords; since and until (YYYY-MM-DD) limit results to a publish-date range, which suits recent news. Needs an x402 payment per call; if the search fails or finds nothing, you are not charged.", "inputSchema": { "properties": { "n": { "default": 5, "description": "How many results to return, 1 to 10. Default 5.", "maximum": 10, "minimum": 1, "title": "N", "type": "integer" }, "q": { "description": "The web search query, 1 to 500 characters.", "title": "Q", "type": "string" }, "since": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Optional. Only results published on or after this date, written YYYY-MM-DD, e.g. 2026-09-01.", "title": "Since" }, "until": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Optional. Only results published on or before this date, written YYYY-MM-DD.", "title": "Until" } }, "required": [ "q" ], "title": "bob_searchArguments", "type": "object" }, "name": "bob_search", "outputSchema": { "additionalProperties": true, "properties": { "published_between": { "description": "The since/until dates applied, if any.", "items": { "type": [ "string", "null" ] }, "type": "array" }, "query": { "description": "The query that was searched.", "type": "string" }, "results": { "description": "Ranked results.", "items": { "properties": { "snippet": { "description": "Short passage from the page.", "type": "string" }, "title": { "type": [ "string", "null" ] }, "url": { "type": "string" } }, "type": "object" }, "type": "array" } }, "required": [ "query", "results" ], "type": "object" } }, { "description": "Condenses one public web page into an 80-word summary with up to 4 key points, returned as {url, summary, key_points}, usually in 3 to 6 seconds. Use it when you want the gist; use bob_extract to get the page's own text instead. Pages that need a login cannot be read. Each call needs an x402 payment; if the page cannot be read in time or the URL is invalid, it fails and you are not charged.", "inputSchema": { "properties": { "url": { "description": "Public http or https address of the page to summarize; private or local addresses are refused.", "title": "Url", "type": "string" } }, "required": [ "url" ], "title": "bob_summarizeArguments", "type": "object" }, "name": "bob_summarize", "outputSchema": { "additionalProperties": true, "properties": { "key_points": { "description": "Key points from the page.", "items": { "type": "string" }, "type": "array" }, "summary": { "description": "About 80 words.", "type": "string" }, "url": { "description": "The page that was summarized.", "type": "string" } }, "required": [ "url", "summary" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:4b2159c02c31ef4aef404b8ecda5eafedd150f466deabb0c3531b2e2ddf4ebb8 | sha256sum