Skip to main content
Glama
Formatika MCP

Formatika MCP

Official

@formatika/mcp

Convert, resize, compress, crop and rotate files straight from your agent, using formatika.app.

Your agent gets the tools; the files stay on your machine until a job needs them and come back as soon as it is done.

Use it

No installation and no account needed to start:

npx @formatika/mcp

Claude Code

claude mcp add formatika -- npx -y @formatika/mcp

Claude Desktop, Cursor and other clients

Add this to the MCP servers section of the client configuration:

{
  "mcpServers": {
    "formatika": {
      "command": "npx",
      "args": ["-y", "@formatika/mcp"]
    }
  }
}

On Windows, Claude Desktop launches the server without a shell and cannot find npx directly. Use this instead:

{
  "mcpServers": {
    "formatika": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@formatika/mcp"]
    }
  }
}

Fully restart the client after editing the configuration.

Related MCP server: mcp-file-servers

Then just ask

Compress every photo in ./screenshots and put the results in ./web

Convert all the HEIC files in this folder to JPEG

Make a square 512×512 avatar out of portrait.png

Tools

The tool list comes from the service at start-up, so it never lags behind what formatika can actually do — this README does not have to be updated for a new tool to appear in your agent.

Today that is images, audio, video, PDF, archives, subtitles and tables: over thirty tools. The current list, with what each one does, is at formatika.app/mcp.

Every tool takes paths — one or more files — and an optional outputDir. Results are written next to the source file unless you say otherwise, and existing files are never overwritten: a name that is taken gets a number.

Limits and keys

Without a key you get a daily allowance, which is enough for occasional work. For volume, create a key at formatika.app/account and pass it in:

{
  "mcpServers": {
    "formatika": {
      "command": "npx",
      "args": ["-y", "@formatika/mcp"],
      "env": { "FORMATIKA_API_KEY": "fk_..." }
    }
  }
}

FORMATIKA_URL points the server somewhere else — useful if you run formatika yourself.

Privacy

Files are processed and deleted: two hours without an account, twenty-four hours with one. They are not looked at, not shared and not used to train anything. See the privacy policy.

License

MIT


About this repository

This is a read-only mirror of the packages/mcp directory of the formatika monorepo, published so that the package has a public home: catalogues link to it, and people who read code before installing it can do so.

Pull requests here cannot be merged — the next sync would overwrite them. Issues, however, are read and welcome: bugs, missing tools, awkward APIs.

Mirrored from commit e06be38.

Available Tools

38 tools
archive_unzipA

Unzip files. Get the files out of an archive. Paths like "../.." are defused, and an archive that expands out of all proportion to its size is refused. Accepts application/zip, application/x-zip-compressed, .zip; up to 100 MB per file.

Inputs: paths (required), outputDir.

archive_zipA

Create a ZIP. Put several files into one archive so you can send them as a single attachment. Packed in the browser — the files never reach a server. Accepts /; up to 100 MB per file.

Inputs: paths (required), level, outputDir.

audio_convertA

