timeverse-omni-converter-mcp
Format Converter MCP
Универсальный MCP-сервер для конвертации форматов
Сервер Model Context Protocol (MCP), охватывающий конвертацию всех форматов: аудио, видео, изображения, Office, данные, электронные книги, PDF, субтитры и другие. Может вызываться любым MCP-клиентом, таким как TimeVerse Studio, Claude Desktop, Cursor, VS Code и другими.
✨ Возможности
Возможность | Описание |
🎯 Широкий охват форматов | 9 доменов форматов, 71 уникальный формат, плюс специальные возможности: субтитры, операции с PDF |
🧩 14 инструментов | 10 основных инструментов конвертации + 4 вспомогательных, точно классифицированы по доменам форматов, легко выбираются LLM |
🧠 Умная маршрутизация | Автоматический выбор оптимального пути конвертации (прямая / многошаговая цепочка), автоматическое понижение при недоступности зависимостей |
🔧 6 движков | Единая обёртка для FFmpeg / ImageMagick / LibreOffice / Pandoc / Python / PDF |
⚡ Ноль конфигурации | Автоматическое обнаружение системных зависимостей при запуске, подсказка или понижение при отсутствии |
🛡️ Готово к продакшену | Многоуровневая обработка ошибок, защита от превышения ресурсов, очистка временных файлов по TTL |
Related MCP server: GroupDocs.Conversion MCP Server
📦 Поддерживаемые форматы
Домен форматов | Инструмент | Движок | Кол-во форматов | Примеры |
Аудио |
| FFmpeg | 12 | MP3, WAV, FLAC, AAC, OGG, M4A, WMA, AIFF, OPUS, AC3, AMR, MKA |
Видео |
| FFmpeg | 14 | MP4, AVI, MKV, MOV, WebM, FLV, WMV, M4V, MPEG, 3GP, TS, GIF, VOB, RMVB |
Изображения |
| ImageMagick / Pillow | 16 | JPEG, PNG, GIF, BMP, TIFF, WebP, SVG, HEIC, ICO, PSD, RAW, AVIF, EXR |
Документы |
| LibreOffice / Pandoc / pdf2docx | 10 | DOCX, DOC, PDF, RTF, ODT, TXT, PAGES*, WPS*, HTML, MD |
Презентации |
| LibreOffice | 6 | PPTX, PPT, ODP, PDF, KEY*, HTML |
Таблицы |
| openpyxl / pandas / LibreOffice | 8 | XLSX, XLS, ODS, CSV, TSV, NUMBERS*, FODS, HTML |
Разметка |
| Pandoc | 12 | Markdown, HTML, RST, AsciiDoc, LaTeX, Org, MediaWiki, EPUB, Typst, TXT, IPYNB |
Данные |
| Python (PyYAML/tomlkit/pandas/lxml) | 8 | JSON, YAML, XML, TOML, CSV, TSV, Parquet, Protobuf |
Электронные книги |
| Pandoc / Calibre | 5 | EPUB, MOBI, AZW3, FB2, PDF |
Субтитры |
| pysubs2 | 3 | SRT, ASS/SSA, VTT |
Операции с PDF |
| PyMuPDF / pypdf | 9 операций | merge, split, compress, extract, watermark, rotate, to_images |
*— ограниченные форматы (PAGES / WPS / NUMBERS / KEY), требуют нативных приложений macOS или экспорта через iCloud.
Итого после дедупликации около 71 формата, покрывающих 95%+ типовых потребностей в конвертации в отрасли.
⚠️ Известные ограничения
Ограниченные форматы:
PAGES/WPS/NUMBERS/KEYтребуют нативных приложений macOS или экспорта через iCloud; на других платформах обычно напрямую не конвертируются.Декодирование HEIC/HEIF: зависит от поддержки libheif в ImageMagick; при отсутствии декодирование эффективных изображений Apple невозможно.
Понижение при отсутствии движка: если LaTeX не установлен, Markdown→PDF понижается до weasyprint; если Calibre не установлен, электронные книги MOBI/AZW3 недоступны; если ImageMagick не установлен, конвертация изображений откатывается на Python Pillow (с более ограниченными возможностями).
Protocol Buffers: для конвертации в PB требуются дополнительные файлы определения
.proto.Parquet / Protobuf: соответствующие зависимости Python (
pyarrow,protobuf) являются опциональными и требуют ручной установки.
🧰 Список инструментов
Основные инструменты конвертации (10)
Инструмент | Описание |
| Взаимная конвертация аудио/видео, извлечение аудио, обрезка фрагментов, встраивание субтитров |
| Взаимная конвертация изображений, масштабирование, оптимизация, вектор↔растр, управление DPI |
| Высокоточная конвертация Word/PDF/RTF/TXT/HTML/MD, OCR, извлечение таблиц |
| Конвертация PPT/ODP/PDF/HTML/PNG (изображения слайдов) |
| Конвертация Excel/CSV/TSV/JSON/HTML, сохранение формул и нескольких листов |
| Конвертация разметки Markdown/HTML/LaTeX/EPUB и др., оглавление/подсветка/формулы |
| Конвертация данных JSON/YAML/XML/TOML/CSV/Parquet/Protobuf |
| Конвертация электронных книг EPUB/MOBI/AZW3/FB2/PDF, обложка/метаданные |
| Объединение/разделение/сжатие/извлечение/водяной знак/поворот/изображения PDF |
| Взаимная конвертация субтитров SRT/ASS/VTT, сдвиг по времени, конвертация кодировки |
Вспомогательные инструменты (4)
Инструмент | Описание |
| Запрос поддерживаемых форматов, путей конвертации и доступных движков |
| Определение метаинформации файла (формат, кодировка, разрешение, длительность, число страниц и т.д.) |
| Пакетная конвертация, поддержка Glob-шаблонов и параллельного выполнения |
| Проверка доступности и версий всех движков и системных зависимостей |
Все инструменты конвертации единообразно следуют парадигме параметров input_path + output_format + options.
🏗️ Архитектура
┌─────────────────────────────────────────────────────┐
│ MCP Client (LLM) │
│ Claude / Cursor / VS Code / ... │
└──────────────────────┬──────────────────────────────┘
│ JSON-RPC (stdio)
┌──────────────────────┴──────────────────────────────┐
│ MCP Protocol Layer │
│ tool list · tool call · notifications │
├──────────────────────────────────────────────────────┤
│ Tool Router Layer │
│ 请求解析 → 格式识别 → 路由分发 → 结果封装 │
├───────────┬───────────┬──────────┬───────────────────┤
│ Format │ Conversion│ File │ Dependency │
│ Registry │ Planner │ Manager │ Checker │
├───────────┴───────────┴──────────┴───────────────────┤
│ Conversion Engine Layer │
│ FFmpeg · ImageMagick · LibreOffice · Pandoc │
│ Python · PDF │
└──────────────────────────────────────────────────────┘Примеры умного планирования путей:
Источник → Цель | Путь |
PDF → XLSX | PDF → CSV (pdfplumber) → XLSX (openpyxl) |
PDF → DOCX | PDF → DOCX (pdf2docx) |
XLSX → JSON | XLSX → DataFrame (pandas) → JSON |
PPTX → MD | PPTX → HTML (LibreOffice) → MD (Pandoc) |
DOCX → EPUB | DOCX → HTML (Pandoc) → EPUB (Pandoc) |
⚙️ Технологический стек
Основной язык: TypeScript (Node.js ≥ 18)
Протокол:
@modelcontextprotocol/sdkДвижки конвертации: FFmpeg / ImageMagick / LibreOffice / Pandoc / Python (изоляция venv) / PyMuPDF
Системные зависимости
Зависимость | Версия | Назначение | Установка |
Node.js | ≥ 18 | Запуск MCP Server | |
FFmpeg | ≥ 6.0 | Аудио/видео/субтитры |
|
ImageMagick | ≥ 7.0 | Конвертация изображений |
|
LibreOffice | ≥ 7.5 | Точная конвертация Office | |
Pandoc | ≥ 3.0 | Разметка/документы/электронные книги |
|
Python | ≥ 3.10 | Данные/PDF/таблицы/субтитры |
LaTeX (опционально, высокое качество Markdown→PDF) и Calibre (опционально, MOBI/AZW3) могут отсутствовать — система автоматически понизит функциональность.
Зависимости Python
pip install -r python/requirements.txtОсновные зависимости: openpyxl, pandas, PyYAML, tomlkit, xmltodict, PyMuPDF, pypdf, pdf2docx, pysubs2, Pillow (pyarrow, protobuf — опциональные).
🚀 Установка
Сначала установите системные зависимости (FFmpeg / ImageMagick / LibreOffice / Pandoc):
Windows:
npm run prepare-deps(однокликовая загрузка портативных версий)macOS:
brew install ffmpeg imagemagick pandoc && brew install --cask libreofficeLinux:
apt install ffmpeg imagemagick libreoffice pandoc
Затем соберите проект и установите зависимости Python:
# 1. 安装 Node 依赖
npm install
# 2. 构建(生成 dist/)
npm run build
# 3. 安装 Python 依赖(建议使用虚拟环境)
python3 -m venv .venv # macOS/Linux;Windows 使用 python
source .venv/bin/activate # macOS/Linux;Windows 使用 .venv\Scripts\activate
pip install -r python/requirements.txt🔌 Конфигурация MCP
Добавьте следующий сервер в конфигурацию mcpServers вашего MCP-клиента.
TimeVerse Studio (рекомендуется · размещение через npm)
TimeVerse Studio подключается через стандартный JSON mcpServers. После публикации в npm запускается одной командой через npx, без локальной сборки:
{
"mcpServers": {
"timeverse-omni-converter-mcp": {
"command": "npx",
"args": ["-y", "timeverse-omni-converter-mcp"],
"env": {
"FC_PYTHON_PATH": "python",
"FC_TEMP_DIR": "C:/temp/format-converter",
"FC_MAX_FILE_SIZE": "524288000",
"FC_TIMEOUT": "300000"
}
}
}
}Claude Desktop / Cursor (локальная сборка)
После локальной сборки запускается напрямую через node:
{
"mcpServers": {
"timeverse-omni-converter-mcp": {
"command": "node",
"args": ["C:/path/to/timeverse-omni-converter-mcp/dist/index.js"],
"env": {
"FC_PYTHON_PATH": "python",
"FC_TEMP_DIR": "C:/temp/format-converter",
"FC_MAX_FILE_SIZE": "524288000",
"FC_TIMEOUT": "300000"
}
}
}
}macOS: измените
argsна/Users/<you>/timeverse-omni-converter-mcp/dist/index.jsи установитеFC_PYTHON_PATHвpython3(или удалите этот пункт, чтобы он автоматически определял.venv/python3).
🔧 Переменные окружения
Переменная | Значение по умолчанию | Описание |
|
| Путь к интерпретатору Python |
|
| Путь к исполняемому файлу FFmpeg |
|
| Путь к исполняемому файлу ffprobe |
|
| Путь к исполняемому файлу ImageMagick |
|
| Путь к исполняемому файлу LibreOffice |
|
| Путь к исполняемому файлу Pandoc |
|
| Путь к конвертеру электронных книг Calibre |
| системный временный каталог | Каталог для временных файлов |
|
| Максимальный размер входного файла |
|
| Верхний предел общего размера после распаковки (защита от zip bomb) |
|
| Максимальный коэффициент сжатия |
|
| Верхний предел пикселей при распаковке изображений (защита от бомб распаковки) |
|
| Таймаут одной конвертации |
|
| Число параллельных операций по умолчанию |
|
| Уровень журналирования |
💬 Примеры использования
Дайте LLM в MCP-клиенте команды на естественном языке, например:
«Конвертируй
a.movвa.mp4, разрешение 1920x1080» →convert_media«Конвертируй
photo.heicвphoto.png» →convert_image«Конвертируй
report.docxвreport.pdf» →convert_document«Конвертируй
data.jsonвdata.csv» →convert_data«Экспортируй каждую страницу
slides.pptxв PNG» →convert_presentation«Конвертируй
book.epubвbook.mobi» →convert_ebook«Объедини
a.pdfиb.pdf» →convert_pdf(operation: "merge")«Конвертируй
subs.assвsubs.srt» →convert_subtitle
Пример вызова инструмента:
{
"name": "convert_media",
"arguments": {
"input_path": "C:/media/input.mov",
"output_format": "mp4",
"options": {
"video_codec": "libx264",
"video_resolution": "1920x1080",
"crf": 23
}
}
}Возвращаемый результат:
{
"success": true,
"outputPath": "C:/media/input.mp4",
"outputSize": 10485760,
"duration": 3215,
"warnings": []
}❓ Часто задаваемые вопросы
В: Что делать, если конвертация сообщает об отсутствии зависимостей или ошибке?
О: Вызовите инструмент check_dependencies, чтобы увидеть статус доступности и версии каждого движка (FFmpeg / ImageMagick / LibreOffice / Pandoc / Python), установите недостающие зависимости и повторите попытку.
В: Ошибки при конвертации, связанной с Python (данные / PDF / таблицы / субтитры)?
О: Убедитесь, что зависимости установлены через pip install -r python/requirements.txt, и что FC_PYTHON_PATH указывает на правильный интерпретатор Python (или активирована виртуальная среда).
В: Что произойдёт, если целевой файл уже существует?
О: По умолчанию файл автоматически переименовывается в имя_файла_1.расширение; при пакетной конвертации поведение можно управлять параметром on_conflict: overwrite / skip / rename.
В: Почему некоторые форматы (например, PAGES / NUMBERS) не конвертируются? О: Это проприетарные форматы Apple, требующие нативных приложений macOS или экспорта через iCloud; это ограниченные форматы, подробнее см. «Известные ограничения».
В: Что делать при таймауте конвертации больших файлов?
О: Увеличьте FC_TIMEOUT (по умолчанию 300000 мс) и обратите внимание на верхний предел FC_MAX_FILE_SIZE (по умолчанию 500MB).
🛡️ Безопасность
Сервер обрабатывает содержимое недоверенных файлов и имеет встроенные механизмы защиты ресурсов и безопасности:
Верхние пределы размера входного файла, объёма после распаковки, коэффициента сжатия, пикселей изображения (защита от zip bomb / бомб распаковки)
Таймаут одной конвертации и верхний предел параллелизма
В парсерах отключены XXE (внедрение внешних сущностей), встроенные скрипты PDF, загрузка внешних ресурсов
Внешние процессы единообразно вызываются через массивы аргументов (
execFile), что исключает внедрение команд
📄 License
MIT
Available Tools
14 toolsbatch_convertB
批量转换多个文件,支持 Glob 模式匹配与并行执行。
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | 与单文件转换相同的选项 | |
| parallel | No | 并行数,默认 1 | |
| output_dir | No | 输出目录 | |
| input_paths | No | 文件路径数组(与 input_pattern 至少一个) | |
| on_conflict | No | 冲突处理策略 | rename |
| input_pattern | No | Glob 模式,如 /data/*.png(与 input_paths 至少一个) | |
| output_format | Yes | 目标格式 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions parallel execution and Glob support, but does not disclose side effects such as output file creation, conflict resolution behavior, error handling, or partial failure semantics. This is a significant gap for a batch operation that writes files.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that front-loads the core purpose and the two most distinctive capabilities. There is no filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no annotations, and no output schema, the description is too thin to fully guide an agent. It omits important operational context such as how input_paths and input_pattern relate, the default conflict handling behavior, parallel execution caveats, and what the tool returns or reports after a batch run.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces the meaning of input_pattern and parallel but adds little beyond what the schema already states. It does not clarify the relationship between input_paths and input_pattern or the effect of on_conflict.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('batch convert multiple files') and highlights two distinctive capabilities: Glob pattern matching and parallel execution. It is differentiated from the single-file convert_* siblings by the explicit 'batch' scope, though it does not name any sibling alternative directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for converting multiple files, especially via Glob patterns, but it does not explicitly state when to prefer it over the single-file convert_* siblings or give exclusion criteria. Usage context is present but relies on inference from the tool name and sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_dependenciesA
检查所有转换引擎与系统依赖的可用性与版本。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. 'Check availability and version' clearly indicates a non-destructive diagnostic operation. It does not explicitly guarantee that nothing is modified, but the read-only nature is strongly implied by the verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly worded sentence that front-loads the verb and resource with no filler. Every word contributes to identifying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no annotations and no output schema, the description is nearly complete: it states what is checked (all conversion engines and system dependencies) and what aspect is checked (availability and version). It could be more explicit about the return format, but this is a minor gap for such a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the empty schema fully documents all inputs. The baseline for a no-parameter tool is 4, and the description does not need to add parameter-level detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb '检查' (check) and a clear resource: the availability and versions of all conversion engines and system dependencies. This clearly differentiates it from the sibling conversion, format, and file-info tools, which perform transformations or retrieval rather than diagnostics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: an agent would call this when it needs to verify or report dependency/engine availability and versions. However, the description does not explicitly state when to prefer this over alternatives, nor does it mention a precondition such as running it before conversions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_dataB
结构化数据转换:JSON/YAML/XML/TOML/CSV/TSV/Parquet/Protocol Buffers(PB 需 .proto 定义)。
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | ||
| input_path | Yes | 输入文件绝对路径 | |
| output_path | No | 输出文件路径(可选) | |
| output_format | Yes | 目标格式:json/yaml/xml/toml/csv/tsv/parquet/pb |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It mentions the supported formats and the PB .proto dependency, but does not explain file read/write behavior, whether output_path is optional or defaulted, overwrite behavior, or any side effects of conversion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with no filler. The action and format scope are front-loaded, and the important Protocol Buffers caveat is included efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool supporting eight formats with a nested options object and no output schema, but the description only lists formats and one dependency. It omits the overall conversion contract, behavior when output_path is absent, format compatibility, and practical guidance for selecting options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, and the nested options properties are individually documented. The description adds limited extra value by highlighting the PB .proto requirement, though the schema already documents proto_schema_path. It does not clarify input_path, output_path, or conversion direction beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: '结构化数据转换' (structured data conversion), and enumerates the exact supported formats (JSON/YAML/XML/TOML/CSV/TSV/Parquet/Protocol Buffers). This format list distinguishes it from sibling tools like convert_image, convert_pdf, and convert_media.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The supported format list implies when convert_data should be used, but the description does not explicitly state when to choose it over alternatives like convert_markup or convert_document, nor any exclusions. The only usage-related hint is the .proto requirement for Protocol Buffers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_documentB
文档转换:DOCX/DOC/PDF/RTF/ODT/TXT/HTML/MD,高保真保留排版。
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | ||
| input_path | Yes | 输入文件绝对路径 | |
| output_path | No | 输出文件路径(可选) | |
| output_format | Yes | 目标格式:docx/pdf/html/rtf/odt/txt/md |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only promises high-fidelity layout preservation and says nothing about engine auto-selection, whether the source file is modified, default output behavior when output_path is omitted, OCR behavior, or failure conditions. This leaves key behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with a clear verb, compact format list, and no filler. It is efficiently structured and immediately scannable, even though it sacrifices depth.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with nested options, no annotations, and no output schema, this description is too thin. It omits default output behavior, engine selection semantics, and boundary conditions, and its format list overlaps with several sibling tools, leaving an agent without enough context to invoke it confidently beyond the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, so the schema already documents most parameters. The description adds context about supported input formats and preservation intent, but it does not explain interaction between options, output path defaults, or format compatibility beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation as document conversion, lists supported formats (DOCX/DOC/PDF/RTF/ODT/TXT/HTML/MD), and highlights high-fidelity layout preservation. It is specific about the resource and action, though it does not explicitly differentiate from overlapping siblings like convert_pdf or convert_markup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The format list implies usage for converting documents among these types, but there is no explicit guidance about when to choose this tool over convert_pdf, convert_markup, convert_ebook, or other siblings. No exclusions or alternative routing are provided, so usage is mostly inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_ebookB
电子书转换:EPUB/MOBI/AZW3/FB2/PDF/TXT/HTML/DOCX,保留章节、元数据与封面。
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | ||
| input_path | Yes | 输入文件绝对路径 | |
| output_path | No | 输出文件路径(可选) | |
| output_format | Yes | 目标格式:epub/mobi/azw3/fb2/pdf/txt/html/docx |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It adds a positive trait (preserves chapters, metadata, cover), but omits critical side effects: whether output files are created and overwritten, what happens if output_path is omitted, whether input files are required to exist, and any error or rate-limit behaviors. The preservation claim is useful but insufficient for a conversion tool that writes files.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose (e-book conversion) and immediately lists supported formats and preservation guarantees. There is zero wasted wording, making it easy to scan and parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderate-complexity tool with a nested options object, the description is minimally complete. It covers the primary formats and a key behavior (preservation) but lacks details about default output behavior, file system interactions, or prerequisites. While the schema covers parameters, the description does not address runtime expectations, making it adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, meaning the schema already documents most parameters and sub-options clearly. The description adds no parameter-specific meaning beyond listing format options, which are already in the output_format property. Baseline score of 3 is appropriate since the description does not compensate for any gaps or add value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: converting e-books between specified formats (EPUB/MOBI/AZW3/FB2/PDF/TXT/HTML/DOCX) while preserving chapters, metadata, and covers. The verb '电子书转换' (e-book conversion) is specific and the format list distinguishes it from generic document converters like convert_document or convert_pdf. However, it doesn't explicitly state it converts 'from' and 'to' these formats, leaving it implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus its siblings. It doesn't mention alternatives (e.g., convert_document for non-ebook formats) or any conditions that would make this tool inappropriate. The agent must infer that this is for e-book formats based on the listed extensions, but no explicit when-to-use or when-not-to-use advice is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_imageB
图片格式互转,支持 JPEG/PNG/GIF/BMP/TIFF/WebP/SVG/HEIC/ICO/AVIF/PSD/RAW 等,可缩放、优化、控制 DPI。
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | ||
| input_path | Yes | 输入文件绝对路径 | |
| output_path | No | 输出文件路径(可选) | |
| output_format | Yes | 目标格式:jpg/png/webp/gif/bmp/tiff/heic/ico/avif/svg/pdf |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavior. It mentions capabilities (scaling, optimizing, DPI control) but does not state whether the operation modifies the input file, whether it overwrites output paths, or any error conditions or limitations (e.g., some formats may not support certain options). The description lacks transparency about side effects and operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the purpose (image format conversion) followed by supported formats and capabilities. There is no fluff or repetition. It is well-structured for quick parsing, though the long list of formats makes it slightly dense. Overall, it earns high marks for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a nested options object with many parameters, two required fields, and no output schema. The description provides a high-level overview but omits critical details: what happens when output_path is omitted, whether input_path must be absolute, default behaviors (e.g., quality defaults), and the role of options like interlace or background_color. Given this complexity, the description is inadequate for an agent to call the tool correctly without further investigation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 75%, which is high, so the baseline is 3. The description adds context by mapping '可缩放' to width/height and '控制 DPI' to density, but it does not explain parameter interactions (e.g., how maintain_aspect_ratio works when both width and height are given) or the meaning of options like color_space or strip_metadata beyond what the schema already states. The description supplements the schema but does not compensate for the missing 25%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: converting image formats, with a specific verb (转换) and resource (图片格式). It lists a wide range of supported formats and additional capabilities like resizing, optimization, and DPI control. This clearly distinguishes it from sibling tools like convert_media (media) and convert_document (documents) based on format type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for image files (图片格式互转), which naturally separates it from document and media conversions. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions, such as handling video or audio formats. The guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_markupC
标记/文本转换:Markdown/HTML/reStructuredText/AsciiDoc/LaTeX/Org/MediaWiki/EPUB/Typst/纯文本/Jupyter。
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | ||
| input_path | Yes | 输入文件绝对路径 | |
| output_path | No | 输出文件路径(可选) | |
| output_format | Yes | 目标格式:md/html/pdf/docx/rst/latex/asciidoc/epub/tex/org/txt |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does not state whether the tool writes output files, requires specific dependencies, or if it is a read-only operation on the input. The description only lists formats, leaving behavioral traits undefined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the tool's core purpose. It avoids redundancy and is easy to parse. However, it is under-specified, which detracts slightly from appropriateness but not from conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with multiple formats, options, and possible outputs, yet the description provides minimal contextual guidance. It does not explain the conversion direction, output path behavior, or typical use cases. The schema covers structure but not usage context, so the description is insufficient for correct invocation in many scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, which is high, so the schema already documents most parameters. The description adds no parameter details beyond that, so it does not compensate for any gaps, but it is not required to either. This meets the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb 'convert' and a specific resource 'markup/text formats' listing many formats. However, it does not mention the output formats or differentiate itself from sibling tools like convert_document, convert_ebook, or convert_pdf, making its scope ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention that this is for markup/text files specifically, nor exclude other conversion tools. The agent would have to infer usage from the format list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_mediaA
音频/视频格式互转,支持 MP3/WAV/FLAC/AAC/OGG/M4A/MP4/MKV/AVI/MOV/WebM/FLV/WMV 等,可提取音频、截取片段、嵌入字幕。
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | 转换选项 | |
| input_path | Yes | 输入文件绝对路径 | |
| output_path | No | 输出文件路径(可选,缺省自动生成) | |
| output_format | Yes | 目标格式,如 mp3/mp4/wav/mkv |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states capabilities. It does not disclose whether the input is modified, whether existing output files are overwritten, whether external dependencies like FFmpeg are required (the check_dependencies sibling hints this matters), or whether conversions may be long-running.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence front-loads the core purpose, then delivers the supported format list and three capabilities with zero filler. It does not repeat any parameter descriptions already present in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a nested 13-option object, no output schema, and no annotations, the description covers the primary use cases well but omits what is returned after conversion, prerequisite setup (suggested by the check_dependencies sibling), and output-path/overwrite behavior. This leaves notable gaps for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by linking high-level goals to option groups: 提取音频 maps to extract_audio_only, 截取片段 maps to start_time/duration, and 嵌入字幕 maps to subtitle_path — helping an agent choose the right parameters for a stated request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('音频/视频格式互转') and enumerates 12 supported formats plus three distinct capabilities (audio extraction, segment cutting, subtitle embedding). This clearly differentiates it from sibling converters like convert_image, convert_document, and convert_pdf.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The format list makes it implicitly clear this tool handles audio/video, but the description never states exclusions or names alternatives. Notably, it mentions embedding subtitles while convert_subtitle exists as a sibling, and batch_convert could overlap as well; no routing guidance is given for such cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_pdfB
PDF 专用操作:merge/split/compress/extract_pages/extract_text/extract_images/add_watermark/rotate/to_images。
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | ||
| operation | Yes | PDF 操作类型 | |
| input_path | No | 单个 PDF 路径(merge 以外必填) | |
| input_paths | No | 多个 PDF 路径(仅 merge 需要) | |
| output_path | No | 输出路径 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. The operation list gives a high-level sense of behavior, but it does not disclose side effects, file overwriting behavior, output handling, permissions, or return values. For a multi-operation tool this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the scope ('PDF 专用操作') before listing the supported operations. There is minimal waste, though the list is dense and could benefit from grouping or formatting to aid scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This tool has nine distinct operations, nested options, no annotations, and no output schema, so the description needs to explain more than just the operation list. Missing details include per-operation prerequisites, how options map to operations, output behavior, and expected results, making the definition incomplete for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for the top-level parameters and the nested options, with roughly 80% coverage. The description adds no parameter-specific meaning beyond naming operation types, so it does not substantially improve on what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states clearly that this is a PDF-specific operation tool and enumerates nine supported operations, so an agent can understand the tool's core purpose. It distinguishes itself from general conversion siblings by focusing on PDF manipulation, but it does not explicitly contrast with similar tools like convert_document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'PDF 专用操作' implies this tool should be used for PDF-specific tasks rather than general format conversion. However, there is no explicit guidance about when to prefer this over sibling tools, nor any prerequisites or exclusions for individual operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_presentationB
演示文稿转换:PPTX/PPT/ODP/PDF/HTML/PNG(幻灯片图片)。
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | ||
| input_path | Yes | 输入文件绝对路径 | |
| output_path | No | 输出路径(png 时为目录) | |
| output_format | Yes | 目标格式:pptx/pdf/odp/html/png |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only lists formats and notes that PNG output contains slide images. It does not mention output-path semantics, dependency requirements, side effects, or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the resource and target formats front-loaded; no filler. It is concise, though the ambiguity of the format list (input vs. output) keeps it from being a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a nested options object, no annotations, and no output schema, the description is too thin. It does not clarify key invocation details such as how output_path is used for PNG, what slide_range syntax is for, or how to choose among the closely related sibling conversion tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, so the schema already documents most parameters. The description adds no parameter-level details beyond the format list; it does not elaborate on options like slide_range, notes, image_dpi, or the output_path behavior for PNG.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('转换' / conversion) and a clear resource ('演示文稿' / presentations), and lists supported formats. It does not explicitly distinguish this from sibling tools like convert_document or convert_pdf, though the 'presentation' scope narrows the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used for presentation files by naming '演示文稿', but it never states when to choose it over the many sibling converters (convert_document, convert_image, convert_pdf) or when not to use it. No alternatives or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_spreadsheetB
电子表格转换:XLSX/XLS/ODS/CSV/TSV/JSON/HTML,保留公式、样式与多工作表。
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | ||
| input_path | Yes | 输入文件绝对路径 | |
| output_path | No | 输出文件路径(可选) | |
| output_format | Yes | 目标格式:xlsx/xls/csv/tsv/json/html/ods |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure, but it only makes the blanket claim that formulas, styles, and multiple worksheets are preserved. This is not uniformly true across CSV/TSV/JSON/HTML outputs and conflicts with the schema's include_formulas option, which says computed values are used unless formulas are explicitly kept. It also does not mention overwriting, dependency, or output-path behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, densely informative sentence that front-loads the verb, resource, and supported formats before the key preservation guarantees. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has nested options, no output schema, and no annotations, and it sits among many sibling converters. The description omits how output_path behaves when omitted, format-specific limitations, formula handling details, and any dependencies or side effects, leaving an agent under-informed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is roughly 75% and all visible parameter properties have descriptions, so the schema does most of the work. The description adds no parameter-level detail beyond listing formats, but it does not conflict with the schema; a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific verb '转换' and resource '电子表格', and lists the supported formats (XLSX/XLS/ODS/CSV/TSV/JSON/HTML). It also names distinctive preservation behavior (formulas, styles, multiple sheets), which differentiates it from sibling generic converters like convert_data or convert_document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The format list and '电子表格转换' clearly indicate a spreadsheet-conversion context, but the description does not explicitly state when to choose this tool over convert_data or convert_document, nor does it give exclusions or alternatives. Usage rules are implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_subtitleC
字幕格式转换:SRT/ASS/SSA/VTT,支持编码转换与时间偏移。
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | ||
| input_path | Yes | 输入文件绝对路径 | |
| output_path | No | 输出文件路径(可选) | |
| output_format | Yes | 目标格式:srt/ass/vtt |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It mentions it supports encoding and time offset, but does not state whether it modifies the input file, creates a new output file, or produces any side effects. There is no mention of error handling, permissions, or reversibility. This is a significant gap for a conversion tool that likely writes a new file.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence that front-loads the purpose and key capabilities. It contains no fluff or redundancy. It effectively summarizes the tool's domain and features without unnecessary detail, earning maximum conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a nested options object with four sub-parameters, but the description does not explain their relationship or typical usage. There is no output schema or description of return values (e.g., whether it returns a path, success indicator, or error). The tool's behavior around output_path being optional is not mentioned. This is incomplete for an agent to correctly invoke it without relying heavily on the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has descriptions for input_path, output_path, and output_format, and options has named sub-parameters (fps, encoding, language, time_offset) with their own descriptions, so coverage is high. The description adds little beyond the schema, only reaffirming encoding and time offset features. It does not clarify the meaning of time_offset (e.g., seconds, can be negative) or the format of fps, which the schema already handles. At 75% coverage, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it converts subtitle formats (SRT/ASS/SSA/VTT) and mentions encoding and time offset. It is specific enough to distinguish from sibling media/document converters. However, it does not explicitly state whether these are input or output formats, and it omits the primary output formats (srt/ass/vtt) that appear in the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. It simply says 'subtitle format conversion' and does not mention conditions like 'use when you need to convert subtitle files' or list alternatives to avoid. The tool name and sibling list provide context, but the description itself offers no exclusions or recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_file_infoA
探测文件元信息:格式、编码、分辨率、时长、码率、页数、工作表数等。
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | 文件绝对路径 | |
| include_checksum | No | 包含 MD5/SHA256 校验和 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. '探测' implies a read-only inspection rather than a mutation, and the enumerated metadata fields give a useful sense of behavior. Still, it does not explicitly confirm the file is unmodified, describe error/unsupported-type behavior, or clarify what happens when metadata is unavailable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that lists the key output categories without redundancy or filler. Every part earns its place, and the '等' (etc.) safely signals that the list is non-exhaustive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with two parameters and no output schema, the description covers the main return-value categories but lacks usage guidance and behavioral caveats. Given no annotations or output schema, it is adequate but not complete: an agent does not know about potential errors, default checksum behavior, or file-type limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters adequately. The description adds general context about what metadata is probed but does not clarify the include_checksum parameter or how the metadata list maps to the file_path input. This meets the baseline for full schema coverage without adding parameter-specific value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: '探测文件元信息' (probe file metadata), and lists concrete metadata dimensions (format, encoding, resolution, duration, bitrate, page count, sheet count). This clearly distinguishes it from all sibling tools, which are conversion or dependency-check operations rather than metadata inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the sibling list: this is the only read/inspection tool among converters, so an agent can infer it should be called to inspect files before conversion. However, the description never explicitly states when to use this tool versus alternatives, nor does it mention exclusions such as unsupported file types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_supported_formatsA
查询支持的格式、转换路径与可用引擎,可按分类过滤。
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | 查询特定格式的转换选项 | |
| category | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. The use of '查询' (query) implies a read-only, non-mutating operation, which is the essential behavioral trait. It does not disclose other aspects like permissions or dependencies, but for a simple lookup tool this is acceptable, and there is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that front-loads the core purpose and the filtering capability. There is no redundant information; every word contributes to understanding the tool, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no output schema, the description adequately states what the tool queries: supported formats, conversion paths, and engines, and mentions filtering. It lacks explicit return format details, but the content is clear enough for an agent to invoke the tool correctly. A slightly richer description covering response structure would make it complete, but the current level is sufficient given the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 50% description coverage: 'format' has a description, 'category' does not. The description adds meaning for 'category' by explicitly stating it can filter by category, and the 'format' parameter is already described in the schema. Overall, the description partially compensates for the missing schema description of 'category', but does not go beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: querying supported formats, conversion paths, and available engines, with filtering by category. The verb '查询' (query) combined with the resource makes it distinct from the sibling conversion tools, leaving no ambiguity about its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly mention when to use this tool versus the conversion siblings like convert_media or check_dependencies. However, the read-only 'query' verb and the tool's name imply it is used to discover conversion capabilities before performing conversions, so usage is somewhat implied but not detailed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
14 tool updates
v1.0.0- First observed
batch_convert - First observed
check_dependencies - First observed
convert_data - First observed
convert_document - First observed
convert_ebook - First observed
convert_image - First observed
convert_markup - First observed
convert_media - First observed
convert_pdf - First observed
convert_presentation - First observed
convert_spreadsheet - First observed
convert_subtitle - First observed
get_file_info - First observed
get_supported_formats
TDQS
Scored across 14 tools
每个转换工具针对特定媒体类型(媒体、图像、文档、演示、电子表格、标记、数据、电子书、PDF、字幕),用途明确不重叠。辅助工具如获取支持格式、文件信息、批量转换和依赖检查与转换工具区分明显。
所有工具名称均采用一致的动词_名词模式(如convert_media、get_file_info、batch_convert),全部使用小写蛇形命名法,风格统一,易于预测和选择。
14个工具覆盖了广泛的转换领域,每个工具都针对特定的格式类别或辅助功能,数量适中,没有冗余或明显不足,与服务器目的匹配。
工具集覆盖了媒体、图像、文档、演示、电子表格、标记、数据、电子书、PDF和字幕等多种格式转换,并包含格式查询、文件信息、批量转换和依赖检查等辅助功能,看似完整无重大缺失。
Maintenance
Related MCP Connectors
Document conversion MCP server: PDF to Markdown, image OCR, spreadsheet parsing.
Convert images to PNG, JPEG, WebP, or AVIF through one public remote MCP tool.
Hosted MCP tools for FFmpeg-style video and audio processing through FFMPEG API.
Convert subtitles, transcripts, broadcast captions (SCC/MCC/STL), EDLs, and Premiere files.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables file conversion between 690+ formats (image, video, audio, document, data, font, ebook, archive) using an MCP server, with no API key or signup required.210 npm6MIT
- AlicenseNot gradedqualityAmaintenanceEnables local document conversion between 70+ formats (PDF, Word, Excel, etc.) via MCP, keeping files private.MIT
- AlicenseNot gradedqualityAmaintenanceEnables document conversion and processing through MCP, including Office/PDF/Markdown conversions, OCR, and PDF operations like split, rotate, encrypt, and extract.MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to convert and process various document formats through an MCP server interface.-