studio-forge-mcp
Provides a multimedia processing engine powered by FFmpeg through the media_forge_ffmpeg tool, enabling probing of audio/video streams and metadata, deterministic resize/crop dimension transforms, format conversion, and audio extraction with waveform generation.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
studio-forge-mcp
Unified MCP Creative, Media & Document Editing Forge — isolated FFmpeg multimedia pipelines, SVG / raster / document transformations, Code Mode polymorphic dispatch, Schema-Driven Development (SDD), and
sqlite-vecsemantic memory.
Contents: What Is This? · Architecture · Code Mode & Token Efficiency · Technology Stack · Toolset & Credits · Quick Start · Installing in an MCP Ecosystem · Configuration · Testing & Verification · Development & Branching · License
What Is This?
studio-forge-mcp is a standalone Model Context Protocol (MCP) server designed for AI coding and design agents that need reliable, sandboxed media, vector, and document editing without bloating LLM context windows.
Instead of exposing dozens of single-action tools, studio-forge-mcp groups domain capabilities behind 3 polymorphic tools (media_forge_ffmpeg, design_suite_forge, forge_memory_search), strict Pydantic v2 SDD contracts, path-traversal-guarded sandboxes, and local sqlite-vec (vec0, float[64]) vector recall.
Current Status (v0.1.0 Scaffold): SDD schemas, sandbox path guards (
input_path+output_path+ symlink escape protection),sqlite-vecmemory,/healthendpoint, FastMCPstdio&streamable-httptransports, stable launcher (scripts/forge-mcp-launch.sh), E2E protocol tests, and Docker runtime are operational.media_forge_ffmpeganddesign_suite_forgecurrently validate, guard paths, and index jobs (status: "ready"), with full subprocess execution next on the roadmap.
Related MCP server: media-engine
Architecture
flowchart LR
CLIENT["AI Agent / MCP Client"] -->|"stdio (forge-mcp-launch.sh)"| MCP["FastMCP Server (Python 3.14 + SDD)"]
CLIENT -->|"Streamable HTTP :8895 (/mcp)"| MCP
CLIENT -->|"GET /health"| HEALTH["Health JSON + vec_version()"]
MCP -->|"media_forge_ffmpeg"| FFMPEG["FFmpeg Engine (probe, resize, crop, convert, audio)"]
MCP -->|"design_suite_forge"| SUITE["Design & Doc Suite (SVG, Raster, PDF, WCAG, Office)"]
MCP -->|"forge_memory_search"| VEC["SQLite + sqlite-vec (vec0 float[64])"]
FFMPEG --> SB["Isolated Sandbox (FORGE_SANDBOX_ROOT)"]
SUITE --> SBCode Mode & Token Efficiency
studio-forge-mcp adopts Code Mode principles to minimize tool-catalog bloat and LLM round-trips:
Capability | Status | Details |
Polymorphic Domain Dispatch | Implemented | 3 cohesive tools ( |
Schema-Driven Development (SDD) | Implemented | Pydantic v2 contracts ( |
Sandboxed Path Normalization | Implemented |
|
Semantic Auto-Indexing | Implemented | Executed jobs are auto-indexed into |
Batch DAG & Field Projection | Planned | Multi-step single-turn batching ( |
flowchart TD
REQ["Agent Tool Call (Polymorphic Dispatch)"] --> SDD["Pydantic v2 SDD Validation"]
SDD --> GUARD["Sandbox Guard (_safe_sandbox_path on input + output)"]
GUARD --> EXEC["Media / Design Handler"]
EXEC --> IDX["Auto-Index Summary in sqlite-vec (vec0)"]
IDX --> COMPACT["Return Compact JSON Result"]Technology Stack
Layer | Technology | Role | License |
Runtime | Python | Core language & container base | PSF-2.0 |
MCP Framework |
|
| MIT / BSD-3-Clause |
SDD & Config |
| Boundary schema validation & | MIT |
Vector Memory |
| Local 64-d character-trigram semantic recall | MIT OR Apache-2.0 |
Media & Docs (Container) |
| External CLI engines for audio/video/PDF pipelines | LGPL/GPL (external CLI) |
Tooling & QA |
| Dependency lock, E2E/unit testing, lint, strict typing | MIT / Apache-2.0 / BSD |
Toolset & Credits
Multimedia Engine — Powered by FFmpeg
Full credit to the FFmpeg project for the underlying audio, video, and frame-processing engine exposed through media_forge_ffmpeg:
probe: inspect streams, codecs, resolution, duration, and container metadata.resize/crop: deterministic dimension transforms with bounded SDD constraints (1..16384).convert: transcode across container/image formats.extract_audio/waveform: isolate audio tracks and generate visual waveform previews.
Design, Vector & Document Suite (design_suite_forge)
svg_optimize/raster_to_svg: clean and vectorize artwork for web and design tools.extract_palette/wcag_contrast: extract color palettes and verify WCAG accessibility ratios.doc_extract/pdf_render_pages: extract structured text/tables and render PDF pages (powered by Poppler and Python tooling).
Semantic Artifact Memory (forge_memory_search)
Powered by
sqlite-vec(v0.1.9,vec0float[64]) with deterministic 64-dimensional character-trigram embeddings (src/studio_forge_mcp/memory.py) for instant, zero-external-API recall over pastmedia_jobanddesign_jobruns.
Quick Start
uv sync --group dev
uv run pytest -v
uv run studio-forge-mcpDocker (python:3.14-slim)
docker build -t studio-forge-mcp:0.1.0 .
docker run --rm -p 8895:8895 -v /tmp/studio-forge-sandbox:/sandbox studio-forge-mcp:0.1.0Health endpoint: GET http://127.0.0.1:8895/health
Installing in an MCP Ecosystem
studio-forge-mcp supports both stdio (for local desktop/IDE MCP clients such as Antigravity ~/.gemini/config/mcp_config.json) and Streamable HTTP (for Docker or remote deployments on FORGE_HOST:FORGE_PORT, default http://127.0.0.1:8895/mcp).
Option A: Local stdio Launcher (Recommended for Desktop/IDE Clients)
Register scripts/forge-mcp-launch.sh in your mcp_config.json:
{
"mcpServers": {
"studio-forge-mcp": {
"command": "/home/ancruz/Documents/workspaces/studio-forge-mcp/scripts/forge-mcp-launch.sh",
"disabled": false
}
}
}Option B: Streamable HTTP (Local or Docker)
Start the server (
uv run studio-forge-mcpordocker run -d --name studio-forge-mcp -p 8895:8895 -v /path/to/sandbox:/sandbox studio-forge-mcp:0.1.0).Register the HTTP endpoint in any Streamable HTTP-capable MCP client:
{
"mcpServers": {
"studio-forge-mcp": {
"url": "http://127.0.0.1:8895/mcp"
}
}
}Configuration
Variable | Default | Description |
|
| Server bind host |
|
| Streamable HTTP / health port |
|
| MCP transport ( |
|
| Isolated root directory for media/design files (Docker: |
|
| SQLite + |
Testing & Verification
flowchart LR
UNIT["test_studio_forge.py (Core SDD, Memory, CLI)"] --> PYTEST["uv run pytest -v (23 tests)"]
GAPS["test_omission_gaps.py (Boundaries, Symlink/Output Guards)"] --> PYTEST
E2E["test_e2e.py (Real stdio + Streamable HTTP MCP)"] --> PYTEST
PYTEST --> QA["ruff check . + mypy src tests"]Development & Branching
Branches:
main(stable releases) anddev(active development).Quality checks:
uv run pytest -v
uv run ruff check .
uv run mypy src testsLicense
This project is licensed under the Apache License 2.0.
studio-forge-mcp uses permissive dependencies (MIT, BSD-3-Clause, MIT OR Apache-2.0) and invokes external system binaries (ffmpeg, poppler-utils) in isolated subprocesses rather than linking copyleft libraries directly, keeping Apache-2.0 clean and conflict-free across the stack.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
FFmpeg as a service for AI agents: typed video editing tools, async jobs, downloadable outputs.
Secure Linux sandboxes for AI agents, as MCP tools.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP tools for video transcoding, document conversion, and multi-step pipelines — callable by any AI agent.1260 npm1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server exposing headless ffmpeg operations for video, audio, and image processing via auto-generated typed tools, enabling agentic media file manipulation.GPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to create isolated Docker runtimes, execute commands, manage workspace files, drive a headed browser, and retrieve artifacts through eight semantic MCP tools, with progressive capability discovery and explicit sandbox lifecycle.Apache 2.0
- AlicenseAqualityBmaintenanceDeterministic Model Context Protocol (MCP) server for FFmpeg. Gives AI agents 17 structured tools with hardware acceleration for video conversion, compression, waveforms, subtitles, and inspection.19231 npm4MIT