MCP server for ConvertFileFast — convert 50+ file formats and run PDF/image operations as AI-agent tools.
Project description
ConvertFileFast MCP server
An MCP server that lets AI agents (Claude Desktop, Claude Code, Cursor, etc.) convert files and run PDF/image operations through the ConvertFileFast API.
It is a separate service that talks to the ConvertFileFast REST API over HTTP — it does not import the backend, so it never affects the API's dependencies, and it mirrors how the hosted MCP runs in production.
Tools
| Tool | What it does |
|---|---|
convert_file |
Convert between 40+ format pairs (DOCX→PDF, PDF→CSV, PDF→JPG, HTML→PDF, URL→PDF, PNG→JPG, CSV→JSON, …) |
merge_pdfs |
Merge multiple PDFs into one |
split_pdf |
Extract pages/ranges from a PDF |
compress_pdf |
Reduce PDF size (low/medium/high/maximum) |
rotate_pdf |
Rotate pages (90/180/270°) |
protect_pdf |
Add password protection |
unlock_pdf |
Remove password protection |
resize_image |
Resize an image |
compress_image |
Compress an image (and optionally cap dimensions) |
Every tool accepts a public source_url (preferred — the agent passes a URL and
never handles binary) or file_base64. The result file is written to the
output directory and the tool returns its path.
Prerequisites
A ConvertFileFast API key (starts with cff_). Create one at
https://www.convertfilefast.com/signup.
Configuration
The server reads these environment variables:
| Variable | Default | Purpose |
|---|---|---|
CONVERTFILEFAST_API_KEY |
— | Your cff_ key (sent as X-API-Key) |
CONVERTFILEFAST_API_BASE |
https://api.convertfilefast.com |
API base URL (set to http://127.0.0.1:8000 to test against a local backend) |
CONVERTFILEFAST_OUTPUT_DIR |
~/ConvertFileFast |
Where converted files are saved |
CONVERTFILEFAST_TIMEOUT |
180 |
Per-request timeout (seconds) |
Install (recommended — live on PyPI)
The portable, machine-independent way — works on any machine with uv installed:
{
"mcpServers": {
"convertfilefast": {
"command": "uvx",
"args": ["convertfilefast-mcp"],
"env": { "CONVERTFILEFAST_API_KEY": "cff_REPLACE_WITH_YOUR_KEY" }
}
}
}
Add that block to Claude Desktop (%APPDATA%\Claude\claude_desktop_config.json),
Cursor (~/.cursor/mcp.json), or any MCP client, restart it, and ask:
"Convert https://example.com/report.docx to PDF."
Package page: https://pypi.org/project/convertfilefast-mcp/
Local development install
To run from a local checkout (while developing the package), point your MCP client at the repo's virtual environment instead.
Claude Desktop
Edit %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"convertfilefast": {
"command": "C:\\Projetos\\GitHub-Clones\\conversor-pdf\\mcp\\.venv\\Scripts\\python.exe",
"args": ["C:\\Projetos\\GitHub-Clones\\conversor-pdf\\mcp\\server.py"],
"env": {
"CONVERTFILEFAST_API_KEY": "cff_REPLACE_WITH_YOUR_KEY"
}
}
}
}
Restart Claude Desktop, then ask: "Convert https://example.com/report.docx to PDF."
Cursor
Add the same block to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per
project).
Claude Code
claude mcp add convertfilefast \
--env CONVERTFILEFAST_API_KEY=cff_REPLACE_WITH_YOUR_KEY \
-- "C:\Projetos\GitHub-Clones\conversor-pdf\mcp\.venv\Scripts\python.exe" \
"C:\Projetos\GitHub-Clones\conversor-pdf\mcp\server.py"
Testing against the local backend: add
"CONVERTFILEFAST_API_BASE": "http://127.0.0.1:8000"to theenvblock and start the backend first (uvicorn app.main:appfromapi/).
Development
# from this directory
uv venv .venv --python 3.12
uv pip install --python .venv/Scripts/python.exe fastmcp httpx
# run (stdio)
CONVERTFILEFAST_API_KEY=cff_... .venv/Scripts/python.exe server.py
Inspect the tools with the MCP Inspector:
npx @modelcontextprotocol/inspector .venv/Scripts/python.exe server.py
mcp-name: io.github.MLTCorp/convertfilefast
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file convertfilefast_mcp-0.1.1.tar.gz.
File metadata
- Download URL: convertfilefast_mcp-0.1.1.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cff6bbff8b57cbc8e138100f82baeaf3ee6e33a67096e1e41c65990619106c59
|
|
| MD5 |
1e20868857430fcb34e1fd64e8c90f07
|
|
| BLAKE2b-256 |
4cea386e48355ed33f900b4ad7cd8e23c8caa6e6d827bad7b0151e6f55ebe91a
|
File details
Details for the file convertfilefast_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: convertfilefast_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1e7fd9ff4d185ed43b8fc6a301bc51a1cc5acd77e84f9455b85a79c2a238ebd
|
|
| MD5 |
26133526d52b7a0642e2c34727e566cd
|
|
| BLAKE2b-256 |
eaf4184ba59815c2fbbcefc74dcc4c5c6b2d8978e1f14bf63abcf9c8b3a7e5f8
|