mcpField
A
AVCLabs Media MCP

AVCLabs Media MCP

Local
github.com/avclabsMedia & Design0Updated 4d ago

About AVCLabs Media MCP

AVCLabs Media MCP provides separate MCP servers for hosted video and image processing services, with a legacy package that combines all tools. It is for MCP clients that need selected media functions, including enhancement, colorization, denoising, and SAM3 segmentation.

Key features

  1. 01Enhance videos
  2. 02Enhance, colorize, and denoise images
  3. 03Segment images with SAM3
  4. 04Check task status
  5. 05Install function-specific packages

Use cases

  1. 01Improve video quality
  2. 02Colorize or denoise images
  3. 03Segment image objects with SAM3

MCP support

The packages expose media-processing tools to MCP clients through stdio servers. Separate packages let a client load only video, image, or SAM3 tool definitions; the legacy package includes all tools.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"media": {
"command": "npx",
"args": [
"-y",
"@avclabs.ai/media-mcp"
],
"env": {
"API_KEY": "<API_KEY>"
}
}
}
}
Run commandnpx -y @avclabs.ai/media-mcp
Environment variables to set
API_KEYSecretAPI Key for video enhancement and SAM3 services

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@avclabs.ai/media-mcp0.2.0

Tools

4

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
typeenumNoUpload type: url=online video, local=local fileurl | local
resolutionenumNoTarget resolution, default 720p480p | 540p | 720p | 1080p | 2k
video_sourcestringYesVideo URL or local file path (the URL must be publicly accessible; links requiring login or a signature are not supported)

Details

From the project README

media-mcp monorepo

English | 中文

Node.js >=18 License: MIT

MCP servers wrapping the AVCLabs hosted media services, published as one function per npm package so an MCP client session only loads the tool definitions it actually uses.

Packages

PackageFunctionToolsBin
@avclabs.ai/video-mcpVideo enhancementcreate_task, get_task_status, enhance_video_syncvideo-mcp
@avclabs.ai/image-mcpImage enhancement / colorization / denoisingenhance_image_sync, colorize_image_sync, denoise_image_sync, get_image_task_statusimage-mcp
@avclabs.ai/sam3-mcpSAM3 image segmentationsam3_predict, get_sam3_task_statussam3-mcp
@avclabs.ai/media-mcpLegacy all-in-one (all 9 tools)everything abovemedia-mcp
@avclabs.ai/media-mcp-coreShared internal library (not an MCP server)——

Why one function per package

  • Smaller context: MCP clients inject every tool definition (name, description, JSON schema) of each configured server into the session. A client that only needs image tools no longer pays for video and SAM3 definitions.
  • Less tool ambiguity: with a single get_*_task_status variant present, the model picks tools more reliably.
  • Independent enablement: expose exactly one function per client or per audience (e.g. SAM3 only for the annotation team).

The legacy all-in-one @avclabs.ai/media-mcp keeps working unchanged for existing configurations; see its README for a migration note.

Quick start

Every server is a stdio MCP server over npx. For example, image tools only:

{
  "mcpServers": {
    "image-mcp": {
      "command": "npx",
      "args": ["-y", "-p", "@avclabs.ai/image-mcp@latest", "image-mcp"],
      "env": { "API_KEY": "your-api-key" }
    }
  }
}

Each package ships exactly one bin named like the package, so plain npx -y <package> also works; the snippets use the explicit -p <package> <bin> form because it pins the exact binary regardless of how a package's bin set evolves. Each package README (video, image, SAM3) has full install instructions for Claude Code, Cursor, and global installs, plus the configuration variables it reads.

All packages share one API_KEY and the same production host defaults (https://mcp.avc.ai/enhance and https://mcp.avc.ai/sam).

Repository layout

packages/
  core/       shared library: tool registration, polling, TOS upload, config
  video-mcp/  video enhancement server (3 tools)
  image-mcp/  image processing server (4 tools)
  sam3-mcp/   SAM3 segmentation server (2 tools)
  media-mcp/  legacy all-in-one server (9 tools)

Domain vocabulary shared across the packages lives in CONTEXT.md; decisions are recorded in docs/adr/.

Development and release

npm ci               # installs workspaces and builds every package
npm test             # rebuild + run all package tests
npm run release:verify   # metadata gate + audit + tests + pack dry-run
node scripts/e2e-check.mjs  # stdio E2E for all four server entries

To iterate on one package: build core once (npm run build -w packages/core), then run npm run dev -w packages/<pkg> (tsc --watch) in another terminal.

Maintainers: see the release guide for publish order (core first), versioning, tags, and smoke tests. Publishing is manual from a clean checkout; the CI workflow runs the same verification gate on Node 22.

License

MIT License — see LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.