Audio converter. Convert audio between MP3, AAC, OPUS, FLAC, WAV and OGG. Pick a bitrate, drop it to mono, change the sample rate. Accepts audio/*, .m4a, .opus, .aac, .wma; up to 200 MB per file.

Inputs: paths (required), format (required), mono, outputDir, +2 more.

audio_extractA

Extract audio from video. Pull the soundtrack out of a video file. When the track can be lifted as is, nothing is re-encoded and nothing is lost. Accepts video/*, .mkv, .webm, .mov, .avi, .m4v; up to 500 MB per file.

Inputs: paths (required), format, outputDir, bitrateKbps.

audio_mergeA

Merge audio. Join several recordings into one, in the order you picked. Matching files are joined without re-encoding — instantly and with no quality lost. Accepts audio/*, .m4a, .opus, .aac; up to 200 MB per file.

Inputs: paths (required), format, outputDir, bitrateKbps.

audio_normalizeA

Normalize loudness. Even out loudness to the EBU R128 broadcast standard, in two passes — so the recording does not breathe. Accepts audio/*, .m4a, .opus, .aac; up to 200 MB per file.

Inputs: paths (required), target, truePeak, outputDir.

audio_silence-trimA

Trim silence. Cut the silence at the start and the end of a recording. Pauses inside are left alone — in speech they carry meaning. Accepts audio/*, .m4a, .opus, .aac; up to 200 MB per file.

Inputs: paths (required), keepMs, outputDir, thresholdDb.

audio_tagsA

Edit audio tags. Change the title, artist and album. The audio itself is copied untouched, so nothing is lost and it takes no time. Accepts audio/*, .m4a, .opus, .aac; up to 200 MB per file.

Inputs: paths (required), year, album, clear, +3 more.

audio_trimA

Trim audio. Cut a fragment out of a recording by timecodes. By default the stream is copied, so the cut costs no quality. Accepts audio/*, .m4a, .opus, .aac; up to 200 MB per file.

Inputs: paths (required), end, fade, start, +2 more.

data_convertA

CSV, JSON and YAML. Convert a table from one format to another. Commas and line breaks inside fields do not break the parser. Runs in the browser — the data stays with you. Accepts text/csv, text/tab-separated-values, application/json, application/yaml, text/yaml, .csv, .tsv, .json, .yaml, .yml; up to 20 MB per file.

Inputs: paths (required), format, outputDir.

document_convertA

Documents to PDF. Word, Excel and PowerPoint to PDF so the layout survives the trip. Takes docx, xlsx, pptx as well as older doc, xls, ppt and open odt, ods, odp. Accepts application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/vnd.oasis.opendocument.text, application/vnd.oasis.opendocument.spreadsheet, application/vnd.oasis.opendocument.presentation, application/rtf, .docx, .xlsx, .pptx, .doc, .xls, .ppt, .odt, .ods, .odp, .rtf, .txt; up to 50 MB per file.

Inputs: paths (required), archival, outputDir.

document_for-emailA

Document for sending. Word, Excel or a deck becomes a PDF and is compressed right away — so the attachment fits through mail and the layout survives the trip. Accepts application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/vnd.oasis.opendocument.text, application/vnd.oasis.opendocument.spreadsheet, application/vnd.oasis.opendocument.presentation, application/rtf, .docx, .xlsx, .pptx, .doc, .xls, .ppt, .odt, .ods, .odp, .rtf, .txt; up to 50 MB per file.

Inputs: paths (required), outputDir.

image_compressA

Compress image. Make a photo lighter — down to a size limit or by quality. Handy when a form refuses a large file. Accepts image/*, .heic, .heif, .avif; up to 50 MB per file.

Inputs: paths (required), format, quality, maxWidth, +2 more.

image_convertB

Image converter. Convert images between JPG, PNG, WebP, AVIF and HEIC. Resize and strip EXIF along the way. Accepts image/*, .heic, .heif, .avif; up to 50 MB per file.

Inputs: paths (required), format (required), resize, quality, +2 more.

image_cropA

Crop image. Cut a photo to a ratio — square for an avatar, 16:9 for a cover. Nothing gets scaled down. Accepts image/*, .heic, .heif, .avif; up to 50 MB per file.

Inputs: paths (required), aspect, format, quality, +2 more.

image_for-webA

Photo for a website. Strips the geotag and camera data, fits the long side into 1600 pixels and encodes WebP. One step instead of three settings. Accepts image/*, .heic, .heif, .avif; up to 50 MB per file.

Inputs: paths (required), outputDir.

image_metadataA

Remove EXIF and location. Strip the camera model, the date and — most importantly — the coordinates from a photo. JPEG and PNG are cleaned byte by byte, so the picture itself is not touched. Accepts image/*, .heic, .heif, .avif; up to 50 MB per file.

Inputs: paths (required), keepIcc, outputDir.

image_paletteA

Colour palette from an image. Pull the main colours out of a picture and get ready-made CSS variables. Runs in your browser: the photo never leaves it. Accepts image/*, .heic, .heif, .avif; up to 50 MB per file.

Inputs: paths (required), colors, outputDir.

image_resizeA

Resize image. Change the dimensions of a photo or picture. Fits within your numbers without enlarging. Accepts image/*, .heic, .heif, .avif; up to 50 MB per file.

Inputs: paths (required), fit, width, format, +3 more.

image_rotateA

Rotate image. Turn a photo by 90, 180 or 270 degrees, or mirror it. Sideways phone shots get fixed. Accepts image/*, .heic, .heif, .avif; up to 50 MB per file.

Inputs: paths (required), angle, format, outputDir, +2 more.

pdf_compressA

Compress PDF. Make a PDF lighter by re-encoding the images inside it. If the result is not meaningfully smaller, you get the original back — untouched. Accepts application/pdf, .pdf; up to 100 MB per file.

Inputs: paths (required), preset, grayscale, outputDir.

pdf_from-imageA

Images to PDF. Turn photos and scans into one PDF, in the order you picked. HEIC from an iPhone works too. Accepts image/*, .heic, .heif, .avif; up to 50 MB per file.

Inputs: paths (required), quality, marginMm, pageSize, +1 more.

pdf_mergeA

Merge PDF. Join several PDF files into one, in the order you picked. Nothing is re-rendered: pages are copied as they are. Accepts application/pdf, .pdf; up to 100 MB per file.

Inputs: paths (required), outputDir, keepMetadata.

pdf_pagesA

Rotate and delete PDF pages. Turn pages that were scanned sideways and drop the ones you do not need — in one pass over the document. Accepts application/pdf, .pdf; up to 100 MB per file.

Inputs: paths (required), remove, rotate, outputDir, +1 more.

pdf_splitA

Split PDF. Pull pages out of a PDF — a range, a few ranges, or every page as its own file. Accepts application/pdf, .pdf; up to 100 MB per file.

Inputs: paths (required), mode, pages, outputDir.

pdf_to-imageA

PDF to images. Turn PDF pages into JPG or PNG — one image per page. Handy when the document has to be shown where PDF is not opened. Accepts application/pdf, .pdf; up to 100 MB per file.

Inputs: paths (required), dpi, pages, format, +1 more.

text_subtitlesA

Convert subtitles. Turn SRT into VTT and back, and shift the timings while you are at it. Runs in your browser — it is text, nothing needs a server. Accepts .srt, .vtt, text/vtt, text/plain, application/x-subrip; up to 5 MB per file.

Inputs: paths (required), format, shiftMs, outputDir.

utility_base64A

File to base64 and back. Encode a file as base64 — to paste an image straight into CSS, say — or decode a base64 string back into a file. The direction is worked out for you. Accepts /; up to 20 MB per file.

Inputs: paths (required), dataUri, outputDir, lineBreaks.

utility_hashA

File checksum. Work out the MD5, SHA-1, SHA-256 or SHA-512 of a file to check that what you downloaded is what was published. The file never leaves your device. Accepts /; up to 500 MB per file.

Inputs: paths (required), algorithm, outputDir.

video_compressA

Compress video. Fit a recording into a given number of megabytes — to send by email or messenger. We work out the bitrate for your limit and encode in two passes to hit it. Accepts video/*, .mp4, .mov, .mkv, .webm, .avi, .m4v; up to 500 MB per file.

Inputs: paths (required), targetMb, audioKbps, outputDir.

video_convertA

Convert video. Turn a video into MP4, WebM or MKV. MP4 plays everywhere, WebM is for the web, MKV is what you usually need to open somewhere else. Accepts video/*, .mp4, .mov, .mkv, .webm, .avi, .m4v; up to 500 MB per file.

Inputs: paths (required), speed, format, quality, +1 more.

video_for-messengerA

Video for a messenger. Squeezes the recording to 24 megabytes — a size that passes both mail and messengers. The bitrate is computed for your file; the audio stays. Accepts video/*, .mp4, .mov, .mkv, .webm, .avi, .m4v; up to 500 MB per file.

Inputs: paths (required), outputDir.

video_muteA

Remove audio from video. Drop the sound track. The picture is copied as is — no quality loss and no waiting. Accepts video/*, .mp4, .mov, .mkv, .webm, .avi, .m4v; up to 500 MB per file.

Inputs: paths (required), outputDir.

video_resizeA

Resize video. Convert a recording to 1080p, 720p, 480p or 360p. Width follows the original proportions, so nothing gets stretched. Upscaling is refused: it adds no detail and only inflates the file. Accepts video/*, .mp4, .mov, .mkv, .webm, .avi, .m4v; up to 500 MB per file.

Inputs: paths (required), height, quality, outputDir.

video_subtitlesA

Add subtitles to video. Burn subtitles into the picture or attach them as a track. Burned-in subtitles show everywhere, even where nobody turns them on; attached ones the viewer can switch off, and the picture is not re-encoded. Accepts video/*, .mp4, .mov, .mkv, .webm, .srt, .vtt, .ass, .ssa; up to 500 MB per file.

Inputs: paths (required), mode, fontSize, outputDir.

video_thumbnailA

Video thumbnail. Grab a frame for a cover or preview. Exactly one frame is decoded, so an hour of video costs no more than a minute. Accepts video/*, .mp4, .mov, .mkv, .webm, .avi, .m4v; up to 500 MB per file.

Inputs: paths (required), at, width, format, +1 more.

video_to-gifA

Video to GIF. Build a GIF from a fragment. The palette is generated for your specific video in a separate pass — without that you get noise instead of a picture. Accepts video/*, .mp4, .mov, .mkv, .webm, .avi, .m4v; up to 500 MB per file.

Inputs: paths (required), fps, from, width, +2 more.

video_trimA

Trim video. Cut out a fragment by timecodes. The stream is copied without re-encoding, so it is fast and lossless. If the cut cannot land on a keyframe, we re-encode and say so. Accepts video/*, .mp4, .mov, .mkv, .webm, .avi, .m4v; up to 500 MB per file.

Inputs: paths (required), to, from, precise, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 38 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes, but some overlap exists between compound workflows like video_compress and video_for-messenger, or image_compress and image_for-web. Descriptions help clarify the differences, so ambiguity is low overall.

    Naming Consistency3/5

    The naming pattern is mostly category_action (video_convert, pdf_merge), but inconsistency arises with dashes in names like video_to-gif, pdf_from-image, and audio_silence-trim, plus a few noun-noun names like pdf_pages and video_subtitles. This mixed style is still readable but not fully consistent.

    Tool Count2/5

    38 tools is excessive for an MCP server, even if the domain spans multiple media types. The count feels overwhelming, especially with several compound workflow tools (e.g., video_for-messenger, image_for-web) that could be composed from existing primitives.

    Completeness4/5

    The tool set provides broad coverage across video, audio, image, PDF, document, archive, and data transformations, with useful utilities like hash and base64. Minor gaps exist, such as lack of video merging or video rotation, but the surface is largely comprehensive for common file conversion tasks.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      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.
      4 npm
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables file operations (PDF, Office, images, archives, media) through natural language, with tools for reading, writing, converting, and analyzing files locally.
      1
      -
    • A
      license
      A
      quality
      C
      maintenance
      Enables an AI assistant to convert images among HEIC, JPEG, PNG, WebP, and AVIF entirely on the local machine, including converting a folder of files into a single zip. Access is confined to a user-specified root directory, metadata is stripped by default, existing files are never overwritten, and no network requests or telemetry are used.
      2
      9 npm
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Enables AI assistants to inspect, convert, resize, crop, merge, extract and OCR local images, PDFs, audio and video entirely on the user's machine. Modules can be toggled individually, and all operations stay within a sandboxed working folder with atomic writes and no data sent anywhere.
      21
      76 PyPI
      MIT