Skip to main content

File and media processing MCP server — resize, convert, optimize, extract.

Project description

Lathe — File & Media Processing MCP Server

Transforming raw files into precision output — the Swiss army knife for file processing.

License: Proprietary


What It Does

Lathe is an MCP server that gives AI assistants direct access to file and media processing operations. Install the free package for image processing, or purchase a license to unlock all 16 tools across four categories: image manipulation, PDF operations, audio/video processing, and OCR text extraction.


Free vs Full

Free Full (Licensed)
Image tools (6) Included Included
PDF tools (4) Included
Audio/Video tools (4) Included
OCR (1) Included
Health + upgrade_info Included Health only
Total tools 8 16
Install pip install lathe-mcp Purchase at seayniclabs.com
Price Free $19 one-time

Tool Reference

Image (Free)

Tool Description Key Parameters
image_info Get image metadata (dimensions, format, mode, EXIF) input_path
image_resize Resize with aspect ratio preservation input_path, output_path, width, height, percentage
image_convert Convert format (png, jpeg, webp, avif, bmp) input_path, output_path, format
image_optimize Optimize for web delivery input_path, output_path, quality, strip_metadata
image_crop Crop a rectangular region input_path, output_path, x, y, width, height
image_thumbnail Generate a square-fit thumbnail input_path, output_path, size

PDF (Licensed)

Tool Description Key Parameters
pdf_info Get PDF metadata (pages, title, author, encryption) input_path
pdf_extract_text Extract text, with OCR fallback input_path, pages
pdf_merge Merge multiple PDFs into one input_paths, output_path
pdf_to_images Convert pages to images (requires ghostscript) input_path, output_dir, pages, format

Audio / Video (Licensed)

Tool Description Key Parameters
audio_convert Convert audio format (mp3, wav, flac, aac, ogg) input_path, output_path, format
audio_info Get audio metadata (duration, bitrate, sample rate) input_path
video_thumbnail Extract a frame from video as image input_path, output_path, timestamp
video_info Get video metadata (duration, resolution, codec) input_path

OCR (Licensed)

Tool Description Key Parameters
ocr_image Extract text from image via Tesseract input_path

Utility (Free)

Tool Description Key Parameters
health Server status, version, tier, dependency availability
upgrade_info What the full version includes and where to buy (free tier only)

Installation

Free install (image tools + health):

pip install lathe-mcp

Full install (all tools — requires license key):

pip install "lathe-mcp[full]"

Activating a License

After purchasing at seayniclabs.com, activate your license using either method:

Option 1: Environment variable

export LATHE_LICENSE_KEY="SL-XXXX-XXXX"

Option 2: License file

Place your license at ~/.seayniclabs/license.json:

{
  "key": "SL-XXXX-XXXX",
  "product": "lathe-mcp",
  "email": "you@example.com",
  "issued": "2026-01-01"
}

The health tool reports your current tier (free or licensed) and available tool count.

System Dependencies

Some tools require external binaries. Install only what you need:

Dependency Required For Install
ffmpeg Audio/video tools brew install ffmpeg / apt install ffmpeg
tesseract OCR tools brew install tesseract / apt install tesseract-ocr
ghostscript pdf_to_images brew install ghostscript / apt install ghostscript

The health tool reports which dependencies are available at runtime.


Usage

Run the server directly:

lathe

Or via the MCP CLI:

mcp run lathe

Claude Code

claude mcp add lathe -- /path/to/venv/bin/lathe

Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "lathe": {
      "command": "/path/to/venv/bin/lathe",
      "env": {
        "LATHE_WORKING_DIR": "/path/to/allowed/directory"
      }
    }
  }
}

Configuration

Variable Description Default
LATHE_WORKING_DIR Root directory for all file operations Current working directory

All input and output paths are resolved relative to and constrained within LATHE_WORKING_DIR.


Security

  • Sandboxed file access — all paths validated against LATHE_WORKING_DIR
  • Path traversal protection../ and absolute paths outside the sandbox are rejected
  • Symlink escape detection — symlinks resolving outside the working directory are blocked
  • Decompression bomb guard — Pillow's built-in protections are active
  • File size limits — 500 MB maximum per input file

Development

git clone https://github.com/seayniclabs/lathe.git
cd lathe
python -m venv .venv && source .venv/bin/activate
pip install -e ".[test,full]"
python -m pytest tests/ -q

License

Proprietary. Copyright (c) 2026 Seaynic Labs LLC. All rights reserved.

See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lathe_mcp-0.2.1.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lathe_mcp-0.2.1-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file lathe_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: lathe_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for lathe_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 398e936cb97f5e65b28f85877c855e5e4bd90c7d696058ba933683919c53c1a0
MD5 8de235f769674ad05fa5e3e461461e2f
BLAKE2b-256 12e070644c8016f5bb4536218cbbadcfe1ca408be1e588c0bef16df63e1e8a09

See more details on using hashes here.

File details

Details for the file lathe_mcp-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: lathe_mcp-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for lathe_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4b9b4deb4b21a68af595f5f20c3c27e675204be7cb8e55ba27e8cb0343c77cf6
MD5 8764df67121fd2fbc68b2323e3f02fd6
BLAKE2b-256 641dd8df2c11e6ea086324d758f85dc8ecfc56dc56943d0e5f41d3636df3654b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page