hushvert
File conversion for AI agents: office docs to PDF, PDF to Word, document interchange (Markdown/HTML/EPUB/LaTeX), and audio/video transcodes via the hushvert hosted API. Tools: convert_file, convert_poll, list_formats, check_usage.
README
<p align="center"><img src="assets/logo.png" width="84" alt="hushvert" /></p>
@hushvert/mcp
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
| Tool | What it does |
|---|---|
convert_file |
Convert a local file to another format. Reads the input, runs the conversion, writes the output, returns the path. |
convert_poll |
Finish a long conversion (large video) that was still running when convert_file returned. |
list_formats |
List the conversions the hosted API supports (the server-only pairs). |
check_usage |
Show 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 var | Default | Purpose |
|---|---|---|
HUSHVERT_API_KEY |
(required) | Your hv_live_ developer key. |
HUSHVERT_API_BASE |
https://hushvert.com |
API base URL (for self-host / staging). |
HUSHVERT_DEFAULT_WAIT_SECONDS |
120 |
Default poll budget for convert_file. |
HUSHVERT_MAX_JOBS_PER_SESSION |
unlimited | Client-side cap on conversions per server run (a guard against runaway loops). |
HUSHVERT_ALLOWED_DIR |
unset | If 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.