Endpoints: 28,729MCP servers: 18,414Payout addresses: 2,071Paid calls: 1,562Letters: 14Defects: 1,336counted 1 min ago
teppi

Server definition

Hash
sha256:d20a9e962a6f7555fec5ffc74deaeaf83e629d931dce503764fa920dffaee626
What it is
What a remote MCP server returned when asked what it offers: 34 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": "Timezone-aware date arithmetic: add or subtract a duration to a datetime (days are calendar-based and DST-safe; hours and minutes are absolute), or compute the difference between two datetimes that may be in different zones.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "datetime": { "description": "Base datetime: ISO 8601 or natural language.", "type": "string" }, "operation": { "additionalProperties": false, "description": "What to compute: { type:'add', amount, unit } to add/subtract a duration, or { type:'diff', to_datetime, to_timezone? } for the difference between two datetimes.", "properties": { "amount": { "description": "For type 'add': how much to shift. Use a negative number to subtract.", "type": "number" }, "to_datetime": { "description": "For type 'diff': the second datetime (ISO 8601 or natural language).", "type": "string" }, "to_timezone": { "description": "For type 'diff': the IANA timezone of to_datetime (defaults to the base timezone).", "type": "string" }, "type": { "description": "'add' to shift the datetime by a duration, or 'diff' to measure the gap between two datetimes.", "enum": [ "add", "diff" ], "type": "string" }, "unit": { "description": "For type 'add': one of seconds, minutes, hours, days, weeks.", "enum": [ "seconds", "minutes", "hours", "days", "weeks" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, "timezone": { "description": "IANA timezone the base datetime is in.", "type": "string" } }, "required": [ "datetime", "timezone", "operation" ], "type": "object" }, "name": "calculate", "outputSchema": null }, { "description": "Ask a general-purpose LLM a question or give it an instruction, with an optional system prompt. No external API key required.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "max_tokens": { "description": "Maximum tokens to generate (default 512).", "exclusiveMinimum": 0, "maximum": 2048, "type": "integer" }, "prompt": { "description": "The user's message or question for the assistant.", "minLength": 1, "type": "string" }, "system": { "description": "Optional system instruction to steer the assistant's behaviour/persona.", "type": "string" } }, "required": [ "prompt" ], "type": "object" }, "name": "chat", "outputSchema": null }, { "description": "Classify a text into exactly one of the candidate labels you provide (e.g. sentiment, topic, intent).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "labels": { "description": "Candidate labels to choose from, e.g. ['positive','negative','neutral'].", "items": { "minLength": 1, "type": "string" }, "maxItems": 20, "minItems": 2, "type": "array" }, "text": { "description": "The text to classify.", "minLength": 1, "type": "string" } }, "required": [ "text", "labels" ], "type": "object" }, "name": "classify", "outputSchema": null }, { "description": "Convert a specific date/time from one IANA timezone to another (single or batch). Accepts ISO 8601 or natural language ('next Tuesday 3pm'). Returns the converted datetime with UTC offset, zone abbreviation and DST flag.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "datetime": { "description": "ISO 8601 or natural language, e.g. \"2026-07-09T15:30\" or \"next Tuesday 3pm\".", "type": "string" }, "from": { "description": "Source IANA timezone.", "type": "string" }, "to": { "description": "Target IANA timezone.", "type": "string" } }, "required": [ "datetime", "from", "to" ], "type": "object" }, "name": "convert", "outputSchema": null }, { "description": "Convert a value between units of the same category: length, mass, volume, speed, area, digital storage, time, and temperature (Celsius/Fahrenheit/Kelvin).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "from": { "description": "Source unit, e.g. 'km', 'mi', 'kg', 'lb', 'C', 'F', 'GB', 'm/s'.", "type": "string" }, "to": { "description": "Target unit in the SAME category as 'from', e.g. 'mi', 'km', 'lb', 'F'.", "type": "string" }, "value": { "description": "The numeric value to convert.", "type": "number" } }, "required": [ "value", "from", "to" ], "type": "object" }, "name": "convert_units", "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": "Get live USD spot prices for one or more cryptocurrencies by ticker symbol (e.g. BTC, ETH, SOL).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "symbols": { "description": "Comma-separated ticker symbols, e.g. 'BTC,ETH,SOL'. Prices are returned in USD.", "type": "string" } }, "required": [ "symbols" ], "type": "object" }, "name": "crypto_price", "outputSchema": null }, { "description": "Convert an amount between currencies using live daily exchange rates (ISO 4217 codes, e.g. USD, EUR, GBP, JPY). Returns the converted amount and the rate used.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "amount": { "description": "The amount of money to convert.", "type": "number" }, "from": { "description": "Source currency ISO 4217 code, e.g. 'USD', 'EUR'.", "maxLength": 3, "minLength": 3, "type": "string" }, "to": { "description": "Target currency ISO 4217 code, e.g. 'EUR', 'JPY'.", "maxLength": 3, "minLength": 3, "type": "string" } }, "required": [ "amount", "from", "to" ], "type": "object" }, "name": "currency_convert", "outputSchema": null }, { "description": "Turn text into a numeric embedding vector for semantic search, RAG and similarity. Multilingual.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "text": { "description": "Text to embed into a numeric vector for semantic search / RAG.", "minLength": 1, "type": "string" } }, "required": [ "text" ], "type": "object" }, "name": "embed", "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": "Extract named entities from text — people, organizations, locations, dates and miscellaneous — returned as structured JSON.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "text": { "description": "The text to extract named entities from.", "minLength": 1, "type": "string" } }, "required": [ "text" ], "type": "object" }, "name": "extract_entities", "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": "Generate a QR code for any text or URL. Returns an inline SVG plus a data URI, with selectable size, quiet-zone margin and error-correction level.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "ec_level": { "description": "Error-correction level: L(7%), M(15%), Q(25%), H(30%). Default M.", "enum": [ "L", "M", "Q", "H" ], "type": "string" }, "margin": { "description": "Quiet-zone margin around the code, in cells (default 4).", "maximum": 20, "minimum": 0, "type": "integer" }, "size": { "description": "Pixel size of each QR module/cell in the SVG (default 6).", "exclusiveMinimum": 0, "maximum": 40, "type": "integer" }, "text": { "description": "Text or URL to encode in the QR code.", "minLength": 1, "type": "string" } }, "required": [ "text" ], "type": "object" }, "name": "generate", "outputSchema": null }, { "description": "Check whether a given date is a public holiday in a country (identified by its ISO 3166-1 alpha-2 code), and return the holiday name if so. Backed by an authoritative public-holiday dataset.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "country_code": { "description": "ISO country code, e.g. \"US\", \"ES\", \"IN\".", "type": "string" }, "date": { "description": "Date \"YYYY-MM-DD\".", "type": "string" } }, "required": [ "date", "country_code" ], "type": "object" }, "name": "holiday", "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": "Find working-hour time slots that overlap across participants in different timezones for a meeting of a given duration, excluding weekends and (when a country is given per participant) that person's public holidays.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "date_range": { "additionalProperties": false, "description": "Inclusive date window to search, e.g. { \"start\":\"2026-07-13\", \"end\":\"2026-07-17\" }.", "properties": { "end": { "description": "Last date to search \"YYYY-MM-DD\".", "type": "string" }, "start": { "description": "First date to search \"YYYY-MM-DD\".", "type": "string" } }, "required": [ "start", "end" ], "type": "object" }, "duration": { "description": "Meeting duration in minutes.", "type": "number" }, "participants": { "description": "The people to meet. Each participant is { timezone (IANA, required), working_hours? { start, end }, country? (ISO alpha-2) }.", "items": { "additionalProperties": false, "properties": { "country": { "description": "ISO 3166-1 alpha-2 code (e.g. 'US', 'ES') to exclude that person's public holidays.", "type": "string" }, "timezone": { "description": "Participant's IANA timezone, e.g. 'Europe/Madrid'.", "type": "string" }, "working_hours": { "additionalProperties": false, "description": "This participant's local working hours. Defaults to 09:00-17:00.", "properties": { "end": { "description": "Local end time \"HH:mm\" (24h), e.g. \"17:00\".", "type": "string" }, "start": { "description": "Local start time \"HH:mm\" (24h), e.g. \"09:00\".", "type": "string" } }, "required": [ "start", "end" ], "type": "object" } }, "required": [ "timezone" ], "type": "object" }, "minItems": 1, "type": "array" } }, "required": [ "participants", "duration", "date_range" ], "type": "object" }, "name": "meeting_slots", "outputSchema": null }, { "description": "Get the current local time in an IANA timezone, including the UTC offset, zone abbreviation and whether DST is in effect. Use whenever you need to know what time it is 'now' somewhere.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "timezone": { "description": "IANA timezone, e.g. 'Europe/Madrid', 'Asia/Kolkata'.", "type": "string" } }, "required": [ "timezone" ], "type": "object" }, "name": "now", "outputSchema": null }, { "description": "Get the exact UTC offset of an IANA timezone at a given instant, DST-aware. Correctly handles fractional offsets such as India +05:30 and Nepal +05:45.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "instant": { "description": "ISO 8601 or natural language. Defaults to now.", "type": "string" }, "timezone": { "description": "IANA timezone.", "type": "string" } }, "required": [ "timezone" ], "type": "object" }, "name": "offset", "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": "Request a new service, an improvement to an existing tool, or report a bug to the AgisHub team. Use this whenever the capability you need doesn't exist yet, an existing tool falls short, or something is broken — describe what you want and the use case. Free. Your request is posted to the public AgisHub roadmap and the team is notified, so agents (and their humans) can ask for new functionality directly.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "contact": { "description": "Optional: how the team can reach you for follow-up — an email, an X/GitHub handle, or a wallet address. Leave empty to stay anonymous.", "maxLength": 200, "type": "string" }, "details": { "description": "What you want and why: the new service, the improvement to an existing one, or the bug. Be concrete about the use case so it can be prioritized.", "maxLength": 4000, "minLength": 10, "type": "string" }, "service": { "description": "Optional: the existing service/tool this relates to, e.g. 'crypto.price' or 'web.extract'.", "maxLength": 60, "type": "string" }, "title": { "description": "A short, specific title for the request, e.g. 'Add a PDF-merge tool' or 'Support Solana in crypto.price'.", "maxLength": 120, "minLength": 3, "type": "string" }, "type": { "default": "other", "description": "The kind of request: a brand-new service, an improvement to an existing one, a bug report, or other feedback.", "enum": [ "new_service", "improvement", "bug", "other" ], "type": "string" } }, "required": [ "title", "details" ], "type": "object" }, "name": "request_feature", "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": "Semantically search a memory collection (namespace) and return the most relevant stored entries. The retrieval half of RAG.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "namespace": { "description": "The namespace to search within (the same key used on upsert).", "minLength": 1, "type": "string" }, "query": { "description": "Natural-language query; returns the most semantically similar stored entries.", "minLength": 1, "type": "string" }, "top_k": { "description": "How many results to return (default 5).", "maximum": 20, "minimum": 1, "type": "integer" } }, "required": [ "namespace", "query" ], "type": "object" }, "name": "search", "outputSchema": null }, { "description": "Deliver a webhook (POST/PUT/PATCH a JSON payload to a URL) with guaranteed, retried delivery. Returns immediately with a job_id; AgisHub keeps retrying in the background until it succeeds.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "headers": { "additionalProperties": { "type": "string" }, "description": "Optional extra request headers, e.g. an auth token.", "type": "object" }, "method": { "description": "HTTP method (default POST).", "enum": [ "POST", "PUT", "PATCH" ], "type": "string" }, "payload": { "description": "JSON body to POST to the target (object, array, string or number)." }, "url": { "description": "Public http/https URL to deliver the webhook to.", "format": "uri", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "send", "outputSchema": null }, { "description": "Shorten a long URL into a compact api.agishub.com/s/<code> link that redirects to the original. Codes are stored for a year.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "url": { "description": "The long http/https URL to shorten.", "format": "uri", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "shorten", "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 }, { "description": "Check the delivery status of a webhook job (queued / retrying / delivered / failed) by its job_id.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "job_id": { "description": "The job_id returned by webhook_relay.", "type": "string" } }, "required": [ "job_id" ], "type": "object" }, "name": "status", "outputSchema": null }, { "description": "Store a piece of text in a persistent, searchable memory collection (namespace). Embedded and indexed for later semantic recall.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "id": { "description": "Optional stable id to update an existing entry; auto-generated if omitted.", "type": "string" }, "namespace": { "description": "Your collection key — groups and isolates your memories. Treat it like a secret: anyone with it can read/write this collection.", "minLength": 1, "type": "string" }, "text": { "description": "The text/content to store and make searchable.", "minLength": 1, "type": "string" } }, "required": [ "namespace", "text" ], "type": "object" }, "name": "store", "outputSchema": null }, { "description": "Summarize a block of text into a short abstract, with an optional target length. No external API key required.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "max_words": { "description": "Approximate maximum length of the summary, in words (default ~80).", "exclusiveMinimum": 0, "maximum": 400, "type": "integer" }, "text": { "description": "The text to summarize.", "minLength": 1, "type": "string" } }, "required": [ "text" ], "type": "object" }, "name": "summarize", "outputSchema": null }, { "description": "List or search valid IANA timezone identifiers by city/region/country, and resolve a city/country name to its timezone(s). Use it to discover the exact identifier to pass to the other tools.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "query": { "description": "Case-insensitive substring filter.", "type": "string" } }, "type": "object" }, "name": "timezones", "outputSchema": null }, { "description": "Transcribe an audio file (given by public URL) to text. Handles mp3, wav, m4a, ogg and more.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "audio_url": { "description": "Public URL of an audio file (mp3, wav, m4a, ogg, ...) to transcribe to text.", "format": "uri", "type": "string" } }, "required": [ "audio_url" ], "type": "object" }, "name": "transcribe", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:d20a9e962a6f7555fec5ffc74deaeaf83e629d931dce503764fa920dffaee626 | sha256sum