Hushvert

com.hushvert由 hushvert.com 发布v0.1.0更新于 Oct 24, 2026

File conversion for AI agents: office docs, PDF to Word, video, and LLM-ready markdown via API.

已验证STDIO仅桌面文件与存储媒体与设计

概览

AI 生成的概览

Hushvert 通过托管 API 转换本地文件(Office 文档转 PDF、PDF 转 Word、视频转 MP4),为助手提供 convert_file 工具。

可以做什么
  • 把本地文件转换为另一种格式,结果写在输入文件旁并返回路径
  • 通过轮询任务 ID 完成大视频等耗时较长的转换
  • 列出托管 API 支持的转换类型
  • 查看剩余免费转换次数、积分余额和当前计费周期
适用场景
当助手需要转换 Office 文档、PDF 或大视频,而机器上没有可靠的本地转换器(如 LibreOffice),或需要在笔记本、CI 和容器中保持一致行为时适用。若已安装 LibreOffice 且助手会使用它,则无需此服务器。
运行要求
以 stdio 在本地运行,通常通过 npx 启动,因此需要 Node.js。需要在 HUSHVERT_API_KEY 中提供 Hushvert 开发者 API 密钥(通过一次性邮件验证码登录获取),并需要访问托管 API 的网络。可选变量可设置 API 基础地址、默认等待时间、单次会话任务上限和允许的目录。
安装前请注意
转换按次计费,免费月度额度用完后消耗积分,大批量转换会产生费用。仅服务器端支持的格式会上传到托管 API,文件内容会离开本机。API 密钥属于机密,不要写入提交到仓库的配置文件,应通过环境变量传入。转换会写入磁盘文件,覆盖已有文件需显式指定输出路径。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Hushvert,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[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.

Demo

A real run in Claude Code, recorded live and not sped up: ask, and report.pdf is written next to the input. The whole turn took 23 seconds, of which the conversion itself was about 7.

[Claude Code converting report.docx to PDF with the hushvert MCP server]

The recording starts Claude Code with only this server loaded (--strict-mcp-config) so nothing unrelated is on screen. The tape that produced it is assets/demo.tape, if you want to reproduce it.

Claude Code can already convert files. Why this?

Because it can only convert what your machine can convert, and when it cannot, it does not fail loudly.

Ask any coding agent to turn report.docx into a PDF. If LibreOffice is installed, it will shell out to soffice, do a good job, and you do not need this server. If LibreOffice is not installed, and it is not there by default on macOS, on Windows, or in a typical CI image, the usual fallback is pandoc. Pandoc does not really convert a Word document. It reads the text into its own AST, hands that to LaTeX, and LaTeX typesets a new document. You get a PDF. The agent reports success. Nobody opens the file.

Here is the same report.docx down both paths:

[The same Word document converted by pandoc and by hushvert, side by side]

Same words, different document. Every font in the pandoc PDF is Latin Modern, LaTeX's default. The heading color is gone, the table lost its Word styling, and the title moved into a centered LaTeX title block. pdffonts on the two outputs:

pandoc     LMRoman17-Regular, LMRoman12-Bold, LMRoman10-Italic, ...hushvert   Carlito-Regular, Carlito-Bold, Carlito-Italic

Carlito is metric-compatible with Calibri, which is what the document actually asked for. Latin Modern is not.

So, honestly:

  • If LibreOffice is installed and your agent reaches for it, you do not need this server. That is a real answer, and it is the right one for a lot of people.
  • If it is not installed, this is one line of config instead of a 281 MB download, and it behaves the same on your laptop, in CI, in a container, and on a machine you are not allowed to install software on.
  • Name the tool if it matters. On a machine that had both this server and pandoc available, we asked the plain way ("convert report.docx to PDF") twice: Claude Code used convert_file once and pandoc the other time, and the two runs produced the two documents above. Which tool an agent reaches for is its call, not ours. "Convert report.docx to PDF with hushvert" pins it.

Install

Get an API key at hushvert.com/developers/keys (sign-in is a one-time email code; keys require a confirmed email), then add the server to your agent's MCP config.

Claude Code - one line, no file to edit:

bash
claude mcp add hushvert -e HUSHVERT_API_KEY=hv_live_your_key_here -- npx -y @hushvert/mcp

Cursor, Cline, Zed, and other MCP hosts (or Claude Code, if you prefer a committed project config) - add this block to the host's MCP config (.mcp.json, .cursor/mcp.json, and so on):

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

If that file is committed, do not put the key in it. Claude Code expands environment variables in an MCP config, so use "HUSHVERT_API_KEY": "${HUSHVERT_API_KEY}" and keep the real key in your shell. Other hosts vary; check yours before committing.

Then ask your agent: "convert report.docx to PDF with hushvert." Naming the server is worth the two extra words: if your machine has a local converter, the agent may reach for that instead, and for office documents the result is usually worse. See above.

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 fileto               (required) target format, e.g. "pdf", "docx", "mp4"from             (optional) source format; inferred from the extension otherwiseoutput_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

来源:README.md,提交 cecb4b6

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分