Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

artificer-mcp

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

artificer-mcp

Public MCP for AI-powered creative media generation and processing — image gen (Gemini/Nano Banana), video gen (Veo), image/video/audio post-processing (ImageMagick + FFmpeg), pluggable storage, and opinionated creative workflows

latest
Source
npmnpm
Version
0.9.1
Version published
Maintainers
1
Created
Source

artificer-mcp

CI Release Coverage GitHub release License: Apache 2.0 Node TypeScript MCP

Status: Pre-release (v0.x). API may change before v1.0.

artificer-mcp is a public MCP server for AI-powered creative media generation and processing. One server covering the full creative pipeline:

  • Image generation via Gemini (Imagen family) + Nano Banana
  • Video generation via Veo
  • Speech generation via Gemini TTS (prebuilt voices, natural-language style/accent control)
  • Music generation via Lyria 3 (batch) + Lyria RealTime (streaming)
  • Image processing via ImageMagick (57 tools — resize, composite, text, social cards, ad creatives, app icons, and more)
  • Video + audio post-processing via FFmpeg (16 video + 9 audio tools — concatenate, trim, aspect, transitions, overlays, subtitles, b-roll, encoding controls, image-to-video, audio mixing with sidechain ducking, loudness normalization, and more)
  • Pluggable storage — local filesystem + Google Cloud Storage out of the box; S3 / OneDrive stubbed for contribution; 7 storage tools (upload, download, list, delete, exists, public URL, signed URL)
  • Opinionated workflows — one-call chains for common patterns (brand asset pack, social carousel, multi-element carousel compose, talking-head video, ad creative set, 9:16 short-form video for IG/TikTok/YT/FB, narrated explainer)
  • Brand spec — one JSON env var (ARTIFICER_BRAND_SPEC) defines colors, fonts, TTS voice, music prompt, and logo variants so every tool can soft-default to project-consistent choices
  • Prompt guides — structured prompt guidance per AI provider (Imagen, Nano Banana, Veo, Gemini TTS, Lyria) with official-doc references + field-tested good/bad examples

Built for the Model Context Protocol. Works with Claude Code, Claude Desktop, Cursor, and any MCP-compatible client.

Repository: github.com/bthurlow/artificer-mcp

Why artificer-mcp

Current creative-media MCP servers are fragmented — one for ImageMagick, one for FFmpeg, one for Veo, one for Nano Banana, each with its own quirks (local-path-only inputs, hardcoded model enums, safety-filter crashes, hanging processes). artificer-mcp consolidates them into one coherent server with URI-first I/O, dynamic model IDs, pluggable providers, and first-class prompt guidance.

Looking for just ImageMagick without AI generation dependencies? Use the focused imagemagick-mcp instead.

Prerequisites

  • Node.js 22+
  • ImageMagick 7+ with magick in PATH — install
  • FFmpeg 6+ with ffmpeg in PATH — install
  • Google Gemini API key (if using image or video generation) — get one
  • Google Cloud credentials (if using GCS storage) — GOOGLE_APPLICATION_CREDENTIALS env var pointing to a service account JSON

Installation

From source

git clone https://github.com/bthurlow/artificer-mcp.git
cd artificer-mcp
yarn install
yarn build

Claude Code

claude mcp add artificer -- node /path/to/artificer-mcp/dist/index.js

Claude Desktop / Cursor

Add to your MCP config:

{
  "mcpServers": {
    "artificer": {
      "command": "node",
      "args": ["/path/to/artificer-mcp/dist/index.js"],
      "env": {
        "GOOGLE_API_KEY": "your-gemini-api-key",
        "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/gcs-service-account.json"
      }
    }
  }
}

Environment variables

