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.0.tar.gz (21.4 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.0-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lathe_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7d6e59c6b043b79ed2e76f3089de79d35910650142643617ef53f3888910ce69
MD5 2d01dca3eb973f7bb1a224f47f059ccf
BLAKE2b-256 37555de7e7b14b31daf56343677d235855761de0bcf5b0cdf859b0a07b05af41

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lathe_mcp-0.2.0-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.14.3

File hashes

Hashes for lathe_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2d3ad2ed261ffd41ca48fd0c8d6c63e1df2ac2265034db5143158bd26e49905e
MD5 5763d76070b411bcd046e9b942a889e0
BLAKE2b-256 0e60956358181a13a7a460c519def58377df425cc605a202f46b7b8f78880299

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