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 yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:4b2159c02c31ef4aef404b8ecda5eafedd150f466deabb0c3531b2e2ddf4ebb8 | sha256sum