mint utilities
22 deterministic tools: PDF, image, QR, CSV/Excel, HTML to PDF, DNS/RDAP, FX rates, time zones.
使うべきか
品質と安全性
検出事項(1)
- LOWscreenshot 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"mint-utilities": {
"url": "https://data.voiddo.com/mcp"
}
}
}リモートエンドポイント
https://data.voiddo.com/mcpstreamable-httpできること
ツール一覧
ツール(22)
🟢csv_profile(file, from, sheet, header, delimiter, ...)
Profile a CSV, TSV, XLSX or JSON table: row and column counts plus type, nulls, distinct values, min, max and samples for every column. Cost: 1 credit per call. File input (file): base64 string, data: URI or {"url": "https://..."}. Output: JSON. {rows, cols, columns: [{name, inferred_type, null_count, distinct_count, distinct_capped, min, max, sample}]}
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": [
"string",
"object"
],
"description": "The table: base64 string (or data: URI) or {\"url\": \"https://...\"}. Up to 10 MB.",
"properties": {
"url": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"url"
]
},
"from": {
"type": "string",
"enum": [
"csv",
"tsv",
"xlsx",
"json"
],
"description": "Source format. Omit to auto-detect."
},
"sheet": {
"type": [
"string",
"integer"
],
"minimum": 0,
"minLength": 1,
"description": "xlsx input: sheet name, or 0-based sheet index (default: the first sheet)."
},
"header": {
"type": "boolean",
"default": true,
"description": "The first row holds column names. false: columns are named col1, col2, ..."
},
"delimiter": {
"type": "string",
"minLength": 1,
"maxLength": 1,
"description": "csv input: field delimiter (default: detected among , ; tab |)."
},
"encoding": {
"type": "string",
"maxLength": 40,
"default": "utf-8",
"description": "Text encoding of csv/tsv/json input (utf-8 falls back to cp1252)."
},
"max_rows": {
"type": "integer",
"minimum": 1,
"maximum": 1000000,
"default": 200000,
"description": "Reject inputs with more data rows than this (413)."
}
},
"required": [
"file"
],
"additionalProperties": false
}🟢currency_rates(op, base, quote, quotes, amount, ...)
Latest and historical euro foreign exchange reference rates from the European Central Bank, with conversion between any two of its currencies. Cost: 1 credit per call. Output: JSON. latest: {base, date, rates}; convert: {amount, from, to, rate, result, date_used}; history: {base, quote, series[{date, rate}]}
入力スキーマ
{
"type": "object",
"properties": {
"op": {
"type": "string",
"enum": [
"latest",
"convert",
"history"
],
"default": "latest"
},
"base": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"default": "EUR",
"description": "Base currency (latest, history); for convert the alias of 'from'"
},
"quote": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "Quote currency (history; latest filter; convert alias of 'to')"
},
"quotes": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z]{3}$"
},
"minItems": 1,
"maxItems": 40,
"uniqueItems": true,
"description": "Several quote currencies for latest; omit for all"
},
"amount": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000,
"description": "Amount of the 'from' currency (convert)"
},
"from": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "Currency to convert from (default EUR)"
},
"to": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "Currency to convert to"
},
"date": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
"description": "YYYY-MM-DD; non-business days use the previous business day. Default: latest day"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 365,
"default": 30,
"description": "history: calendar days ending at 'date' (default the latest day)"
}
},
"additionalProperties": false,
"allOf": [
{
"if": {
"properties": {
"op": {
"const": "convert"
}
},
"required": [
"op"
]
},
"then": {
"required": [
"amount"
]
}
}
]
}🟢dns_lookup(name, type, all)
Look up A, AAAA, MX, TXT, NS, CNAME, SOA, CAA, SRV or PTR records of a public name through the Cloudflare and Google public resolvers. Cost: 1 credit per call. Output: JSON. {name, type, status, records:[{type, value, ttl}], count, resolver, elapsed_ms}
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"description": "Public hostname, e.g. example.com (internationalised names are converted to punycode). For type PTR: an IPv4/IPv6 address or a complete in-addr.arpa / ip6.arpa name."
},
"type": {
"type": "string",
"enum": [
"A",
"AAAA",
"MX",
"TXT",
"NS",
"CNAME",
"SOA",
"CAA",
"SRV",
"PTR"
],
"default": "A",
"description": "Record type"
},
"all": {
"type": "boolean",
"default": false,
"description": "Query the common set (A, AAAA, CNAME, MX, NS, TXT, SOA, CAA) in one call; 'type' is then ignored"
}
},
"required": [
"name"
],
"additionalProperties": false
}🟢holidays_lookup(country, year, subdiv, language, categories, ...)
Public holidays of any of about 250 countries and regions for a given year, with optional subdivision, language and category. Cost: 1 credit per call. Output: JSON. {country, year, subdiv, holidays:[{date, name}], count}
入力スキーマ
{
"type": "object",
"properties": {
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166-1 alpha-2 country code, e.g. US, DE, IL"
},
"year": {
"type": "integer",
"minimum": 1990,
"maximum": 2100
},
"subdiv": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "State / province / region code or name, e.g. BY, Bayern, CA, SCT"
},
"language": {
"type": "string",
"pattern": "^[A-Za-z]{2,3}([_-][A-Za-z]{2,4})?$",
"description": "Language of the holiday names, e.g. de or en_US; default: English where available, else the country's own language"
},
"categories": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z_]{3,30}$"
},
"minItems": 1,
"maxItems": 10,
"uniqueItems": true,
"description": "Holiday categories, default [\"public\"]; e.g. public, bank, school, government, optional, half_day"
},
"observed": {
"type": "boolean",
"default": true,
"description": "Include substitute days such as \"Christmas Day (observed)\""
}
},
"required": [
"country",
"year"
],
"additionalProperties": false
}🟢html_to_image(html, width, height, format, quality, ...)
Render an HTML snippet to a PNG, JPEG or WEBP image at any width, with retina scaling and transparent background. Cost: 3 credits per call. Output: a file (image/png | image/jpeg | image/webp) returned inline, at most 1 MiB. The rendered image
入力スキーマ
{
"type": "object",
"properties": {
"html": {
"type": "string",
"minLength": 1,
"description": "The HTML document or fragment (UTF-8, up to 2 MB). JavaScript is not executed."
},
"width": {
"type": "integer",
"minimum": 320,
"maximum": 2560,
"default": 1200,
"description": "Viewport width in CSS px"
},
"height": {
"type": "integer",
"minimum": 50,
"maximum": 16384,
"description": "Viewport height in CSS px; omit for a full-page image that fits the content"
},
"format": {
"type": "string",
"enum": [
"png",
"jpeg",
"jpg",
"webp"
],
"default": "png"
},
"quality": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 90,
"description": "jpeg / webp quality"
},
"device_scale_factor": {
"type": "number",
"minimum": 1,
"maximum": 3,
"default": 1,
"description": "Pixel density (2 = retina)"
},
"transparent": {
"type": "boolean",
"default": false,
"description": "Transparent page background (png / webp only)"
}
},
"required": [
"html"
],
"additionalProperties": false
}🟢html_to_pdf(html, format, landscape, margin_mm, print_background, ...)
Turn an HTML document into a print-ready PDF with page size, margins, orientation and page-numbered header and footer. Cost: 3 credits per call. Output: a file (application/pdf) returned inline, at most 1 MiB. The PDF document
入力スキーマ
{
"type": "object",
"properties": {
"html": {
"type": "string",
"minLength": 1,
"description": "The HTML document or fragment (UTF-8, up to 2 MB). JavaScript is not executed."
},
"format": {
"type": "string",
"enum": [
"A4",
"Letter",
"Legal",
"A3",
"A5"
],
"default": "A4",
"description": "Paper size"
},
"landscape": {
"type": "boolean",
"default": false
},
"margin_mm": {
"type": "number",
"minimum": 0,
"maximum": 50,
"default": 15,
"description": "Page margin on all sides, millimetres"
},
"print_background": {
"type": "boolean",
"default": true,
"description": "Print CSS backgrounds and colours"
},
"scale": {
"type": "number",
"minimum": 0.1,
"maximum": 2,
"default": 1,
"description": "Rendering scale"
},
"header_text": {
"type": "string",
"maxLength": 300,
"description": "Plain-text page header; {page} and {pages} are replaced"
},
"footer_text": {
"type": "string",
"maxLength": 300,
"description": "Plain-text page footer; {page} and {pages} are replaced"
}
},
"required": [
"html"
],
"additionalProperties": false
}🟢image_convert(file, to, width, height, fit, ...)
Convert and resize images between PNG, JPEG, WEBP, GIF, BMP, TIFF and ICO, with quality, fit modes, transparency handling and optional metadata stripping. Cost: 1 credit per call. File input (file): base64 string, data: URI or {"url": "https://..."}. Output: a file (image/png | image/jpeg | image/webp | image/gif | image/bmp | image/tiff | image/x-icon) returned inline, at most 1 MiB. The converted image
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": [
"string",
"object"
],
"description": "The image: base64 (or data: URI) string, or {\"url\": \"https://...\"}; up to 10 MB"
},
"to": {
"type": "string",
"enum": [
"png",
"jpeg",
"jpg",
"webp",
"gif",
"bmp",
"tiff",
"ico"
],
"description": "Target format"
},
"width": {
"type": "integer",
"minimum": 1,
"maximum": 8192,
"description": "Target width in px"
},
"height": {
"type": "integer",
"minimum": 1,
"maximum": 8192,
"description": "Target height in px"
},
"fit": {
"type": "string",
"enum": [
"inside",
"contain",
"cover",
"fill"
],
"default": "inside"
},
"quality": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 85,
"description": "jpeg / webp quality (webp 100 = lossless)"
},
"strip_metadata": {
"type": "boolean",
"default": true,
"description": "Drop EXIF / XMP / ICC (colours are converted to sRGB first)"
},
"background": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$",
"description": "Colour for transparent areas when the target has no alpha, and for contain padding (default white / transparent)"
}
},
"required": [
"file",
"to"
],
"additionalProperties": false
}🟢ip_lookup(ip)
Reverse DNS name and registry record (network block, name, country) of a public IP address, from open registry data only. Cost: 1 credit per call. Output: JSON. {ip, version, is_private, reverse_dns, reverse_dns_all, network{name, country, ...}}
入力スキーマ
{
"type": "object",
"properties": {
"ip": {
"type": "string",
"minLength": 2,
"maxLength": 64,
"description": "Public IPv4 or IPv6 address"
}
},
"required": [
"ip"
],
"additionalProperties": false
}🟢iso_codes(type, query, limit, country)
Look up ISO 3166 country and subdivision codes, ISO 4217 currency codes and ISO 639 language codes by code or name fragment. Cost: 1 credit per call. Output: JSON. {type, query, results:[{alpha_2, alpha_3, numeric, name, ...}], count, total, truncated}
入力スキーマ
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"country",
"currency",
"language",
"subdivision"
]
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Code or name fragment, case- and accent-insensitive"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Only for type=subdivision: restrict to this country (ISO 3166-1 alpha-2)"
}
},
"required": [
"type",
"query"
],
"additionalProperties": false
}🟢json_schema_validate(schema, instance, instances, draft)
Validate a JSON document, or up to 1000 of them, against a JSON Schema (draft 7, 2019-09 or 2020-12) and list every error with its path. Cost: 1 credit per call. Output: JSON. {valid, errors: [{index, path, message, validator}], count}; meta: {draft, instances, truncated?}
入力スキーマ
{
"type": "object",
"properties": {
"schema": {
"type": "object",
"description": "The JSON Schema to validate against."
},
"instance": {
"description": "One JSON value to validate (any type, including null). Use this or instances."
},
"instances": {
"type": "array",
"minItems": 1,
"maxItems": 1000,
"description": "Up to 1000 JSON values validated against the same schema. Use this or instance."
},
"draft": {
"enum": [
"auto",
"7",
7,
"2019-09",
"2020-12"
],
"default": "auto",
"description": "JSON Schema draft. auto follows the schema's $schema and defaults to 2020-12."
}
},
"required": [
"schema"
],
"additionalProperties": false
}🟢json_yaml_convert(input, from, to, indent, sort_keys, ...)
Convert text between JSON and YAML with safe parsing, indent, key sorting and minify options, and line-accurate error messages. Cost: 1 credit per call. Output: a file (application/json | application/yaml) returned inline, at most 1 MiB. converted.json or converted.yaml; meta: {from, to}
入力スキーマ
{
"type": "object",
"properties": {
"input": {
"type": "string",
"description": "The JSON or YAML text to convert (up to 2 MB)."
},
"from": {
"type": "string",
"enum": [
"json",
"yaml",
"auto"
],
"default": "auto",
"description": "Source format; auto tries JSON first, then YAML."
},
"to": {
"type": "string",
"enum": [
"json",
"yaml"
],
"description": "Target format. Default: yaml for JSON input, json for YAML input."
},
"indent": {
"type": "integer",
"minimum": 0,
"maximum": 8,
"default": 2,
"description": "Spaces per level. JSON: 0 puts items on their own lines without indentation. YAML: values below 2 are treated as 2."
},
"sort_keys": {
"type": "boolean",
"default": false,
"description": "Sort object keys alphabetically (default: keep input order)."
},
"minify": {
"type": "boolean",
"default": false,
"description": "JSON: single line without spaces. YAML: single-line flow style. Overrides indent."
}
},
"required": [
"input"
],
"additionalProperties": false
}🟢markdown_render(markdown, format, title, theme, css, ...)
Render Markdown to a sanitised HTML page or fragment, or to a PDF, with tables, fenced code, heading anchors, an optional table of contents and a choice of themes. Cost: 1 credit per call. Output: a file (text/html | application/pdf) returned inline, at most 1 MiB. document.html / fragment.html (text/html; charset=utf-8) or document.pdf. meta: {format, theme, title, headings, bytes, pages?}. pdf costs 3 credits, html and fragment 1.
入力スキーマ
{
"type": "object",
"properties": {
"markdown": {
"type": "string",
"description": "The Markdown source (up to 1 MB of text)"
},
"format": {
"type": "string",
"enum": [
"html",
"fragment",
"pdf"
],
"default": "html",
"description": "html = complete page (1 credit), fragment = content only (1 credit), pdf = A4 document (3 credits)"
},
"title": {
"type": "string",
"maxLength": 200,
"description": "Page title; default is the first level-1 heading"
},
"theme": {
"type": "string",
"enum": [
"default",
"github",
"plain"
],
"default": "default",
"description": "Built-in stylesheet for html and pdf"
},
"css": {
"type": "string",
"enum": [
"default",
"github",
"plain"
],
"description": "Alias of theme"
},
"toc": {
"type": "boolean",
"default": false,
"description": "Add a table of contents above the content"
}
},
"required": [
"markdown"
],
"additionalProperties": false
}🟢pdf_info(file)
Read a PDF's page count, encryption flag, metadata, page sizes in millimetres, text-layer presence and bookmark count. Cost: 1 credit per call. File input (file): base64 string, data: URI or {"url": "https://..."}. Output: JSON. {page_count, encrypted, password_required, metadata: {title, author, subject, creator, producer}, page_sizes_mm: [{n, width, height}] (first 50 pages), has_text, outline_count}
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": [
"string",
"object"
],
"description": "The PDF: base64 string (or data: URI) or {\"url\": \"https://...\"}. Up to 10 MB.",
"properties": {
"url": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"url"
]
}
},
"required": [
"file"
],
"additionalProperties": false
}🟢pdf_merge(files, keep_bookmarks)
Merge 2 to 20 PDF files into one document in the order given, optionally keeping their bookmarks. Cost in credits: ceil(total pages / 20), minimum 1. File input (files): base64 string, data: URI or {"url": "https://..."}. Output: a file (application/pdf) returned inline, at most 1 MiB. merged.pdf; meta: {page_count, files}
入力スキーマ
{
"type": "object",
"properties": {
"files": {
"type": "array",
"minItems": 2,
"maxItems": 20,
"items": {
"type": [
"string",
"object"
],
"description": "A PDF: base64 string (or data: URI) or {\"url\": \"https://...\"}.",
"properties": {
"url": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"url"
]
},
"description": "2 to 20 PDFs in merge order; all together up to 10 MB."
},
"keep_bookmarks": {
"type": "boolean",
"default": true,
"description": "Keep the bookmarks (outline) of the input files."
}
},
"required": [
"files"
],
"additionalProperties": false
}🟢pdf_split(file, ranges, every_n)
Split a PDF into parts by page ranges such as '1-2,5-' or every N pages, returned as one PDF or a zip of parts. Cost in credits: ceil(pages written / 20), minimum 1. File input (file): base64 string, data: URI or {"url": "https://..."}. Output: a file (application/pdf | application/zip) returned inline, at most 1 MiB. part_01.pdf when there is one part, otherwise split.zip holding part_01.pdf ...; meta: {parts, page_count}
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": [
"string",
"object"
],
"description": "The PDF: base64 string (or data: URI) or {\"url\": \"https://...\"}. Up to 10 MB.",
"properties": {
"url": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"url"
]
},
"ranges": {
"type": "string",
"maxLength": 1000,
"description": "Comma-separated page ranges, one part each: '1-2,5-' ('5-' runs to the last page)."
},
"every_n": {
"type": "integer",
"minimum": 1,
"maximum": 100000,
"description": "Alternative to ranges: parts of this many pages."
}
},
"required": [
"file"
],
"additionalProperties": false
}🟢pdf_text(file, pages, layout)
Extract the text of a PDF page by page, with page selection and an optional layout-preserving mode. Cost in credits: ceil(pages extracted / 20), minimum 1. File input (file): base64 string, data: URI or {"url": "https://..."}. Output: JSON. {page_count, pages: [{n, text}], chars}; meta.note when the PDF has no text layer.
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": [
"string",
"object"
],
"description": "The PDF: base64 string (or data: URI) or {\"url\": \"https://...\"}. Up to 10 MB.",
"properties": {
"url": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"url"
]
},
"pages": {
"type": "string",
"maxLength": 1000,
"description": "Pages to extract, e.g. '1-3,7' or '5-' (default: all pages)."
},
"layout": {
"type": "boolean",
"default": false,
"description": "Preserve the visual layout (columns, spacing) instead of reading order."
}
},
"required": [
"file"
],
"additionalProperties": false
}🟢qr_code(text, format, size, margin, error_correction, ...)
Turn text or a URL into a crisp QR code as PNG or SVG, with size and error-correction control. Cost: 1 credit per call. Output: a file (image/png | image/svg+xml) returned inline, at most 1 MiB. The QR image
入力スキーマ
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"description": "Text or URL to encode"
},
"format": {
"type": "string",
"enum": [
"png",
"svg"
],
"default": "png"
},
"size": {
"type": "integer",
"minimum": 64,
"maximum": 2048,
"default": 512,
"description": "Edge length in px (png)"
},
"margin": {
"type": "integer",
"minimum": 0,
"maximum": 10,
"default": 2,
"description": "Quiet zone in modules"
},
"error_correction": {
"type": "string",
"enum": [
"L",
"M",
"Q",
"H"
],
"default": "M"
},
"fg": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$",
"default": "#000000"
},
"bg": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$",
"default": "#ffffff"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢rdap_lookup(query, fields)
Look up the public registration record of a domain, IP address or AS number from its registry's RDAP service, without personal contact data. Cost: 1 credit per call. Output: JSON. Normalised registration record: domain, IP network or autonomous system
入力スキーマ
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Domain name (example.com), IPv4/IPv6 address (1.1.1.1) or AS number (AS15169)"
},
"fields": {
"type": "string",
"enum": [
"compact",
"full"
],
"default": "compact",
"description": "compact: normalised summary; full: summary plus the registry answer without contact data under 'raw'"
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢screenshot(url, width, height, full_page, format, ...)
Capture a public web page as a PNG, JPEG or WEBP image: any viewport size, full page, retina scaling, optional cookie-banner hiding. Free tier only (credits do not apply to this tool). Output: a file (image/png | image/jpeg | image/webp) returned inline, at most 1 MiB. The screenshot
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 1,
"maxLength": 120000,
"description": "Public http(s) URL (robots.txt is honoured), or an inline data:text/html URL"
},
"width": {
"type": "integer",
"minimum": 320,
"maximum": 2560,
"default": 1280,
"description": "Viewport width in CSS px"
},
"height": {
"type": "integer",
"minimum": 240,
"maximum": 4000,
"default": 800,
"description": "Viewport height in CSS px"
},
"full_page": {
"type": "boolean",
"default": false,
"description": "Capture the whole scrollable page (capped at 16384 CSS px / 50 megapixels)"
},
"format": {
"type": "string",
"enum": [
"png",
"jpeg",
"jpg",
"webp"
],
"default": "png"
},
"quality": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 90,
"description": "jpeg / webp quality"
},
"delay_ms": {
"type": "integer",
"minimum": 0,
"maximum": 3000,
"default": 0,
"description": "Extra wait after load, before the shot"
},
"device_scale_factor": {
"type": "number",
"minimum": 1,
"maximum": 3,
"default": 1,
"description": "Pixel density (2 = retina)"
},
"block_cookie_banners": {
"type": "boolean",
"default": false,
"description": "Hide common cookie-consent dialogs (best effort)"
}
},
"required": [
"url"
],
"additionalProperties": false
}🟢svg_to_png(svg, file, width, height, scale, ...)
Render an SVG document to a PNG at a chosen width, height or scale and background; external files, network references and XML entities are never loaded. Cost: 1 credit per call. File input (file): base64 string, data: URI or {"url": "https://..."}. Output: a file (image/png) returned inline, at most 1 MiB. The rendered PNG
入力スキーマ
{
"type": "object",
"properties": {
"svg": {
"type": "string",
"description": "The SVG markup as text (up to 2 MB). Use `file` instead for a base64 / URL / uploaded .svg or .svgz"
},
"file": {
"type": [
"string",
"object"
],
"description": "Alternative to `svg`: an .svg or .svgz file as base64, data: URI or {\"url\": \"https://...\"}"
},
"width": {
"type": "integer",
"minimum": 1,
"maximum": 8192,
"description": "Output width in px (height follows the aspect ratio unless given)"
},
"height": {
"type": "integer",
"minimum": 1,
"maximum": 8192,
"description": "Output height in px (width follows the aspect ratio unless given)"
},
"scale": {
"type": "number",
"minimum": 0.05,
"maximum": 16,
"description": "Multiplier of the SVG's own size (default 1); not combinable with width / height"
},
"background": {
"type": "string",
"pattern": "^(transparent|#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?)$",
"default": "transparent",
"description": "transparent, #rrggbb or #rrggbbaa"
}
},
"additionalProperties": false
}🟢tabular_convert(file, from, to, sheet, header, ...)
Convert tables between CSV, TSV, XLSX and JSON with format, delimiter and encoding detection, header control and exact number and date handling. Cost in credits: 1 credit; 2 credits when the output is xlsx. File input (file): base64 string, data: URI or {"url": "https://..."}. Output: a file (text/csv | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | application/json) returned inline, at most 1 MiB. The converted table. meta: {rows, cols, from, to, sheet?, sheets?, encoding?, delimiter?}.
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": [
"string",
"object"
],
"description": "The table: base64 string (or data: URI) or {\"url\": \"https://...\"}. Up to 10 MB.",
"properties": {
"url": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"url"
]
},
"from": {
"type": "string",
"enum": [
"csv",
"tsv",
"xlsx",
"json"
],
"description": "Source format. Omit to auto-detect."
},
"to": {
"type": "string",
"enum": [
"csv",
"tsv",
"xlsx",
"json"
],
"description": "Target format."
},
"sheet": {
"type": [
"string",
"integer"
],
"minimum": 0,
"minLength": 1,
"description": "xlsx input: sheet name, or 0-based sheet index (default: the first sheet)."
},
"header": {
"type": "boolean",
"default": true,
"description": "The first row is a header (becomes JSON keys). false: no header row is read or written, and JSON output is an array of arrays."
},
"delimiter": {
"type": "string",
"minLength": 1,
"maxLength": 1,
"description": "csv input: field delimiter (default: detected among , ; tab |)."
},
"encoding": {
"type": "string",
"maxLength": 40,
"default": "utf-8",
"description": "Text encoding of csv/tsv/json input. utf-8 falls back to cp1252; any other value is strict."
},
"max_rows": {
"type": "integer",
"minimum": 1,
"maximum": 1000000,
"default": 200000,
"description": "Reject inputs with more data rows than this (413) instead of truncating silently."
},
"infer_types": {
"type": "boolean",
"default": true,
"description": "csv/tsv input to json/xlsx output: turn exact numbers (and, for xlsx, ISO dates) and true/false into typed values."
}
},
"required": [
"file",
"to"
],
"additionalProperties": false
}🟢timezone_convert(op, datetime, from_tz, to_tz, tz, ...)
Convert a date and time between IANA time zones with exact daylight-saving handling, inspect a zone's offset and transitions, or list a country's zones. Cost: 1 credit per call. Output: JSON. convert: {input, output, offset_from, offset_to, dst_from, dst_to, utc, ...}; info: {tz, offset, abbreviation, dst, previous_transition, next_transition}; list: {country, zones, count}
入力スキーマ
{
"type": "object",
"properties": {
"op": {
"type": "string",
"enum": [
"convert",
"info",
"list"
],
"default": "convert"
},
"datetime": {
"type": "string",
"minLength": 8,
"maxLength": 48,
"description": "ISO 8601, e.g. 2026-03-29T01:30:00 (wall clock in from_tz / tz) or 2026-03-29T00:30:00Z / 2026-03-29T01:30:00+01:00 (exact instant). Required for convert and info."
},
"from_tz": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "convert: source zone, an IANA name such as Europe/Berlin or a fixed offset such as +05:30. Required when datetime has no offset."
},
"to_tz": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "convert: target zone, an IANA name or a fixed offset. Required for convert."
},
"tz": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "info: the zone to describe, an IANA name or a fixed offset (from_tz is accepted as an alias). Required for info."
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "list: ISO 3166-1 alpha-2 code, e.g. US. Omit to list every zone."
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "list: only zones whose name contains this text (case-insensitive), e.g. york or europe/"
}
},
"additionalProperties": false
}コミュニティ
エビデンス