AgentIndex x402
What this MCP does
Provides MCP server discovery, web and PDF extraction, translation, summarization, and multi-query research jobs, including pay-per-call workflows.
Tools
Input schema
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Public agent, MCP or x402 endpoint URL to audit.'}, 'method': {'type': 'string', 'default': 'GET', 'description': 'HTTP method for the target endpoint; defaults to GET.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['url', 'origin', 'operational', 'verdict', 'score', 'latency_ms', 'target', 'x402', 'discovery', 'issues'], 'properties': {'url': {'type': 'string'}, 'x402': {'type': 'object'}, 'score': {'type': 'integer'}, 'issues': {'type': 'array', 'items': {'type': 'string'}}, 'origin': {'type': 'string'}, 'target': {'type': 'object'}, 'verdict': {'enum': ['operational', 'degraded', 'unreachable'], 'type': 'string'}, 'discovery': {'type': 'object'}, 'latency_ms': {'type': 'integer'}, 'operational': {'type': 'boolean'}, 'x402_receipt': {'type': 'object'}}}
Input schema
{'type': 'object', 'required': ['model', 'messages'], 'properties': {'model': {'type': 'string', 'description': 'OpenRouter model id from GET /v1/models, e.g. "openai/gpt-4o-mini".'}, 'messages': {'type': 'array', 'items': {}, 'description': 'OpenAI-format chat messages: [{role, content}, ...].'}, 'max_tokens': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Max completion tokens, capped at 4096 - also bounds the x402 upto price ceiling.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['choices', 'usage'], 'properties': {'id': {'type': 'string'}, 'model': {'type': 'string'}, 'usage': {'type': 'object'}, 'choices': {'type': 'array', 'items': {'type': 'object'}}, 'x402_receipt': {'type': 'object'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'amount': {'type': 'number', 'default': 0.001, 'description': 'USDC amount the agent plans to spend (default 0.001).'}, 'address': {'type': 'string', 'description': 'EVM wallet address (0xâ\x80¦) to check on Base mainnet.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['address', 'usdc', 'can_pay'], 'properties': {'eth': {'type': 'object'}, 'usdc': {'type': 'object'}, 'address': {'type': 'string'}, 'can_pay': {'type': 'boolean'}, 'network': {'type': 'string'}, 'x402_receipt': {'type': 'object'}, 'shortfall_usdc': {'type': 'number'}, 'amount_requested': {'type': 'number'}}}
Input schema
{'type': 'object', 'required': ['text', 'labels'], 'properties': {'text': {'type': 'string', 'description': 'Text to classify, up to 4000 characters.'}, 'labels': {'type': 'array', 'items': {'type': 'string'}, 'description': '2 to 20 candidate labels, your own choice of wording.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['label', 'probability', 'engine'], 'properties': {'label': {'type': 'string', 'description': 'The best-fitting label.'}, 'engine': {'enum': ['jev', 'fallback'], 'type': 'string', 'description': 'Which engine answered: Jev (primary) or the Groq-hosted LLM fallback.'}, 'probability': {'type': 'number', 'description': 'Confidence in `label`, 0 to 1.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}, 'alternate_label': {'type': ['string', 'null'], 'description': 'The second-best label, if any.'}, 'alternate_probability': {'type': ['number', 'null'], 'description': 'Confidence in `alternate_label`, if known.'}}}
Input schema
{'type': 'object', 'required': ['coins'], 'properties': {'coins': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': 'Coin tickers (btc, eth, sol) and/or CoinGecko ids. String, comma-separated string, or array. Up to 20.'}, 'vs_currency': {'type': 'string', 'default': 'usd', 'description': 'Fiat quote currency, default usd (also eur, gbp, ...).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['vs_currency', 'prices'], 'properties': {'prices': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'price': {'type': 'number'}, 'symbol': {'type': 'string'}, 'change_24h_pct': {'type': 'number'}}}}, 'vs_currency': {'type': 'string'}, 'x402_receipt': {'type': 'object'}}}
Input schema
{'type': 'object', 'required': ['state', 'questions'], 'properties': {'state': {'description': 'Shared context the questions are asked about - a string, or a JSON object/array. Capped at 8000 tokens.'}, 'questions': {'type': 'object', 'description': "Up to 20 typed questions, keyed by a name you choose. Each needs type ('noul', 'choice' or 'score'), instructions, and criteria (shape depends on type - see /decide/sample).", 'additionalProperties': True}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['answers'], 'properties': {'answers': {'type': 'object', 'description': 'One answer per question key, shaped by its type: noul (probability of yes), choice (selected option, per-option probabilities, confidence), or score (position, per-level probabilities, confidence, legend).'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}}}
Input schema
{'type': 'object', 'required': ['schema'], 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'URL to read and extract from. Provide this or text, not both.'}, 'text': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Raw text to extract from. Provide this or url, not both.'}, 'schema': {'type': 'object', 'description': "JSON Schema describing the fields to extract. The response's `data` field will strictly conform to it.", 'additionalProperties': True}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['data', 'missing_fields'], 'properties': {'data': {'type': 'object', 'description': "Extracted data, matching the requested schema's shape - fields the content doesn't support come back null rather than an invented value (see missing_fields)."}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}, 'missing_fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Top-level keys in data the model could not find in the content and returned as null.'}}}
Input schema
{'type': 'object', 'required': ['claim'], 'properties': {'claim': {'type': 'string', 'description': 'The factual claim to check against live web sources.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['claim', 'verdict', 'confidence', 'sources'], 'properties': {'claim': {'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'title': {'description': 'Source page title, when known.'}, 'stance': {'enum': ['supports', 'contradicts', 'neutral'], 'type': 'string'}}}}, 'verdict': {'enum': ['supported', 'contradicted', 'mixed', 'unverifiable', 'inconclusive'], 'type': 'string', 'description': "'inconclusive' is returned instead of a guess whenever confidence is low or no source clearly supports/contradicts the claim - never a confident-sounding verdict the sources don't actually back up."}, 'confidence': {'type': 'number', 'description': '0.0-1.0 confidence in the verdict.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}}}
Input schema
{'type': 'object', 'properties': {'network': {'type': 'string', 'default': 'base', 'description': 'EVM network to read; defaults to Base.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['network', 'block_number', 'gas_price', 'native_transfer_estimate'], 'properties': {'network': {'type': 'object'}, 'base_fee': {'type': ['object', 'null']}, 'gas_price': {'type': 'object'}, 'block_number': {'type': 'integer'}, 'x402_receipt': {'type': 'object'}, 'native_transfer_estimate': {'type': 'object'}}}
Input schema
{'type': 'object', 'required': ['user_request', 'tool_call'], 'properties': {'tool_call': {'type': 'object', 'description': 'The tool call an agent is about to make, e.g. {"name": ..., "arguments": {...}}.', 'additionalProperties': True}, 'user_request': {'type': 'string', 'description': "The user's original request, in their own words."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['decision', 'probability', 'probabilities'], 'properties': {'decision': {'enum': ['allow', 'ask', 'deny'], 'type': 'string'}, 'confidence': {'type': 'number'}, 'probability': {'type': 'number', 'description': 'Probability of the returned decision.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}, 'probabilities': {'type': 'object', 'description': 'Probability for each of allow/ask/deny.'}}}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Text to classify, up to 4000 characters.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['label', 'probability', 'engine'], 'properties': {'label': {'type': 'string', 'description': 'The best-fitting label.'}, 'engine': {'enum': ['jev', 'fallback'], 'type': 'string', 'description': 'Which engine answered: Jev (primary) or the Groq-hosted LLM fallback.'}, 'probability': {'type': 'number', 'description': 'Confidence in `label`, 0 to 1.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}, 'alternate_label': {'type': ['string', 'null'], 'description': 'The second-best label, if any.'}, 'alternate_probability': {'type': ['number', 'null'], 'description': 'Confidence in `alternate_label`, if known.'}}}
Input schema
{'type': 'object', 'required': ['subject'], 'properties': {'subject': {'type': 'string', 'description': 'Subject or question to research - a company, person, product, claim or topic.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['job_id', 'eta_seconds'], 'properties': {'job_id': {'type': 'string', 'description': 'Identifier to poll for status and fetch the finished result.'}, 'eta_seconds': {'type': 'integer', 'description': 'Estimated seconds until the research brief is ready.'}}}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Text to classify, up to 4000 characters.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['label', 'probability', 'engine'], 'properties': {'label': {'type': 'string', 'description': 'The best-fitting label.'}, 'engine': {'enum': ['jev', 'fallback'], 'type': 'string', 'description': 'Which engine answered: Jev (primary) or the Groq-hosted LLM fallback.'}, 'probability': {'type': 'number', 'description': 'Confidence in `label`, 0 to 1.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}, 'alternate_label': {'type': ['string', 'null'], 'description': 'The second-best label, if any.'}, 'alternate_probability': {'type': ['number', 'null'], 'description': 'Confidence in `alternate_label`, if known.'}}}
Input schema
{'type': 'object', 'required': ['messages'], 'properties': {'messages': {'type': 'array', 'items': {}, 'description': 'OpenAI-format chat messages: [{role, content}, ...].'}, 'max_tokens': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Max completion tokens, capped at 4096 - also bounds the price ceiling.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['choices', 'usage'], 'properties': {'id': {'type': 'string'}, 'model': {'type': 'string'}, 'usage': {'type': 'object'}, 'choices': {'type': 'array', 'items': {'type': 'object'}}, 'x402_receipt': {'type': 'object'}}}
Input schema
{'type': 'object', 'required': ['messages'], 'properties': {'messages': {'type': 'array', 'items': {}, 'description': 'OpenAI-format chat messages: [{role, content}, ...].'}, 'max_tokens': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Max completion tokens, capped at 4096 - also bounds the price ceiling.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['choices', 'usage'], 'properties': {'id': {'type': 'string'}, 'model': {'type': 'string'}, 'usage': {'type': 'object'}, 'choices': {'type': 'array', 'items': {'type': 'object'}}, 'x402_receipt': {'type': 'object'}}}
Input schema
{'type': 'object', 'required': ['messages'], 'properties': {'messages': {'type': 'array', 'items': {}, 'description': 'OpenAI-format chat messages: [{role, content}, ...].'}, 'max_tokens': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Max completion tokens, capped at 4096 - also bounds the price ceiling.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['choices', 'usage'], 'properties': {'id': {'type': 'string'}, 'model': {'type': 'string'}, 'usage': {'type': 'object'}, 'choices': {'type': 'array', 'items': {'type': 'object'}}, 'x402_receipt': {'type': 'object'}}}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'description': 'How many top stories to return (1-25, default 10).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['source', 'count', 'stories'], 'properties': {'count': {'type': 'integer'}, 'source': {'type': 'string'}, 'stories': {'type': 'array', 'items': {'type': 'object', 'properties': {'by': {'type': 'string'}, 'id': {'type': 'integer'}, 'url': {'type': 'string'}, 'time': {'type': 'integer'}, 'score': {'type': 'integer'}, 'title': {'type': 'string'}, 'comments': {'type': 'integer'}}}}, 'x402_receipt': {'type': 'object'}}}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Text to classify, up to 4000 characters.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['label', 'probability', 'engine'], 'properties': {'label': {'type': 'string', 'description': 'The best-fitting label.'}, 'engine': {'enum': ['jev', 'fallback'], 'type': 'string', 'description': 'Which engine answered: Jev (primary) or the Groq-hosted LLM fallback.'}, 'probability': {'type': 'number', 'description': 'Confidence in `label`, 0 to 1.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}, 'alternate_label': {'type': ['string', 'null'], 'description': 'The second-best label, if any.'}, 'alternate_probability': {'type': ['number', 'null'], 'description': 'Confidence in `alternate_label`, if known.'}}}
Input schema
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Public http(s) URL to probe for an x402 paywall.'}, 'method': {'type': 'string', 'default': 'GET', 'description': 'HTTP method to use (GET default, or POST).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['url', 'reachable', 'is_x402'], 'properties': {'url': {'type': 'string'}, 'pay_to': {'type': 'string'}, 'is_x402': {'type': 'boolean'}, 'network': {'type': 'string'}, 'reachable': {'type': 'boolean'}, 'price_usdc': {'type': 'number'}, 'http_status': {'type': 'integer'}, 'x402_receipt': {'type': 'object'}}}
Input schema
{'type': 'object', 'required': ['query', 'documents'], 'properties': {'query': {'type': 'string', 'description': 'The query to rank documents against.'}, 'documents': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to 50 documents to rank by relevance to the query. Each truncated to 2000 characters before scoring.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['documents'], 'properties': {'documents': {'type': 'array', 'items': {'type': 'object', 'properties': {'score': {'type': 'number', 'description': 'Relevance probability, 0-1.'}, 'document': {'type': 'string'}}}, 'description': 'Input documents, sorted by relevance score descending.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}}}
Input schema
{'type': 'object', 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Public HTTPS URL of a PDF file. Provide this or pdf_base64, not both.'}, 'pdf_base64': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Base64-encoded PDF file content. Provide this or url, not both.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['markdown', 'metadata', 'token_count'], 'properties': {'markdown': {'type': 'string', 'description': 'Extracted Markdown - headings and tables preserved via layout-aware parsing.'}, 'metadata': {'type': 'object', 'properties': {'date': {'description': 'Document creation date from PDF metadata, when present.'}, 'pages': {'type': 'integer', 'description': 'Number of pages in the PDF.'}, 'title': {'description': 'Document title from PDF metadata, when present.'}, 'author': {'description': 'Document author from PDF metadata, when present.'}}}, 'token_count': {'type': 'integer', 'description': 'Real BPE token count (cl100k_base) of the extracted markdown.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}}}
Input schema
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'URL of the page to read.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['url', 'markdown', 'token_count'], 'properties': {'url': {'type': 'string'}, 'title': {'description': 'Page title, when found.'}, 'markdown': {'type': 'string', 'description': 'Main article content as clean markdown - navigation, ads and boilerplate removed, links resolved.'}, 'token_count': {'type': 'integer', 'description': 'Real BPE token count (cl100k_base) of the markdown.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'The research question to answer, up to 500 characters.'}, 'max_sources': {'type': 'integer', 'default': 5, 'description': 'How many web sources to consider, 1-10. Default 5.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['query', 'answer', 'synthesis', 'sources', 'claims_verified', 'timing_ms'], 'properties': {'query': {'type': 'string'}, 'answer': {'type': 'string', 'description': '5-8 sentences, each claim cited inline as [n] referring to the sources array (1-indexed).'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'title': {'type': 'string'}, 'source': {'type': 'string'}, 'published_at': {'type': ['string', 'null']}}}}, 'synthesis': {'enum': ['llm', 'extractive'], 'type': 'string', 'description': "'llm' when a paid fast model wrote the answer (the common case). 'extractive' when that model missed its own tight time cap and the answer is instead the most relevant sentences already present in the sources, verbatim, picked by Jev - never a second LLM call."}, 'timing_ms': {'type': 'object', 'description': 'search, synthesis, verify, total, in milliseconds.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}, 'claims_verified': {'type': 'boolean', 'description': "True only if a Jev check confirmed the answer's citations are supported. False if unsupported OR if verification was skipped/timed out - see claims_verified_reason."}, 'claims_verified_reason': {'type': ['string', 'null'], 'description': "Why claims_verified is false: 'jev_found_unsupported_claim', 'verification_timed_out_or_failed', 'insufficient_time_budget_remaining', or null when verified true."}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': 'Search query, or an array of up to 5 related queries to run in one call - results are merged and de-duplicated by URL.'}, 'extract': {'type': 'boolean', 'default': True, 'description': 'Include the search-engine snippet for each result.'}, 'summarize': {'type': 'boolean', 'default': False, 'description': 'Also return a short synthesized answer summarizing the results.'}, 'max_results': {'type': 'integer', 'default': 5, 'description': 'Maximum number of results to return.'}, 'content_chars': {'type': 'integer', 'default': 12000, 'description': 'Maximum Markdown characters returned per fetched result page.'}, 'content_results': {'type': 'integer', 'default': 3, 'description': 'How many top result pages to fetch when include_content is true.'}, 'include_content': {'type': 'boolean', 'default': True, 'description': 'Fetch result pages and include clean full-page Markdown. Defaults to true.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['query', 'results'], 'properties': {'query': {'description': 'The query or queries that were searched.'}, 'results': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Source URL.'}, 'date': {'description': 'Publish date, when known.'}, 'title': {'type': 'string', 'description': 'Page title.'}, 'extract': {'type': 'string', 'description': 'Search-engine result snippet.'}, 'content_error': {'type': 'string', 'description': 'Per-result fetch error; other search results remain usable.'}, 'content_markdown': {'type': 'string', 'description': 'Clean full-page Markdown for fetched top results, with navigation and boilerplate removed.'}, 'content_truncated': {'type': 'boolean', 'description': 'True when content_markdown reached the requested character limit.'}}}, 'description': 'Ranked web results, most relevant first.'}, 'summary': {'description': 'Optional short synthesized answer summarizing the results, when requested.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}}}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Text to classify, up to 4000 characters.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['label', 'probability', 'engine'], 'properties': {'label': {'type': 'string', 'description': 'The best-fitting label.'}, 'engine': {'enum': ['jev', 'fallback'], 'type': 'string', 'description': 'Which engine answered: Jev (primary) or the Groq-hosted LLM fallback.'}, 'probability': {'type': 'number', 'description': 'Confidence in `label`, 0 to 1.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}, 'alternate_label': {'type': ['string', 'null'], 'description': 'The second-best label, if any.'}, 'alternate_probability': {'type': ['number', 'null'], 'description': 'Confidence in `alternate_label`, if known.'}}}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Text to classify, up to 4000 characters.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['label', 'probability', 'engine'], 'properties': {'label': {'type': 'string', 'description': 'The best-fitting label.'}, 'engine': {'enum': ['jev', 'fallback'], 'type': 'string', 'description': 'Which engine answered: Jev (primary) or the Groq-hosted LLM fallback.'}, 'probability': {'type': 'number', 'description': 'Confidence in `label`, 0 to 1.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}, 'alternate_label': {'type': ['string', 'null'], 'description': 'The second-best label, if any.'}, 'alternate_probability': {'type': ['number', 'null'], 'description': 'Confidence in `alternate_label`, if known.'}}}
Input schema
{'type': 'object', 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'URL to fetch and summarize. Provide exactly one of url, text or html.'}, 'html': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Raw HTML to summarize. Provide exactly one of url, text or html.'}, 'text': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Raw text to summarize. Provide exactly one of url, text or html.'}, 'length': {'type': 'string', 'default': 'medium', 'description': 'Requested summary length - short (~2 sentences), medium (~1 paragraph), long (~3-4 paragraphs). Defaults to medium.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['summary', 'length'], 'properties': {'length': {'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Source URL(s) the summary was drawn from, when a URL was given.'}, 'summary': {'type': 'string'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'ERC-20 contract address on Base to analyze (0x + 40 hex chars).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['address', 'verdict', 'bytecode_analysis', 'liquidity_analysis', 'holders_analysis'], 'properties': {'address': {'type': 'string'}, 'network': {'type': 'object'}, 'verdict': {'type': 'object', 'properties': {'reason': {'type': 'string', 'description': "Only present when verdict_source is 'rules'."}, 'verdict': {'enum': ['avoid', 'caution', 'acceptable'], 'type': 'string'}, 'confidence': {'type': ['number', 'null']}, 'probability': {'type': ['number', 'null']}, 'probabilities': {'type': ['object', 'null']}, 'verdict_source': {'enum': ['jev', 'rules'], 'type': 'string'}}, 'description': "avoid/caution/acceptable. verdict_source is 'jev' (a real Jev decision with a real probability) or 'rules' (deterministic mint/blacklist/pause/owner/liquidity check, probability/probabilities/confidence null) - used whenever Jev does not answer within 2 seconds, so the route always returns a verdict without ever waiting on an upstream with no SLA."}, 'timing_ms': {'type': 'object', 'description': "signals (bytecode+liquidity via Multicall3, and holders - run together, sharing a 2s window), verdict, total, in milliseconds. Total is never intended to exceed 4.0s: signal-gathering and the Jev-or-rules verdict are each bounded so their sum can't exceed that budget by construction, not because anything gets cancelled at the last moment - added 2026-09-28 after a real payment settled for an analysis whose client had already timed out."}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}, 'holders_analysis': {'type': 'object', 'description': "status: 'ok' (with distinct_holders/top10_pct_of_supply), 'skipped_established_token' (history too large to reconstruct in 1-2 eth_getLogs calls), or 'unavailable' (the 3-second per-stage budget was exceeded)."}, 'bytecode_analysis': {'type': 'object', 'description': 'mint/blacklist/pause/tax flags, proxy and ownership status.'}, 'liquidity_analysis': {'type': 'object', 'description': 'Uniswap v2/v3 and Aerodrome pools found, with reserves.'}}}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Text to classify, up to 4000 characters.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['label', 'probability', 'engine'], 'properties': {'label': {'type': 'string', 'description': 'The best-fitting label.'}, 'engine': {'enum': ['jev', 'fallback'], 'type': 'string', 'description': 'Which engine answered: Jev (primary) or the Groq-hosted LLM fallback.'}, 'probability': {'type': 'number', 'description': 'Confidence in `label`, 0 to 1.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}, 'alternate_label': {'type': ['string', 'null'], 'description': 'The second-best label, if any.'}, 'alternate_probability': {'type': ['number', 'null'], 'description': 'Confidence in `alternate_label`, if known.'}}}
Input schema
{'type': 'object', 'required': ['text', 'target_lang'], 'properties': {'text': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': 'Text to translate - a single string, or an array of up to 200 segments to translate together in one call (batch/bulk translation), preserving order and count.'}, 'source_lang': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Source language code. Omit to auto-detect.'}, 'target_lang': {'type': 'string', 'description': "Target language as an ISO 639-1 code, e.g. 'en', 'fr', 'ja'."}, 'preserve_format': {'type': 'boolean', 'default': True, 'description': 'Keep markdown syntax, HTML tags and {x}/{{x}} placeholders unchanged, translating only the surrounding natural-language text - useful for localizing UI strings or templated content.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['target_lang', 'translated_text'], 'properties': {'text': {'description': 'The original input text or segments.'}, 'target_lang': {'type': 'string'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt, including segments_processed for batch calls.'}, 'translated_text': {'description': 'Translated text - a string, or an array aligned with the input segments for batch requests.'}, 'detected_source_lang': {'description': 'Auto-detected source language, when not supplied.'}}}
Input schema
{'type': 'object', 'required': ['claim', 'source'], 'properties': {'claim': {'type': 'string', 'description': 'The factual claim to check.'}, 'source': {'type': 'string', 'description': 'The source text to check the claim against.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['verdict', 'probability', 'probabilities'], 'properties': {'verdict': {'enum': ['supported', 'contradicted', 'not_enough_info'], 'type': 'string'}, 'confidence': {'type': 'number'}, 'probability': {'type': 'number', 'description': 'Probability of the returned verdict.'}, 'x402_receipt': {'type': 'object', 'description': 'Billing and provenance receipt for this call.'}, 'probabilities': {'type': 'object'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'EVM wallet address (0x followed by 40 hexadecimal characters).'}, 'network': {'type': 'string', 'default': 'base', 'description': 'EVM network to read; aliases and CAIP-2 identifiers are also accepted.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['address', 'network', 'block_number', 'native', 'usdc'], 'properties': {'usdc': {'type': 'object'}, 'native': {'type': 'object'}, 'address': {'type': 'string'}, 'network': {'type': 'object'}, 'block_number': {'type': 'integer'}, 'x402_receipt': {'type': 'object'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'EVM wallet address to inspect across all selected networks.'}, 'networks': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Up to five networks; defaults to all supported EVM networks.'}, 'amount_usdc': {'type': 'number', 'default': 0.001, 'description': 'Amount to compare with the Base USDC balance for x402 readiness.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['address', 'requested_networks', 'successful_networks', 'rpc_reads_replaced', 'networks', 'errors'], 'properties': {'errors': {'type': 'array', 'items': {'type': 'object'}}, 'address': {'type': 'string'}, 'networks': {'type': 'array', 'items': {'type': 'object'}}, 'x402_receipt': {'type': 'object'}, 'x402_readiness': {'type': ['object', 'null']}, 'requested_networks': {'type': 'array', 'items': {'type': 'string'}}, 'rpc_reads_replaced': {'type': 'integer'}, 'successful_networks': {'type': 'integer'}}}
Input schema
{'type': 'object', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None, 'description': 'Latitude. Use with lon when you already have coordinates.'}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None, 'description': 'Longitude. Use with lat when you already have coordinates.'}, 'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'City name (e.g. Paris, Tokyo). Preferred when you do not have coordinates.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['location', 'current', 'daily'], 'properties': {'daily': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'current': {'type': 'object'}, 'location': {'type': 'object'}, 'x402_receipt': {'type': 'object'}}}
Input schema
{'type': 'object', 'properties': {'message': {'type': 'string', 'default': 'hello agent', 'description': 'Optional test message to echo after successful settlement.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['ok', 'purpose', 'network', 'price_usdc', 'price_atomic_usdc', 'request'], 'properties': {'ok': {'type': 'boolean'}, 'payer': {'type': ['string', 'null']}, 'network': {'type': 'string'}, 'purpose': {'type': 'string'}, 'request': {'type': 'object'}, 'price_usdc': {'type': 'number'}, 'x402_receipt': {'type': 'object'}, 'price_atomic_usdc': {'type': 'string'}}}
Recent tool changes
Similar MCP servers
AI 代理人任務中樞
Provides an agent hub with Taiwan-focused tools for AI pricing, creator compliance, crypto data, games, health, technology resear…
x711 — Universal Agent Gas Station
Provides agents with web observation and interaction, search and retrieval, sandboxed computation, inter-agent communication, col…
Pipeworx
Acts as a gateway and catalog for discovering and calling thousands of structured data tools across many sources, with citations …
Bold Systems
Provides a routed interface to thousands of structured data tools and includes dedicated BOLD Systems tools for DNA barcode seque…
Data Va
Provides Socrata access to Virginia open datasets, including catalog search, metadata retrieval, and SoQL queries, alongside Pipe…
Data Orlando
Provides Socrata access to Orlando open datasets, including catalog search, metadata retrieval, and SoQL queries, alongside Pipew…
Data Ua
Provides CKAN access to Ukraine open datasets, including dataset metadata and DataStore resource queries, alongside Pipeworx tool…
Data Oregon
Provides Socrata access to Oregon state open datasets across agencies, health, environment, business, and other domains, alongsid…