Server definition
- Hash
- sha256:0e687ed682e95444b2e4f61a163afac7e3a5f50c1689525c15c3865ed4e7856b
- What it is
- What a remote MCP server returned when asked what it offers: 11 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Drive a headless browser: open a URL and run an ordered list of steps — click, type, press keys, wait, extract text and screenshot. For flows the plain scraper can't reach (logins, forms, multi-step pages).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"screenshot": {
"description": "Also return a final full-page PNG screenshot (base64).",
"type": "boolean"
},
"steps": {
"description": "Ordered actions to perform after the page loads.",
"items": {
"additionalProperties": false,
"properties": {
"action": {
"description": "What to do.",
"enum": [
"click",
"type",
"press",
"wait",
"extract_text",
"screenshot"
],
"type": "string"
},
"ms": {
"description": "Milliseconds to wait (wait, when no selector given).",
"maximum": 10000,
"minimum": 0,
"type": "integer"
},
"selector": {
"description": "CSS selector (for click/type/wait-for/extract_text).",
"type": "string"
},
"text": {
"description": "Text to type (type), or key to press (press, e.g. 'Enter').",
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
},
"maxItems": 20,
"type": "array"
},
"url": {
"description": "Starting URL to open in a headless browser.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "browser",
"outputSchema": null
},
{
"description": "Crawl multiple pages of a site, respecting link depth and domain limits. Returns async job_id; results include markdown or HTML per page. Use it to fetch and process many pages of content at once.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"formats": {
"description": "Output formats per page (default ['markdown']). 'html' adds raw HTML.",
"items": {
"enum": [
"markdown",
"html"
],
"type": "string"
},
"type": "array"
},
"limit": {
"description": "Maximum pages to crawl (default 100, max 100 per call). Returns 202 with job_id for async processing. For larger sites, issue several calls: each one is priced the same, so 1.000 pages cost ten calls.",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "integer"
},
"max_depth": {
"description": "Maximum link depth from root (default 2, max 10). Depth 0 = root only, depth 1 = root + direct children.",
"exclusiveMinimum": 0,
"maximum": 10,
"type": "integer"
},
"same_domain": {
"description": "Only crawl URLs on the same domain (default true). Subdomain links are excluded when false.",
"type": "boolean"
},
"url": {
"description": "Root domain URL to crawl (e.g., https://example.com).",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "crawl",
"outputSchema": null
},
{
"description": "Check the status of a crawl started with crawl, and retrieve its pages once finished. Free: the crawl itself was already paid for when it was queued.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"job_id": {
"description": "Job ID returned from POST /v1/crawl, used to check status and retrieve results.",
"type": "string"
}
},
"required": [
"job_id"
],
"type": "object"
},
"name": "crawl_status",
"outputSchema": null
},
{
"description": "Fetch any public web page and return its main content as clean, token-efficient Markdown (title, description, headings, links, lists). Set render:true to execute JavaScript first for single-page apps or JS-heavy pages that would otherwise come back empty. Built for RAG and for agents that need to read the contents of a URL.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"include_images": {
"description": "Keep images as markdown (default false).",
"type": "boolean"
},
"include_links": {
"description": "Keep hyperlinks in the markdown output (default true).",
"type": "boolean"
},
"max_chars": {
"description": "Truncate the markdown to at most this many characters (sets truncated:true).",
"exclusiveMinimum": 0,
"type": "integer"
},
"render": {
"description": "Render JavaScript with a headless browser before extracting (default false). Enable for SPAs / JS-heavy pages that return empty content otherwise. Slower.",
"type": "boolean"
},
"url": {
"description": "Full http/https URL of the page to extract.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "extract",
"outputSchema": null
},
{
"description": "AI-powered structured extraction: give a URL plus a natural-language prompt and/or a JSON Schema, and get back clean structured JSON (e.g. product name, price, rating). Renders the page in a headless browser first, so it works on SPAs.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"prompt": {
"description": "Natural-language instruction of what to extract, e.g. 'the product name, price and rating'. Provide this and/or a schema.",
"type": "string"
},
"schema": {
"additionalProperties": {},
"description": "Optional JSON Schema object describing the exact shape of the data to return. When given, the output is constrained to it.",
"type": "object"
},
"url": {
"description": "Full http/https URL of the page to extract data from.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "extract_structured",
"outputSchema": null
},
{
"description": "Return every hyperlink on a JavaScript-rendered page as a list of absolute URLs, with options to keep only visible links or only same-site links. Backed by a headless browser. Use it to map a site or seed a crawler.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"exclude_external": {
"description": "Drop links pointing to other domains, keeping only same-site links (default false).",
"type": "boolean"
},
"url": {
"description": "Full http/https URL of the page to read links from.",
"format": "uri",
"type": "string"
},
"visible_only": {
"description": "Return only links visible in the rendered layout (default false).",
"type": "boolean"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "links",
"outputSchema": null
},
{
"description": "Discover all URLs reachable from a domain within a link depth limit. Returns a flat list of absolute URLs, respects robots.txt crawl delays. Use it to map a site's structure before crawling.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"include_subdomains": {
"description": "Include URLs from subdomains (default false, same domain only).",
"type": "boolean"
},
"limit": {
"description": "Maximum URLs to return (default 100, max 200 per call). Respects robots.txt crawl-delay.",
"exclusiveMinimum": 0,
"maximum": 200,
"type": "integer"
},
"search": {
"description": "Optional regex or plain string to filter results (case-insensitive).",
"type": "string"
},
"url": {
"description": "Root domain URL to map (e.g., https://example.com).",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "map",
"outputSchema": null
},
{
"description": "Render a public URL or a raw HTML string into a PDF document, returned base64-encoded. Backed by a headless browser. Use for invoices, reports, receipts and any HTML-to-PDF need.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"description": "Paper size (default A4).",
"enum": [
"A4",
"Letter",
"Legal",
"A3",
"A5",
"Tabloid"
],
"type": "string"
},
"html": {
"description": "Raw HTML string to render to PDF. Provide this OR url.",
"type": "string"
},
"landscape": {
"description": "Landscape orientation (default false = portrait).",
"type": "boolean"
},
"url": {
"description": "Public http/https URL to render to PDF. Provide this OR html.",
"format": "uri",
"type": "string"
}
},
"type": "object"
},
"name": "pdf",
"outputSchema": null
},
{
"description": "Extract specific elements from a JavaScript-rendered page by CSS selector. Give a list of selectors (e.g. 'h1', '.price', 'a.product') and get back the text and attributes of every match. Backed by a headless browser, so it works on SPAs and JS-heavy pages.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"selectors": {
"description": "CSS selectors to extract, e.g. ['h1', 'a.product', '.price']. Returns the text and attributes of every match per selector.",
"items": {
"minLength": 1,
"type": "string"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"url": {
"description": "Full http/https URL of the page to scrape.",
"format": "uri",
"type": "string"
}
},
"required": [
"url",
"selectors"
],
"type": "object"
},
"name": "scrape",
"outputSchema": null
},
{
"description": "Capture a PNG screenshot of any public URL — full page or just the viewport, at a chosen size — returned base64-encoded. Backed by a headless browser.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"full_page": {
"description": "Capture the entire scrollable page instead of just the viewport (default false).",
"type": "boolean"
},
"height": {
"description": "Viewport height in pixels (default 800).",
"exclusiveMinimum": 0,
"type": "integer"
},
"url": {
"description": "Public http/https URL to capture.",
"format": "uri",
"type": "string"
},
"width": {
"description": "Viewport width in pixels (default 1280).",
"exclusiveMinimum": 0,
"type": "integer"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "screenshot",
"outputSchema": null
},
{
"description": "Capture several representations of a page in one call — rendered HTML plus a PNG screenshot by default, and optionally Markdown and the accessibility tree. Backed by a headless browser. Saves round-trips when an agent needs both the content and a visual of a page.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"formats": {
"description": "Which representations to return (default ['html','screenshot']). Add 'markdown' and/or 'accessibilityTree' as needed.",
"items": {
"enum": [
"html",
"screenshot",
"markdown",
"accessibilityTree"
],
"type": "string"
},
"type": "array"
},
"full_page": {
"description": "Capture the full scrollable page in the screenshot instead of just the viewport (default false).",
"type": "boolean"
},
"height": {
"description": "Viewport height in pixels (default 800).",
"exclusiveMinimum": 0,
"type": "integer"
},
"url": {
"description": "Full http/https URL to capture.",
"format": "uri",
"type": "string"
},
"width": {
"description": "Viewport width in pixels (default 1280).",
"exclusiveMinimum": 0,
"type": "integer"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "snapshot",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:0e687ed682e95444b2e4f61a163afac7e3a5f50c1689525c15c3865ed4e7856b | sha256sum