hushvert

File conversion for AI agents: office docs to PDF, PDF to Word, document interchange, and audio/video transcodes via the hushvert hosted API.

Documentation

hushvert

@hushvert/mcp

npm license

A file-conversion tool for your AI agent.

@hushvert/mcp is a Model Context Protocol server that gives an AI coding agent (Claude Code, Cursor, Cline, Zed, and any other MCP host) a convert_file tool over the hushvert hosted API. When a task needs a conversion a browser cannot do - office documents to PDF, PDF to Word, large video transcodes - the agent converts the file in one tool call, and the result is written next to the input. No upload code, no polling, no glue.

It is a thin client over the hushvert hosted API. For the conversions that DO run in a browser (images, HEIC, archives, audio, small video, PDF page ops), use the free, open-source @hushvert/engine package instead - this server will refuse those and point you there.

Install

Get an API key from your hushvert account (developer section - a confirmed email is required), then add the server to your agent's MCP config.

Claude Code (.mcp.json in your project, or the user config):

{
  "mcpServers": {
    "hushvert": {
      "command": "npx",
      "args": ["-y", "@hushvert/mcp"],
      "env": { "HUSHVERT_API_KEY": "hv_live_your_key_here" }
    }
  }
}

The same command / args / env block works for Cursor, Cline, Zed, and other MCP hosts. Then ask your agent: "convert report.docx to PDF."

Tools

ToolWhat it does
convert_fileConvert a local file to another format. Reads the input, runs the conversion, writes the output, returns the path.
convert_pollFinish a long conversion (large video) that was still running when convert_file returned.
list_formatsList the conversions the hosted API supports (the server-only pairs).
check_usageShow free conversions remaining, credit balance, and the current billing window.

convert_file

input_path       (required) path to the source file
to               (required) target format, e.g. "pdf", "docx", "mp4"
from             (optional) source format; inferred from the extension otherwise
output_path      (optional) where to write; defaults beside the input. Required to overwrite.
wait_seconds     (optional) max seconds to wait before handing back a jobId to poll. Default 120.
idempotency_key  (optional) makes a retried conversion safe (same job, charged once)

Returns { output_path, jobId, pair, bytesIn, bytesOut, status }. If the job is still running after wait_seconds (typical for large video), it returns { jobId, status: "processing", resumeWith: "convert_poll" }; call convert_poll with the jobId and an output_path to finish.

What it converts

The server-only formats a browser cannot do:

  • Office to PDF: docx, pptx, xlsx, doc, ppt, xls, odt, ods, odp, rtf, html to pdf
  • PDF to Word: pdf to docx
  • Document interchange: md, html, epub, latex, rst, docx (via pandoc)
  • Video: mov, mkv, avi, webm to mp4 (and mp4 to gif)

Call list_formats for the live list. Everything else (images, HEIC, archives, audio, small video, PDF page ops) runs free, client-side, in @hushvert/engine.

Configuration

Env varDefaultPurpose
HUSHVERT_API_KEY(required)Your hv_live_ developer key.
HUSHVERT_API_BASEhttps://hushvert.comAPI base URL (for self-host / staging).
HUSHVERT_DEFAULT_WAIT_SECONDS120Default poll budget for convert_file.
HUSHVERT_MAX_JOBS_PER_SESSIONunlimitedClient-side cap on conversions per server run (a guard against runaway loops).
HUSHVERT_ALLOWED_DIRunsetIf set, the server only reads/writes files under this directory.

Billing and privacy

Conversions are billed per use against your account: a free monthly allowance, then credits. check_usage shows your remaining allowance and balance at any time - have your agent check it before a large batch. The hosted API processes the server-only formats that genuinely cannot run in a browser; for everything else the file never leaves the device via the open-source engine. See hushvert.com/for-developers.

Security

The API key is read from the environment, never logged, and never returned in a tool result or error. See SECURITY.md.

License

MIT