VariablePurpose
GOOGLE_API_KEYRequired for all Gemini/Imagen/Veo tools.
GOOGLE_APPLICATION_CREDENTIALSRequired for gs:// storage URIs. Path to a GCP service-account JSON.
ARTIFICER_IMAGEN_MODELOverride default model for gemini_generate_image (fallback: imagen-4.0-generate-001).
ARTIFICER_IMAGEN_EDIT_MODELOverride default model for gemini_edit_image (fallback: imagen-3.0-capability-001).
ARTIFICER_IMAGEN_UPSCALE_MODELOverride default model for gemini_upscale_image (fallback: imagen-4.0-upscale-preview).
ARTIFICER_VEO_MODELOverride default model for gemini_generate_video (fallback: veo-2.0-generate-001).
ARTIFICER_NANOBANANA_MODELOverride default model for gemini_nanobanana_generate_image (fallback: gemini-2.5-flash-image).
ARTIFICER_TTS_MODELOverride default model for gemini_generate_speech (fallback: gemini-2.5-flash-preview-tts).
ARTIFICER_LYRIA_MODELOverride default model for gemini_generate_music (fallback: lyria-3-clip-preview). Also valid: lyria-3-pro-preview.
ARTIFICER_LYRIA_LIVE_MODELOverride default model for gemini_generate_music_live (fallback: models/lyria-realtime-exp).
ARTIFICER_BRAND_SPECOptional JSON with project-wide brand defaults (colors, fonts, TTS voice, music prompt, logo variants). All fields optional. See docs/brand-spec.md.

Per-call model args always win over env overrides.

npx

claude mcp add artificer -- npx artificer-mcp

Architecture

  • URI-first API — every tool accepts local paths (./foo.jpg, file:///...) or URIs (gs://bucket/key, https://...). Storage resolution happens inside the tool.
  • Per-provider AI tools — no unified generate_video enum; separate tools like gemini_generate_video_from_image. Each surfaces its native params. More providers pluggable.
  • Dynamic model IDs — pass any model string. No hardcoded enums; the MCP stays forward-compatible as providers release new models.
  • Pluggable storageStorageProvider interface with URI scheme routing. Local + GCS fully implemented. S3 + OneDrive stubbed for contribution.
  • Two-tier tools — primitives (one-op) and opinionated workflows (chained) clearly separated in descriptions.
  • Prompt guidance*_prompt_guide tools return structured markdown with official doc links, prompt templates, good/bad examples, and model-specific notes.

See docs/ for detailed documentation per area.

Documentation

DocCovers
docs/storage.mdStorage providers, URI routing, extending with new providers
docs/image-gen.mdGemini image generation tools (Imagen + Nano Banana), prompt patterns
docs/video-gen.mdVeo video generation tools, model selection, prompt patterns
docs/audio-gen.mdGemini TTS speech generation + Lyria music generation (batch + realtime)
docs/video-audio-post.mdFFmpeg-backed video/audio post-processing tools
docs/workflows.mdOpinionated compound workflows
docs/brand-spec.mdProject-wide brand defaults via ARTIFICER_BRAND_SPEC
docs/prompt-guides.mdHow prompt guides are structured and extended
docs/adr/Architectural decision records

Development

yarn install       # Install dependencies
yarn dev           # Run in development (tsx, no build needed)
yarn build         # Build for production (tsup)

# Checks
yarn lint          # ESLint
yarn lint:fix      # ESLint auto-fix
yarn format        # Prettier write
yarn format:check  # Prettier check
yarn typecheck     # tsc --noEmit
yarn test          # Vitest (unit + integration)
yarn test:unit     # Unit tests only
yarn test:integration  # Integration tests (requires ImageMagick + FFmpeg)
yarn test:coverage # Coverage report
yarn ci            # lint + format:check + typecheck + build + test:unit (what CI runs)

Contributing

Contributions welcome, especially for:

  • Additional storage providers (AWS S3, OneDrive, Azure Blob, etc.)
  • Additional AI generation providers (Runway, Kling, OpenAI, etc.)
  • Audio generation providers (ElevenLabs, Suno, etc.)
  • Prompt guide improvements and corrections

See docs/ for extension contracts. Before opening a PR, please run yarn ci to make sure all linting, types, build, and tests pass.

License

Apache License 2.0 — see LICENSE.

Copyright 2026 bthurlow.

Keywords

mcp

FAQs

Package last updated on 22 Apr 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts