File Convert MCP Server
Convert files between various formats, including images, documents, audio, video, and more.
File Convert MCP Server
A Model Context Protocol (MCP) server for converting files between various formats.
File Convert is an MCP server designed to handle the conversion of a wide array of file formats, including images, office documents, audio, video, text, and data files. It aims to provide seamless transformation into popular formats such as PDF, JPG, MP4, and HTML, among others. This server offers a set of powerful tools to convert diverse file types into easily accessible and widely compatible formats like PDF, JPG, PNG, TXT.
✨ Features
- Intelligent File Type Detection: Employs a combination of AI, TrID, and magic bytes for accurate file type identification.
- Versatile File Conversion: Supports conversion between numerous file types and the following popular formats:
- Images: Handles a vast range of formats, including many legacy ones. Converts to PDF, JPG, PNG.
- Office Documents: Converts to PDF, TXT, HTML.
- Audio/Video: Converts to MP3, MP4.
- Databases: Converts to CSV.
- Various Files: Offers conversion capabilities for other file types as well.
🛠️ Requirements
- Python: Version 3.12 or higher is required.
- uv Tool: Install the Python uv tool for efficient dependency management and easy execution of the MCP server.
- API Key (Development): As of May 2025, the MCP is in its testing phase, and no API key is currently required for development. For future production use, please contact the Convert.Guru team to obtain an API key.
🚀 Usage with Desktop App
To integrate this server with your desktop application, add the following configuration to your app's server settings. If necessary, adjust the absolute path to the uv
/uvx
executables (or uv.exe
/uvx.exe
on Windows).
Using uvx
(recommended):
{
"mcpServers": {
"file-convert": {
"command": "uvx",
"args": ["--from", "git+https://github.com/convertguru/file-convert-mcp.git", "file-convert-mcp"],
"env": {
"CONVERT_GURU_API_KEY": "your_api_key_here"
}
}
}
}
If you have cloned the repository locally (adjust paths as needed):
{
"mcpServers": {
"file-convert": {
"command": "/home/User/.local/bin/uv",
"args": ["--directory", "/home/User/file-convert-mcp/src/file_convert_mcp", "run", "server.py"],
"env": {
"CONVERT_GURU_API_KEY": "your_api_key_here"
}
}
}
}
Using local uvx
:
{
"mcpServers": {
"file-convert": {
"command": "uvx",
"args": ["--from", "/home/User/file-convert-mcp", "file-convert-mcp"],
"env": {
"CONVERT_GURU_API_KEY": "your_api_key_here"
}
}
}
}
Also, see this guide on how to set up MCP tools in Claude Desktop.
Installing via Smithery
To install file-convert-mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @convertguru/file-convert-mcp --client claude
🛠️ Development
Get started with local development by following these steps:
1. Clone the repository:
git clone https://github.com/convertguru/file-convert-mcp.git
2. Fetch and cache Python dependencies (optional, uvx
handles this automatically):
cd file-convert-mcp
uv sync
cd ..
3. Create .env file with your (optional for now) API key:
echo "CONVERT_GURU_API_KEY=your_api_key_here" > file-convert-mcp/.env
4. Run the MCP server locally using various uv
commands:
# Using uvx with .env file from the local directory
cd file-convert-mcp
UV_ENV_FILE=.env uvx --from ./file-convert-mcp file-convert-mcp
# OR using uv directly to run the server script
uv run file-convert-mcp/src/file_convert_mcp/server.py
# OR specifying the directory for uv
uv --directory file-convert-mcp/src/file_convert_mcp run server.py
# OR navigating into the server directory
cd file-convert-mcp/src/file_convert_mcp
uv run server.py
# OR using uvx to fetch the core from the GitHub repository + local .env file
UV_ENV_FILE=.env uvx --from git+https://github.com/convertguru/file-convert-mcp.git file-convert-mcp
5. Modify the server logic if needed:
Edit the main server file located at src/file_convert_mcp/server.py.
6. Clearing the uv
Cache (if needed):
If uv
has cached an older version of the code in ~/.cache/uv
, you might need to clear the cache. Alternatively, use uv
with the -n
or --no-cache
option to bypass it.
⚙️ Available Tools
The MCP server provides the following tools:
detect_file_type
: Analyzes the first 200 bytes of an uploaded file and uses the Convert.Guru API to determine its type.convert_file
: Converts a given file to a specified output format. The desired file extension should be passed as theext_out
parameter.
📜 License
Visit us https://convert.guru
This project is licensed under the MIT License - see the LICENSE file for complete details.
Related Servers
ZIP MCP Server
Compress and decompress ZIP files, with support for multi-file packaging, password protection, and encryption.
Android Filesystem
Securely browse and read files within an Android project, with built-in validation and access controls for sensitive directories.
File Merger
A simple utility to combine multiple files into a single file.
MCP-PROCESS
Provides shell access to execute commands and interact with the local file system.
Filesystem MCP Server
Perform filesystem operations within specified directories.
CData FTP Server
A read-only MCP server for querying live FTP data using the CData JDBC Driver.
Music Collection MCP Server
An MCP server for intelligent access to your local music collection, featuring metadata management, band discovery, and advanced querying.
Java Filesystem & Web MCP Server
An MCP server for LLM agents to perform filesystem operations and access web resources.
Excel/CSV MCP Server
Read, analyze, and manipulate data in Excel (XLSX, XLS) and CSV files with advanced filtering and analytics.
MCP Start App
An MCP server for local file management and system operations.