UFC-MCP
A local file conversion server supporting audio, video, image, document, and specialized formats via Model Context Protocol. It enables batch and single-file conversions without cloud dependencies.
README
UFC-MCP โ Universal File Converter MCP
A full-featured Model Context Protocol server that lets Claude Desktop (or any MCP host) convert audio, video, image, document, and specialized scientific/business files โ all running locally with no cloud dependencies.
Features
| Category | Formats | Engine |
|---|---|---|
| ๐ต Audio | MP3, WAV, FLAC, AAC, OGG, M4A, AIFF, OPUS, WMA | FFmpeg |
| ๐ฌ Video | MP4, WebM, AVI, MOV, MKV, FLV, WMV, GIF, 3GP | FFmpeg |
| ๐ผ๏ธ Image | JPEG, PNG, WebP, AVIF, GIF, TIFF, ICO, BMP, SVG | Sharp |
| ๐ Document | Markdown, JSON, YAML, HTML, CSV, TXT | Node.js |
| ๐ Spreadsheet | CSV, TSV, XLSX, JSON, HTML, Markdown | Node.js |
| ๐๏ธ Archive | ZIP, GZIP, BZIP2, TAR, 7Z, RAR | Node.js + CLI |
| ๐ค Font | TTF, OTF, WOFF, WOFF2 | fonttools |
| ๐จ 3D Models | OBJ, STL, PLY, GLTF, GLB | Node.js + assimp |
| ๐ง Email | EML, MBOX โ JSON/HTML/TXT | Node.js |
| ๐ผ Music Notation | MIDI, ABC, MusicXML โ JSON | Node.js |
| ๐งฌ Biotech | FASTA, FASTQ, VCF, GFF, PDB* โ JSON/CSV | Node.js |
| ๐ฐ Fintech | OFX, QFX, QIF, MT940 โ JSON/CSV | Node.js |
| ๐ฆ Logistics | EDI, EDIFACT, GPX โ JSON/GeoJSON | Node.js |
| โ๏ธ Dev Formats | TOML, INI, ENV, XML, Protobuf โ JSON | Node.js |
| ๐ Statistics | R, MATLAB, SPSS, Stata โ JSON/CSV | Node.js + Python* |
| ๐งช Chemistry | MOL, SDF, XYZ, SMILES โ JSON/CSV; PDB* (via external RDKit/Open Babel tools) | Node.js + RDKit* |
| ๐ญ Astronomy | FITS โ JSON/CSV (header) | Node.js + astropy* |
| ๐ Geoscience | KML, GeoJSON, NetCDF*, HDF5* โ JSON | Node.js + Python* |
* Some advanced features require optional Python libraries. PDB* conversion currently relies on external RDKit/Open Babel tooling and is not handled by the built-in ChemistryProcessor.
MCP Tools
convert_audioโ bitrate, sample rate, channel controlconvert_videoโ trim, resize, fps, bitrate, audio extractionconvert_imageโ resize, compress, rotate, grayscale, icon set generationconvert_documentโ bidirectional: MD โ JSON โ YAML โ HTML โ CSVconvert_spreadsheetโ CSV, TSV, XLSX โ JSON, HTML, Markdownconvert_archiveโ compress/decompress archives with various formatsconvert_fontโ convert between font formatsconvert_3dโ convert 3D model formatsconvert_emailโ parse email files to JSON/HTML/TXTconvert_musicโ music notation to structured JSONconvert_biotechโ bioinformatics file conversionsconvert_fintechโ financial data format conversionsconvert_logisticsโ supply chain & geospatial conversionsconvert_dev_formatโ config/schema format conversionsconvert_statisticsโ statistical data formats (R, MATLAB, SPSS, Stata)convert_chemistryโ molecular file formats (MOL, SDF, XYZ, SMILES)convert_astronomyโ astronomy data (FITS files)convert_geoscienceโ geoscience formats (KML, NetCDF, HDF5)batch_convertโ parallel multi-file conversionget_supported_formatsโ list all formats by categoryget_conversion_historyโ session conversion log
Requirements
- Node.js โฅ 18
- FFmpeg on
PATH(required for audio/video)
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpeg
# Windows
winget install Gyan.FFmpeg
Installation
npm install
npm run build
Claude Desktop Setup
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"file-converter": {
"command": "node",
"args": ["/path/to/UFC-MCP/dist/index.js"]
}
}
}
Restart Claude Desktop and start converting!
Example Prompts
"Convert /music/beat.mp3 to WAV at 48000Hz stereo"
"Batch convert all MP3s in /stems/ to FLAC"
"Convert broll.mov to WebM, trim to first 30 seconds"
"Extract audio from interview.mp4 as a WAV file"
"Convert logo.png to WebP at quality 90, 800px wide"
"Generate a full icon set from app-icon.png"
"Convert README.md to JSON for my API response"
"Transform data.csv to JSON, then to Markdown table"
"Convert molecule.mol to JSON with atom coordinates"
"Parse FITS astronomy file header to JSON"
"Convert protein.pdb to structured JSON"
"Transform financial_data.ofx to CSV"
"Convert research_data.mat MATLAB file to JSON"
"Parse KML map data to GeoJSON format"
Project Structure
src/
index.ts # MCP server entry point
state/
ConversionState.ts # Conversion history & status tracking
processors/
AudioProcessor.ts # FFmpeg-based audio conversion
VideoProcessor.ts # FFmpeg-based video conversion
ImageProcessor.ts # Sharp-based image conversion
DocProcessor.ts # Pure Node.js document conversion
SpreadsheetProcessor.ts # Spreadsheet/tabular data conversion
ArchiveProcessor.ts # Archive compression/decompression
FontProcessor.ts # Font format conversion
3DProcessor.ts # 3D model conversion
EmailProcessor.ts # Email file parsing
MusicProcessor.ts # Music notation conversion
BiotechProcessor.ts # Bioinformatics file conversion
FintechProcessor.ts # Financial data conversion
LogisticsProcessor.ts # Supply chain & geospatial conversion
DevFormatProcessor.ts # Developer config/schema conversion
StatisticsProcessor.ts # Statistical data format conversion
ChemistryProcessor.ts # Molecular/chemistry file conversion
AstronomyProcessor.ts # Astronomy data conversion
GeoscienceProcessor.ts # Geoscience data conversion
dashboard/
index.html # Visual overview dashboard
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.