Skip to main content
Glama
IBM
by IBM

chuk-motion

AI-powered video generation with Remotion - A design-system-first approach to creating professional multi-platform videos

Python 3.11+ MCP Tests Coverage

Overview

chuk-motion is an MCP (Model Context Protocol) server that brings the power of Remotion video generation to AI assistants like Claude. It provides a design-system-first approach with comprehensive design tokens, enabling AI to create professional, animated videos optimized for YouTube, TikTok, LinkedIn, Instagram Stories, and more.

Key Features

  • šŸŽØ Complete Design System: Design tokens for colors, typography, spacing, and motion

  • šŸ“± Multi-Platform Support: Safe margins for LinkedIn, TikTok, Instagram, YouTube

  • šŸŽ¬ 51 Video Components: Charts, code blocks, scenes, overlays, layouts, animations, text animations, transitions, and demo realism

  • šŸŽØ 7 Built-in Themes: Tech, Finance, Education, Lifestyle, Gaming, Minimal, Business

  • ⚔ Track-Based Timeline: Professional multi-track composition system

  • šŸ¤– LLM-Friendly: Discoverable components with detailed schemas

  • šŸ“Š Data Visualization: Animated charts (Pie, Bar, Line, Area, Donut, Horizontal Bar)

  • šŸ’» Code Display: Syntax-highlighted code blocks with typing animations

Related MCP server: auto-cm-director

Design System

Four Token Categories

  1. Colors (tokens/colors.py)

    • 7 theme palettes optimized for video

    • Dark/light mode support (on_dark, on_light)

    • Background variants (dark, light, glass)

    • Semantic colors (success, warning, error, info)

  2. Typography (tokens/typography.py)

    • Font scales for 720p, 1080p, 4K

    • Primary and code font stacks

    • Font weights, line heights, letter spacing

    • Video-optimized readability

  3. Spacing (tokens/spacing.py) ⭐ NEW

    • 10-step spacing scale (4px - 120px)

    • 7 platform safe margins: LinkedIn, Instagram Stories/Square, TikTok, YouTube, Mobile

    • Border radius tokens

    • Layout width tokens

  4. Motion (tokens/motion.py)

    • Spring configurations for animations

    • Easing curves (ease-out, ease-in-out, bounce)

    • Duration presets (fast, normal, slow)

Platform Safe Margins

Ensure your content isn't cropped by platform UIs:

Platform

Top

Bottom

Left

Right

Notes

LinkedIn Feed

40px

40px

24px

24px

Recommended 8-24px safe zone

Instagram Stories

100px

120px

24px

24px

UI overlays at top/bottom

TikTok

100px

180px

24px

80px

Side buttons on right

YouTube

20px

20px

20px

20px

Standard margins

Mobile Vertical

80px

100px

-

-

9:16 format

Mobile Horizontal

-

-

24px

24px

16:9 format

Instagram Square

32px (all sides)

-

-

-

1:1 format

Component Library

šŸ“Š Charts (6 components)

All charts support design tokens and smooth animations:

  • PieChart - Proportions and percentages

  • BarChart - Vertical bar comparisons

  • HorizontalBarChart - Ranked horizontal bars with top 3 highlighting

  • LineChart - Trends over time

  • AreaChart - Filled area trends

  • DonutChart - Ring chart with center stat

šŸŽ¬ Scenes (2 components)

  • TitleScene - Full-screen animated titles (4 variants, 5 animations)

  • EndScreen - YouTube end screens with CTAs (4 variants)

šŸŽØ Overlays (3 components)

  • LowerThird - Name plates (5 variants, 5 positions)

  • TextOverlay - Animated text emphasis (5 styles, 5 animations)

  • SubscribeButton - Animated subscribe button (5 animations)

šŸ’» Code (3 components)

  • CodeBlock - Syntax-highlighted code display (4 variants: minimal, terminal, editor, glass)

  • TypingCode - Character-by-character typing animation (4 variants, 4 cursor styles)

  • CodeDiff - Side-by-side code comparison with syntax highlighting

šŸ“ Layouts (17 components)

Professional video layouts for multi-platform content:

  • AsymmetricLayout - Main feed (2/3) + stacked demo panels (1/3)

  • Container - Content container with optional borders and backgrounds

  • DialogueFrame - Conversation-style layout with speaker/audience

  • FocusStrip - Main content with focus strip overlay

  • Grid - Flexible grid layouts (8 types: 1x2, 2x1, 2x2, 3x2, 2x3, 3x3, 4x2, 2x4)

  • HUDStyle - HUD-style overlay layout (4 corners + center)

  • Mosaic - Multi-clip mosaic grid layout

  • OverTheShoulder - Presenter with screen content

  • PerformanceMultiCam - Primary camera + up to 4 secondary cameras

  • PiP - Picture-in-picture with positioning

  • SplitScreen - Side-by-side or top/bottom splits (4 divider styles)

  • StackedReaction - Content with stacked reactions

  • ThreeByThreeGrid - 3x3 grid layout for multiple items

  • ThreeColumnLayout - Three-column layout

  • ThreeRowLayout - Three-row layout

  • Timeline - Timeline-based event display

  • Vertical - Two-panel vertical split

šŸŽ¬ Animations (3 components)

  • Counter - Animated number counter (4 animations: count_up, flip, slot_machine, digital)

  • LayoutEntrance - Layout entrance animations for smooth component reveals

  • PanelCascade - Cascading panel animations for sequential reveals

✨ Text Animations (6 components)

Dynamic text effects inspired by ReactBits:

  • TypewriterText - Classic typewriter animation with optional blinking cursor

  • StaggerText - Staggered reveal with spring physics (character or word-based)

  • WavyText - Continuous wave motion with sine wave oscillation

  • TrueFocus - Word-by-word focus cycling with animated corner brackets

  • DecryptedText - Character scrambling reveal with multiple directions

  • FuzzyText - VHS glitch effects with scanlines and RGB split

šŸŽ­ Demo Realism (4 components)

Realistic UI mockups and demonstrations:

  • BeforeAfterSlider - Interactive before/after comparison slider

  • BrowserFrame - Browser window with realistic chrome and tabs

  • DeviceFrame - Device mockups (phone, tablet, desktop) with content

  • Terminal - Terminal window with command history and typing

šŸ“¦ Content (5 components)

  • DemoBox - Reusable content container for demos

  • ImageContent - Image display with flexible sizing (contain, cover, fill) and styling options

  • StylizedWebPage - Stylized webpage mockup for demonstrations

  • VideoContent - Video content placeholder with controls

  • WebPage - Clean webpage mockup with customizable content

šŸ”„ Transitions (2 components)

  • LayoutTransition - Smooth transitions between different layouts

  • PixelTransition - Pixelated transition effects

Total: 51 production-ready components - All using design tokens with comprehensive test coverage!

Installation

Prerequisites

  • Python 3.11+

  • Node.js 18+ (for Remotion)

  • npm or yarn

Install Python Package

# Install dependencies with uv (recommended)
uv pip install -e .

# Or with pip
pip install -e .

Install Remotion

# Remotion is installed per-project automatically
# The MCP server handles this when generating projects

Quick Start

1. Start the MCP Server

STDIO Mode (for Claude Desktop):

python -m chuk_motion.server stdio

HTTP Mode (for testing/development):

python -m chuk_motion.server http --port 8000

2. Create a Project

# Via MCP tools
remotion_create_project(
    name="my_video",
    theme="tech",
    fps=30,
    width=1920,
    height=1080
)

3. Add Components

# Add a title scene
remotion_add_title_scene(
    text="Welcome to AI Videos",
    subtitle="Created with Design Tokens",
    variant="bold",
    animation="fade_zoom",
    duration="3s"
)

# Add a chart with safe margins
remotion_add_pie_chart(
    data='[{"label": "AI", "value": 40}, {"label": "ML", "value": 30}]',
    title="Technology Distribution",
    duration="4s",
    gap_before="1s"  # Time strings supported!
)

# Add code with typing animation
remotion_add_typing_code(
    code="console.log('Hello, World!');",
    language="javascript",
    title="Example Code",
    typing_speed="medium",
    duration="5s"
)

# Add images
remotion_add_image_content(
    src="https://picsum.photos/1920/1080",
    fit="cover",
    duration="3s"
)

4. Render the Video

cd remotion-projects/my_video
npm install
npm start  # Preview in browser
npm run build  # Render to MP4

Examples

The examples/ directory contains production-ready demos:

Design System Showcases

# Complete design system showcase (90 seconds)
python examples/design_system_showcase.py

# Platform safe margins demo (60 seconds)
python examples/safe_margins_demo.py

# Explore all design tokens
python examples/explore_design_system.py

Component Showcases

# Complete text animations showcase (52.5 seconds)
python examples/all_text_animations_demo.py

# Image layouts showcase - 17 examples (127 seconds)
python examples/image_layouts_showcase.py

# Content showcase - All 5 content components
python examples/content_showcase.py

# Fibonacci code typing demo
python examples/fibonacci_demo.py

All examples use the ProjectManager API with the track-based timeline system.

MCP Tools Reference

Project Management

  • remotion_create_project(name, theme, fps, width, height) - Create new project

  • remotion_get_project_info() - Get current project info

  • remotion_list_projects() - List all projects

Component Tools (50 total)

Charts

  • remotion_add_pie_chart(data, title, duration, track, gap_before)

  • remotion_add_bar_chart(data, title, duration, track, gap_before)

  • remotion_add_horizontal_bar_chart(data, title, duration, track, gap_before)

  • remotion_add_line_chart(data, title, xlabel, ylabel, duration, track, gap_before)

  • remotion_add_area_chart(data, title, duration, track, gap_before)

  • remotion_add_donut_chart(data, title, duration, track, gap_before)

Overlays

  • remotion_add_title_scene(text, subtitle, variant, animation, duration, track, gap_before)

  • remotion_add_end_screen(cta_text, variant, duration, track, gap_before)

  • remotion_add_lower_third(name, title, variant, position, duration, track, gap_before)

  • remotion_add_text_overlay(text, style, animation, position, duration, track, gap_before)

  • remotion_add_subscribe_button(animation, position, duration, track, gap_before)

Code

  • remotion_add_code_block(code, language, title, variant, animation, show_line_numbers, duration, track, gap_before)

  • remotion_add_typing_code(code, language, title, variant, cursor_style, typing_speed, show_line_numbers, duration, track, gap_before)

Layouts

  • remotion_add_grid(children, layout, duration, track, gap_before)

  • remotion_add_container(content, border, duration, track, gap_before)

  • remotion_add_split_screen(left, right, variant, duration, track, gap_before)

Animations

  • remotion_add_counter(start_value, end_value, prefix, suffix, decimals, animation, duration, track, gap_before)

Text Animations

  • remotion_add_typewriter_text(text, font_size, font_weight, text_color, cursor_color, show_cursor, type_speed, position, align, duration, track, gap_before)

  • remotion_add_stagger_text(text, font_size, font_weight, text_color, stagger_by, stagger_delay, animation_type, position, align, duration, track, gap_before)

  • remotion_add_wavy_text(text, font_size, font_weight, text_color, wave_amplitude, wave_speed, wave_frequency, position, align, duration, track, gap_before)

  • remotion_add_true_focus(text, font_size, font_weight, text_color, word_duration, position, duration, track, gap_before)

  • remotion_add_decrypted_text(text, font_size, font_weight, text_color, reveal_direction, scramble_speed, position, duration, track, gap_before)

  • remotion_add_fuzzy_text(text, font_size, font_weight, text_color, glitch_intensity, animate, position, duration, track, gap_before)

Discovery Tools

  • remotion_list_components(category) - List available components

  • remotion_search_components(query) - Search components

  • remotion_get_component_schema(name) - Get component details

  • remotion_list_themes() - List available themes

  • remotion_get_theme_info(name) - Get theme details

Token Tools

  • remotion_list_color_tokens() - Color palettes

  • remotion_list_typography_tokens() - Typography system

  • remotion_list_motion_tokens() - Motion design

  • remotion_list_spacing_tokens() ⭐ NEW - Spacing and safe margins

Info Tools

  • remotion_get_info() - Server information and statistics

Time String Format ⭐ NEW

All duration and timing parameters support flexible time strings:

# String formats
duration="2s"       # 2 seconds
duration="500ms"    # 500 milliseconds
duration="1.5s"     # 1.5 seconds
duration="1m"       # 1 minute (60 seconds)
gap_before="1s"     # 1 second gap
gap_before="250ms"  # 250ms gap

# Float format still works
duration=2.0
gap_before=0.5

Track-Based Timeline System

The timeline uses a professional multi-track approach:

# Main track: Sequential auto-stacking
remotion_add_title_scene(...)  # Starts at 0s
remotion_add_pie_chart(...)    # Auto-stacks after title
remotion_add_bar_chart(...)    # Auto-stacks after pie chart

# Overlay track: Layers on top
remotion_add_text_overlay(..., track="overlay", align_to="main", offset=5.0)

# Background track: Behind main content
remotion_add_background(..., track="background")

Default Tracks:

  • main (layer 0) - Primary content, auto-stacks with 0.5s gap

  • overlay (layer 10) - Text overlays, UI elements

  • background (layer -10) - Background media

Themes

Tech Theme

Modern tech aesthetic with blue/cyan palette

  • Colors: Primary blue (#0066FF), Accent cyan (#00D9FF)

  • Use Cases: Tech reviews, coding tutorials, software demos

Finance Theme

Professional finance with green/gold

  • Colors: Primary green (#00C853), Accent gold (#FFD600)

  • Use Cases: Stock analysis, investing advice, business news

Education Theme

Friendly education with purple/orange

  • Colors: Primary purple (#7C4DFF), Accent orange (#FF6E40)

  • Use Cases: Educational content, explainers, courses

Gaming Theme

High-energy gaming with neon accents

  • Colors: Neon green (#00E676), Neon purple (#E040FB)

  • Use Cases: Gaming videos, esports, stream overlays

Minimal Theme

Clean monochrome aesthetic

  • Colors: Grayscale with subtle accents

  • Use Cases: Professional content, documentaries

Lifestyle Theme

Warm lifestyle with coral/pink

  • Colors: Pink (#FF6B9D), Coral (#FFB74D)

  • Use Cases: Vlogs, lifestyle, wellness, travel

Business Theme

Professional business with navy/teal

  • Colors: Navy (#1565C0), Teal (#00ACC1)

  • Use Cases: Corporate videos, presentations, B2B

Configuration for Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "remotion": {
      "command": "python",
      "args": ["-m", "chuk_motion.server", "stdio"],
      "env": {
        "MCP_STDIO": "1"
      }
    }
  }
}

Development

Project Structure

chuk-motion/
ā”œā”€ā”€ src/chuk_motion/
│   ā”œā”€ā”€ server.py              # Main MCP server
│   ā”œā”€ā”€ async_server.py        # Async MCP server variant
│   ā”œā”€ā”€ video_manager.py       # High-level video management ⭐ NEW
│   ā”œā”€ā”€ tokens/                # Design tokens
│   │   ā”œā”€ā”€ colors.py         # Color palettes (7 themes)
│   │   ā”œā”€ā”€ typography.py     # Typography system
│   │   ā”œā”€ā”€ motion.py         # Motion design
│   │   ā”œā”€ā”€ spacing.py        # Spacing & safe margins
│   │   └── token_manager.py  # Token import/export
│   ā”œā”€ā”€ themes/               # Theme system
│   │   └── youtube_themes.py # 7 YouTube-optimized themes
│   ā”œā”€ā”€ components/           # Component library (51 components)
│   │   ā”œā”€ā”€ charts/          # 6 chart components
│   │   ā”œā”€ā”€ overlays/        # 3 overlay components
│   │   ā”œā”€ā”€ code/            # 3 code components
│   │   ā”œā”€ā”€ layouts/         # 17 layout components
│   │   ā”œā”€ā”€ animations/      # 3 animation components
│   │   ā”œā”€ā”€ text_animations/ # 6 text animation components
│   │   ā”œā”€ā”€ frames/          # 3 frame components
│   │   ā”œā”€ā”€ transitions/     # 2 transition components
│   │   └── content/         # 5 content components
│   ā”œā”€ā”€ generator/            # TSX generation
│   │   ā”œā”€ā”€ component_builder.py    # Jinja2 templating
│   │   ā”œā”€ā”€ composition_builder.py  # Component instances
│   │   └── timeline.py            # Track-based timeline
│   ā”œā”€ā”€ render/               # Video rendering ⭐ NEW
│   │   ā”œā”€ā”€ project_exporter.py    # Remotion project export
│   │   └── video_renderer.py      # MP4 rendering via CLI
│   ā”œā”€ā”€ rendering/            # Remotion integration
│   │   └── remotion_renderer.py   # Remotion rendering
│   ā”œā”€ā”€ storage/              # Artifact storage ⭐ NEW
│   │   └── artifact_storage.py    # chuk-artifacts integration
│   ā”œā”€ā”€ tools/                # MCP tools
│   │   ā”œā”€ā”€ theme_tools.py         # Theme management tools
│   │   ā”œā”€ā”€ token_tools.py         # Token tools
│   │   └── artifact_tools.py      # Artifact management tools
│   ā”œā”€ā”€ utils/                # Utilities
│   │   ā”œā”€ā”€ project_manager.py     # Project scaffolding
│   │   └── async_project_manager.py # Async project manager
│   └── models/               # Pydantic models
│       ā”œā”€ā”€ artifact_models.py     # Storage models
│       └── responses.py           # Response models
ā”œā”€ā”€ examples/                 # Production examples
│   ā”œā”€ā”€ design_system_showcase.py
│   ā”œā”€ā”€ safe_margins_demo.py
│   ā”œā”€ā”€ fibonacci_demo.py
│   └── explore_design_system.py
ā”œā”€ā”€ tests/                    # 1471 tests
ā”œā”€ā”€ remotion-templates/       # Base Remotion templates
└── remotion-projects/        # Generated projects (gitignored)

Running Tests

# Run all tests
make test

# Run with coverage
make test-cov

Code Quality

# Run all checks (linting, type checking, tests)
make check

# Individual checks
make lint       # Ruff linting
make format     # Ruff formatting
make typecheck  # MyPy type checking
make test       # Run all tests

All checks must pass before committing! The make check command runs linting, type checking, and all 1471 tests to ensure code quality.

Recent Updates ⭐

Video Rendering & Storage (December 2025)

  • āœ… Video Renderer: Full Remotion CLI integration for MP4 export

  • āœ… Background Rendering: Async job system with progress tracking

  • āœ… Artifact Storage: Integration with chuk-artifacts for persistent storage

  • āœ… VideoManager: High-level API for video project management

  • āœ… Project Exporter: RemotionProjectExporter for scaffolding complete projects

  • āœ… Test Coverage: 1471 tests passing with 86% coverage

ImageContent Component (January 2025)

  • āœ… New ImageContent component for displaying images in videos

  • āœ… Flexible sizing modes: cover, contain, fill

  • āœ… Styling options: opacity, border radius

  • āœ… Design token integration for consistent styling

  • āœ… Created comprehensive image_layouts_showcase.py with 17 real-world examples

  • āœ… Fixed Mosaic layout to properly wrap clips in {content: ...} structure

  • āœ… Fixed specialized layout prop keys (AsymmetricLayout, OverTheShoulder, DialogueFrame, etc.)

  • āœ… Updated content_showcase.py to include ImageContent

  • āœ… Total components: 51 production-ready components

Text Animation Components (January 2025)

  • āœ… 6 new text animation components: TypewriterText, StaggerText, WavyText, TrueFocus, DecryptedText, FuzzyText

  • āœ… Created dedicated text_animations/ folder for better organization

  • āœ… Moved text animations from overlays/ to text_animations/

  • āœ… Inspired by ReactBits

  • āœ… All components use design tokens and spring physics

  • āœ… Complete demo with 20 scenes (52.5 seconds)

  • āœ… Total components: 51 production-ready components

Test Coverage Achievement (December 2025)

  • āœ… 1471 passing tests with comprehensive test suite

  • āœ… 86% overall coverage across the codebase

  • āœ… 100% coverage on video_renderer.py

  • āœ… 97% coverage on remotion_renderer.py and project_exporter.py

  • āœ… 96% coverage on theme_tools.py

  • āœ… 94-95% coverage on component_builder.py, timeline.py, theme_manager.py

  • āœ… All builder.py files at 100% coverage

Component Library Expansion (January 2025)

  • āœ… 51 production-ready components organized into 9 categories

  • āœ… 17 layout components: AsymmetricLayout, Container, DialogueFrame, FocusStrip, Grid, HUDStyle, Mosaic, OverTheShoulder, PerformanceMultiCam, PiP, SplitScreen, StackedReaction, ThreeByThreeGrid, ThreeColumnLayout, ThreeRowLayout, Timeline, Vertical

  • āœ… 6 text animation components: TypewriterText, StaggerText, WavyText, TrueFocus, DecryptedText, FuzzyText

  • āœ… 6 chart components: PieChart, BarChart, HorizontalBarChart, LineChart, AreaChart, DonutChart

  • āœ… 5 content components: DemoBox, ImageContent, StylizedWebPage, VideoContent, WebPage

  • āœ… 4 demo realism components: BeforeAfterSlider, BrowserFrame, DeviceFrame, Terminal

  • āœ… 3 frame components: BrowserFrame, DeviceFrame, Terminal

  • āœ… 3 animation components: Counter, LayoutEntrance, PanelCascade

  • āœ… 3 code components: CodeBlock, TypingCode, CodeDiff

  • āœ… 3 overlay components: LowerThird, TextOverlay, SubscribeButton

  • āœ… 2 scene components: TitleScene, EndScreen

  • āœ… 2 transition components: LayoutTransition, PixelTransition

Design System Integration (January 2025)

  • āœ… Created comprehensive spacing tokens with 7 platform safe margins

  • āœ… Applied design tokens to ALL 51 components (100% coverage)

  • āœ… Fixed Jinja2 template rendering for token context

  • āœ… Updated all themes with spacing tokens

  • āœ… Fixed Pydantic v2 compatibility issues

Time String Support (January 2025)

  • āœ… Support for time strings: "1s", "500ms", "1m"

  • āœ… Fixed gap_before string concatenation bug

  • āœ… Updated all 51 MCP tools to accept time strings

  • āœ… Enhanced seconds_to_frames() with format parsing

Example Files (January 2025)

  • āœ… Fixed ProjectManager API usage in all examples

  • āœ… Created design system showcase demo (90s)

  • āœ… Created platform safe margins demo (60s)

  • āœ… Created text animations showcase demo (52.5s)

  • āœ… Fixed EndScreen thumbnail handling

Roadmap

Phase 1: Foundation āœ… COMPLETE

  • āœ… Design token system (colors, typography, motion, spacing)

  • āœ… Component registry with 17 components

  • āœ… 7 YouTube-optimized themes

  • āœ… Discovery tools for LLMs

  • āœ… Track-based timeline system

  • āœ… Platform safe margin support

Phase 2: Generation āœ… COMPLETE

  • āœ… TSX component generation with Jinja2

  • āœ… Remotion project scaffolding

  • āœ… Composition builder with ComponentInstance

  • āœ… ProjectManager API

  • āœ… Time string parsing ("1s", "500ms")

Phase 3: Rendering āœ… COMPLETE

  • āœ… Remotion render integration with video_renderer

  • āœ… Export to MP4 via Remotion CLI

  • āœ… Background rendering with job status tracking

  • āœ… Progress monitoring during renders

  • āœ… RemotionProjectExporter for project scaffolding

Phase 4: Storage & Artifacts āœ… COMPLETE

  • āœ… ArtifactStorageManager with chuk-artifacts integration

  • āœ… Project storage (WORKSPACE namespaces)

  • āœ… Render storage (BLOB namespaces)

  • āœ… Asset management for media files

  • āœ… Checkpoint/versioning support

  • āœ… VideoManager for high-level video operations

Phase 5: Advanced Features

  • šŸ”² Custom theme builder

  • šŸ”² Animation timeline editor

  • šŸ”² Audio sync

  • šŸ”² Auto-captioning

  • šŸ”² Light/dark mode switching

  • šŸ”² Cloud rendering integration

Contributing

Contributions welcome! Please:

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Run make lint && make format && make typecheck

  5. Submit a pull request

License

Apache License 2.0 - see LICENSE for details.

  • Related Projects:

    • chuk-mcp-server - Zero-config MCP framework

    • chuk-mcp-pptx - PowerPoint MCP server

    • Remotion - React-based video generation

Available Tools

15 tools
remotion_add_lower_thirdA
Add a lower third overlay to the composition.

Creates a name plate overlay (TV-style graphics) that appears at a specific
time and shows for a duration. Lower thirds are overlays and don't affect
the main timeline.

Args:
    name: Main name/text to display
    title: Optional subtitle/title
    start_time: When to show (seconds from start)
    duration: How long to show (default: 5.0 seconds)
    variant: Style variant (minimal, standard, glass, bold, animated)
    position: Screen position (bottom_left, bottom_center, bottom_right, top_left, top_center)

Returns:
    JSON with component info

Example:
    await remotion_add_lower_third(
        name="Dr. Sarah Chen",
        title="AI Researcher, Stanford",
        start_time=2.0,
        duration=5.0,
        variant="glass",
        position="bottom_left"
    )
ParametersJSON Schema
NameRequiredDescriptionDefault
durationNo
nameYes
positionNobottom_left
start_timeNo
titleNo
variantNoglass

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes that this tool creates an overlay that appears at a specific time and duration, doesn't affect the main timeline, and returns JSON with component info. It covers key behavioral aspects like timing, non-destructive overlay nature, and output format, though it could mention potential side effects or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and appropriately sized. It begins with a clear purpose statement, provides essential context about overlays, lists parameters with explanations, describes the return value, and includes a practical example. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (6 parameters, no output schema, no annotations), the description provides strong contextual completeness. It explains what the tool does, how parameters work, and what to expect in return. The main gap is the lack of explicit error handling or permission requirements, but overall it's quite comprehensive for this type of overlay creation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides excellent parameter semantics beyond the schema. While schema description coverage is 0%, the description clearly explains each parameter's purpose: 'name' as main text, 'title' as optional subtitle, 'start_time' as when to show, 'duration' as how long to show with default, 'variant' as style options, and 'position' as screen placement. This fully compensates for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Add a lower third overlay to the composition' with specific details about creating a 'name plate overlay (TV-style graphics)' that appears at a specific time. It distinguishes this from sibling tools like remotion_add_title_scene by focusing on overlay creation rather than scene or project management.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by stating 'Lower thirds are overlays and don't affect the main timeline,' which helps differentiate from timeline-altering tools. However, it doesn't explicitly state when to use this tool versus alternatives like remotion_add_title_scene or provide clear exclusions for when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remotion_add_title_sceneA
Add a title scene to the current composition.

Creates a full-screen animated title card, typically used at the beginning
of a video. The title scene will be added to the timeline sequentially.

Args:
    text: Main title text
    subtitle: Optional subtitle text
    duration_seconds: How long to show (default: 3.0 seconds)
    variant: Style variant (minimal, standard, bold, kinetic)
    animation: Animation style (fade_zoom, slide_up, typewriter, blur_in, split)

Returns:
    JSON with component info

Example:
    await remotion_add_title_scene(
        text="The Future of AI",
        subtitle="Transforming Technology",
        duration_seconds=3.0,
        variant="bold",
        animation="fade_zoom"
    )
ParametersJSON Schema
NameRequiredDescriptionDefault
animationNofade_zoom
duration_secondsNo
subtitleNo
textYes
variantNobold

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the action ('creates a full-screen animated title card'), placement ('added to the timeline sequentially'), and return type ('JSON with component info'), but does not cover permissions, error conditions, rate limits, or what happens if the composition doesn't exist. It adds useful context but misses some behavioral aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (purpose, args, returns, example) and front-loaded key information. Every sentence earns its place, though the example could be slightly more concise. It's appropriately sized for a tool with multiple parameters and no annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, 0% schema coverage, no annotations, and no output schema, the description does a decent job but has gaps. It explains parameters and basic behavior but lacks details on error handling, authentication, or what the 'JSON with component info' contains. For a mutation tool with no structured support, it's adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description must compensate. It provides detailed semantics for all 5 parameters in the 'Args' section, explaining each parameter's purpose, defaults, and options (e.g., 'variant: Style variant (minimal, standard, bold, kinetic)'). This adds significant value beyond the bare schema, though it doesn't fully explain constraints or interactions between parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verb ('add') and resource ('title scene to the current composition'), and distinguishes it from siblings by specifying it creates a 'full-screen animated title card, typically used at the beginning of a video.' This differentiates it from tools like 'remotion_add_lower_third' or general composition tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about when to use this tool ('typically used at the beginning of a video' and 'added to the timeline sequentially'), but does not explicitly state when NOT to use it or name specific alternatives among siblings. The guidance is helpful but lacks explicit exclusions or comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remotion_create_projectA
Create a new Remotion video project.

Creates a complete Remotion project with package.json, TypeScript config,
and project structure ready for video generation.

Args:
    name: Project name (will be used as directory name)
    theme: Theme to use (tech, finance, education, lifestyle, gaming, minimal, business)
    fps: Frames per second (default: 30)
    width: Video width in pixels (default: 1920 for 1080p)
    height: Video height in pixels (default: 1080 for 1080p)

Returns:
    JSON with project information

Example:
    project = await remotion_create_project(
        name="my_video",
        theme="tech",
        fps=30,
        width=1920,
        height=1080
    )
ParametersJSON Schema
NameRequiredDescriptionDefault
fpsNo
heightNo
nameYes
themeNotech
widthNo

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the outcome ('creates a complete Remotion project') and return format ('JSON with project information'), but lacks details on permissions, side effects (e.g., file system changes), error handling, or rate limits. It adds basic context but misses key behavioral traits for a creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose statement, parameter details, return info, and an example. It's appropriately sized for a 5-parameter tool, but the example could be more concise (e.g., by omitting redundant defaults). Most sentences earn their place, though minor trimming is possible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (creation tool with 5 parameters), no annotations, and no output schema, the description is moderately complete. It covers purpose, parameters, and return format, but lacks behavioral details (e.g., what happens if the project name already exists), error cases, and output structure. For a tool that creates file system artifacts, more context on side effects would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides meaningful semantics for all 5 parameters: name (used as directory name), theme (with enumerated values), fps (frames per second with default), width (video width in pixels with default and context), and height (video height in pixels with default and context). This adds significant value beyond the bare schema, though it doesn't explain parameter interactions or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Create a new Remotion video project') and resource ('complete Remotion project with package.json, TypeScript config, and project structure'), distinguishing it from sibling tools like remotion_generate_video (which generates video from existing projects) or remotion_list_projects (which lists projects). The verb 'create' is precise and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context ('ready for video generation') but does not explicitly state when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing to create a project before using remotion_generate_video) or exclusions (e.g., not for modifying existing projects). The context is clear but lacks explicit guidance on tool selection among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remotion_generate_videoA
Generate the complete video composition and write all files.

Generates all TSX components, the composition file, and updates the project
with the complete video structure. After this, you can run 'npm install'
and 'npm start' in the project directory to preview the video.

Returns:
    JSON with generation results and next steps

Example:
    result = await remotion_generate_video()
    # Video files generated! Run 'npm install' and 'npm start' to preview
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the tool's actions (generates files, updates project) and post-execution steps (npm install/start), which is helpful. However, it lacks details on potential side effects (e.g., overwriting existing files), error conditions, permissions needed, or performance characteristics (e.g., time/complexity). The description doesn't contradict annotations (none exist).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and appropriately sized. It front-loads the core purpose, explains the generation process, provides actionable next steps, and includes a concise example. Each sentence adds value without redundancy. Minor room for improvement in tightening phrasing (e.g., 'complete video composition' could be slightly redundant).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (generating multiple files and updating project structure), no annotations, and no output schema, the description is moderately complete. It covers the what and how-to-next, but lacks details on output format (beyond 'JSON with generation results'), error handling, dependencies, or integration with sibling tools. For a zero-param tool with significant behavioral impact, more context would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage (empty schema). The description doesn't need to explain parameters, so it appropriately focuses on behavior and outcomes. No parameter information is missing or needed, justifying a baseline score of 4 for this context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate the complete video composition and write all files' and 'Generates all TSX components, the composition file, and updates the project with the complete video structure.' This specifies the verb (generate/write) and resource (video composition/files/TSX components/composition file/project structure). However, it doesn't explicitly differentiate from siblings like 'remotion_create_project' or 'remotion_add_title_scene' beyond the scope of generating a 'complete' video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: after project creation and before previewing ('After this, you can run 'npm install' and 'npm start'...'). It implies this is a final step in video generation, but doesn't explicitly state when NOT to use it (e.g., vs. incremental tools like 'remotion_add_title_scene') or name alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remotion_get_component_schemaA
Get detailed schema for a specific component.

Returns the complete schema including all properties, variants, animations,
and usage examples for a single component.

Args:
    component_name: Name of the component (e.g., "LowerThird", "TitleScene")

Returns:
    JSON object with component schema and examples

Example:
    schema = await remotion_get_component_schema(component_name="LowerThird")
    # Returns full schema for lower third component including all variants
ParametersJSON Schema
NameRequiredDescriptionDefault
component_nameYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool returns a JSON object with schema and examples, which is useful behavioral context. However, it does not mention potential errors (e.g., if the component doesn't exist), rate limits, authentication needs, or side effects, leaving gaps for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded, starting with the core purpose. Each sentence adds value: the first states what it does, the second details the return content, and the example illustrates usage. There is no wasted text, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (single parameter, read-only operation) and lack of annotations or output schema, the description is mostly complete. It covers purpose, parameters, and return format. However, it could improve by mentioning error handling or linking to 'remotion_list_components' for valid component names, which would enhance contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description must compensate. It adds meaning by explaining that 'component_name' is the name of a specific component and provides examples like 'LowerThird' and 'TitleScene', which clarifies usage beyond the bare schema. However, it does not detail constraints (e.g., case sensitivity) or link to sibling tools for valid values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verb ('Get') and resource ('detailed schema for a specific component'), and distinguishes it from sibling tools like 'remotion_list_components' (which lists components) and 'remotion_search_components' (which searches). It explicitly mentions what the schema includes: properties, variants, animations, and usage examples.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: to retrieve detailed schema for a single component, as opposed to listing or searching components. However, it does not explicitly state when not to use it or name alternatives, such as using 'remotion_list_components' for a high-level overview instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remotion_get_composition_infoB
Get information about the current composition.

Returns details about the current composition including all components,
timeline, duration, and configuration.

Returns:
    JSON with composition information

Example:
    info = await remotion_get_composition_info()
    # Returns composition details, components, timeline, etc.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that the tool returns details like components, timeline, duration, and configuration, which adds some context about what information is retrieved. However, it doesn't disclose critical behavioral traits such as whether it's read-only, requires authentication, has rate limits, or what happens if no composition is current. For a tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, starting with the core purpose. However, the 'Example' section is somewhat redundant, as it restates the return without adding new usage insights. Overall, it's efficient but could be slightly more streamlined by removing the example or integrating it better.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (simple info retrieval with 0 parameters) and no output schema, the description is moderately complete. It explains what information is returned (components, timeline, etc.), but lacks details on the return format beyond 'JSON with composition information' and doesn't cover error cases or prerequisites. With no annotations, it should do more to compensate, making it adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so the schema fully documents the lack of parameters. The description doesn't add parameter-specific information, which is appropriate since there are no parameters. According to the rules, 0 parameters results in a baseline score of 4, as no additional semantic detail is needed beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get information about the current composition.' It specifies the verb ('Get') and resource ('current composition'), but doesn't explicitly differentiate from siblings like 'remotion_get_info' or 'remotion_get_theme_info', which might also retrieve information about different aspects. This makes it clear but not fully sibling-distinctive.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when it's appropriate (e.g., for composition-specific details) or when not to use it (e.g., for general info or theme info), nor does it reference sibling tools like 'remotion_get_info' or 'remotion_get_theme_info' as alternatives. This lack of context leaves usage unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remotion_get_infoB
Get information about the Remotion MCP Server.

Returns server version, capabilities, and statistics about available
components, themes, and tools.

Returns:
    JSON object with server information

Example:
    info = await remotion_get_info()
    # Returns server version, component count, theme count, etc.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what the tool returns (server information including version, capabilities, statistics) and provides a usage example, which adds useful context. However, it doesn't mention potential limitations, error conditions, authentication requirements, or performance characteristics that would be helpful for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and appropriately sized. It starts with the core purpose, specifies what information is returned, provides a clear return format description, and includes a practical usage example. Every sentence adds value without redundancy. The information is front-loaded with the most important details first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no annotations, no output schema), the description provides adequate coverage of what the tool does and what it returns. However, for a server information tool, additional context about when this information might be useful (e.g., for debugging, capability checking, or monitoring) would improve completeness. The example helps but doesn't fully compensate for the lack of usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters (schema coverage 100%), so the baseline score is 4. The description appropriately doesn't waste space discussing non-existent parameters. The example shows the tool being called without arguments, which reinforces the parameterless nature.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get information about the Remotion MCP Server' and specifies what information it returns (server version, capabilities, statistics about components, themes, and tools). It distinguishes itself from sibling tools by focusing on server metadata rather than specific operations like creating projects or listing components. However, it doesn't explicitly contrast with similar tools (though none appear to directly overlap).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing considerations, or relationships to other tools. While the purpose is clear, there's no explicit 'when-to-use' context that would help an agent decide between this and other informational tools like remotion_get_composition_info or remotion_get_theme_info.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remotion_get_theme_infoA
Get detailed information about a specific theme.

Returns all design tokens for a theme including colors, gradients,
typography, and motion settings.

Args:
    theme_name: Name of the theme (e.g., "tech", "finance", "education")

Returns:
    JSON object with theme tokens and settings

Example:
    theme = await remotion_get_theme_info(theme_name="tech")
    # Returns tech theme with blue/cyan colors and modern typography
ParametersJSON Schema
NameRequiredDescriptionDefault
theme_nameYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool returns 'all design tokens' and specifies the return format ('JSON object with theme tokens and settings'), which is helpful. However, it doesn't mention behavioral aspects like error handling (e.g., what happens if the theme doesn't exist), performance characteristics, or authentication needs. The example adds some context but is not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose statement, details on returns, args, and an example. It's appropriately sized (6 sentences) and front-loaded with the core functionality. The example is relevant but could be slightly more concise. No wasted sentences, though the 'Returns' section slightly repeats information from earlier.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (1 parameter, no output schema, no annotations), the description is somewhat complete but has gaps. It explains what the tool does and the parameter, but lacks details on error cases, performance, or how it fits with sibling tools. The absence of an output schema means the description should ideally elaborate more on the return structure, though it does mention 'JSON object with theme tokens and settings'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 1 parameter with 0% description coverage, so the description must compensate. It provides the parameter name ('theme_name'), explains its purpose ('Name of the theme'), and gives examples ('tech', 'finance', 'education'), which adds meaningful semantics beyond the bare schema. However, it doesn't specify constraints like allowed theme names or format requirements.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get detailed information about a specific theme' and specifies what information is returned ('all design tokens for a theme including colors, gradients, typography, and motion settings'). It distinguishes from siblings like 'remotion_list_themes' (which likely lists theme names rather than detailed info) and 'remotion_list_color_tokens' (which focuses on specific token types). However, it doesn't explicitly contrast with 'remotion_get_info' or 'remotion_get_composition_info', which might have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when detailed theme information is needed, as opposed to just listing themes (via 'remotion_list_themes'). The example suggests using it to retrieve a specific theme's design tokens. However, it lacks explicit guidance on when to use this versus other info-fetching tools like 'remotion_get_info' or 'remotion_get_composition_info', and doesn't mention prerequisites or error conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remotion_list_color_tokensA
List all available color tokens.

Returns the complete color palette system including primary, accent, and
semantic colors for all themes. Useful for customizing colors beyond
the default theme settings.

Returns:
    JSON object with color tokens organized by theme

Example:
    colors = await remotion_list_color_tokens()
    # Returns all color tokens (primary, accent, gradients, text colors)
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes the return format ('JSON object with color tokens organized by theme') and includes an example, which adds value. However, it lacks details on potential behavioral traits like rate limits, authentication needs, or error handling, leaving gaps for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, followed by additional context and an example. Every sentence adds value: the first states what it does, the second explains the return content and use case, and the third provides a practical example. There is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is mostly complete. It explains the purpose, usage, and return format. However, it could be more comprehensive by addressing potential limitations or dependencies, such as whether it requires an active project or theme context, which would enhance completeness for a tool with no structured fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the baseline is 4. The description does not need to add parameter information, and it appropriately focuses on the tool's purpose and output without redundant details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific verb ('List') and resource ('all available color tokens'), distinguishing it from siblings like 'remotion_list_typography_tokens' or 'remotion_list_themes' by focusing on colors. It specifies the scope ('complete color palette system including primary, accent, and semantic colors for all themes'), making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use this tool ('Useful for customizing colors beyond the default theme settings'), but it does not explicitly state when not to use it or name alternatives. For example, it doesn't compare to 'remotion_get_theme_info' or 'remotion_list_themes', which might overlap in providing theme-related color data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remotion_list_componentsA
List available Remotion video components with their schemas.

Returns all available components organized by category. Each component
includes its variants, properties, and usage examples. This helps LLMs
discover what building blocks are available for video creation.

Args:
    category: Optional category filter (scene, overlay, animation, chart, layout)
             If not specified, returns all categories

Returns:
    JSON object with component definitions organized by category

Example:
    components = await remotion_list_components()
    # Returns all available components

    overlay_components = await remotion_list_components(category="overlay")
    # Returns only overlay components (lower thirds, captions, etc.)
ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the return format ('JSON object with component definitions organized by category') and includes examples, which adds value. However, it lacks details on potential limitations (e.g., rate limits, authentication needs, or error handling), which would be helpful for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, starting with a clear purpose statement. The additional sentences and examples add value without unnecessary verbosity. However, the structure could be slightly improved by more explicitly separating usage guidance from parameter details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 optional parameter, no output schema, no annotations), the description is reasonably complete. It covers the purpose, parameter semantics, return format, and includes examples. For a simple list tool, this provides adequate context, though adding more behavioral details (e.g., on errors or performance) would enhance completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter with 0% description coverage, so the description must compensate. It adds meaning by explaining the 'category' parameter as an 'Optional category filter' with specific values (scene, overlay, animation, chart, layout) and provides examples. This significantly enhances understanding beyond the bare schema, though it doesn't cover all possible edge cases.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'List available Remotion video components with their schemas.' It specifies the verb ('List'), resource ('Remotion video components'), and what information is included ('schemas'). However, it doesn't explicitly differentiate from sibling tools like 'remotion_search_components' or 'remotion_get_component_schema', which appear to have related but distinct purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through the statement 'This helps LLMs discover what building blocks are available for video creation,' suggesting it's for discovery purposes. It provides an example with an optional category filter but doesn't explicitly state when to use this tool versus alternatives like 'remotion_search_components' or 'remotion_get_component_schema,' leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remotion_list_motion_tokensA
List all available motion design tokens.

Returns spring configurations, easing curves, and duration presets
for creating smooth, professional animations.

Returns:
    JSON object with motion tokens (springs, easings, durations)

Example:
    motion = await remotion_list_motion_tokens()
    # Returns spring configs, easing curves, duration presets
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool returns motion tokens in a JSON object, which is useful behavioral context. However, it doesn't cover aspects like rate limits, authentication needs, or error handling, leaving gaps for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, starting with the core purpose. The example adds clarity without redundancy. However, the 'Returns:' section slightly repeats information from the first sentence, making it less than perfectly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and 0 parameters, the description is adequate but has gaps. It explains the return content and includes an example, but lacks details on response structure, error cases, or integration with sibling tools, making it minimally viable for a simple listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the baseline is high. The description adds value by clarifying that no inputs are needed and providing an example usage, which compensates for the lack of parameter documentation beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific verb ('List') and resource ('all available motion design tokens'), distinguishing it from siblings like remotion_list_color_tokens or remotion_list_typography_tokens by focusing on motion-specific tokens. It explicitly defines what motion tokens include: spring configurations, easing curves, and duration presets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives is provided. While the description implies usage for animation design, it doesn't specify prerequisites, compare to other listing tools, or indicate scenarios where this tool is preferred over others. The context is clear but lacks actionable usage rules.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remotion_list_projectsB
List all Remotion projects in the workspace.

Returns:
    JSON array of projects

Example:
    projects = await remotion_list_projects()
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the return type ('JSON array of projects') but lacks details on pagination, error handling, permissions, or rate limits. This is inadequate for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, followed by return and example sections. It's efficient with minimal waste, though the example could be more informative (e.g., showing output structure).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a list operation that might involve pagination or filtering, the description is incomplete. It lacks behavioral context and doesn't compensate for the missing structured data, making it insufficient for reliable agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema description coverage is 100%, so no parameter information is needed. The description doesn't add any parameter details, which is appropriate, but it could have mentioned implicit constraints like workspace context. Baseline 4 is applied for zero-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List all') and resource ('Remotion projects in the workspace'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling list tools like 'remotion_list_components' or 'remotion_list_themes', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, context, or exclusions, leaving the agent to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remotion_list_themesA
List available YouTube video themes.

Returns all pre-built themes optimized for YouTube videos. Each theme includes
color palettes, typography settings, and motion design tokens optimized for
specific content types (tech, finance, education, gaming, etc.).

Returns:
    JSON object with all available themes and their tokens

Example:
    themes = await remotion_list_themes()
    # Returns all themes (tech, finance, education, lifestyle, gaming, etc.)
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses the return format ('JSON object with all available themes and their tokens') and content types covered ('tech, finance, education, gaming, etc.'), but doesn't mention behavioral aspects like rate limits, authentication requirements, or whether this is a read-only operation. The description adds useful context but misses some behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with purpose first, followed by return details, and includes a practical code example. Every sentence adds value without redundancy, and the information is appropriately front-loaded with the core functionality stated immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema), the description provides good coverage of what the tool does and returns. However, without annotations or output schema, it could benefit from more explicit behavioral context about the operation's characteristics (read-only, authentication needs, etc.) to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0 parameters and 100% schema description coverage, the baseline is 4. The description appropriately doesn't discuss parameters since none exist, focusing instead on what the tool returns and its purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('List available YouTube video themes') and resource ('pre-built themes optimized for YouTube videos'), distinguishing it from siblings like remotion_list_color_tokens or remotion_list_typography_tokens by focusing on complete theme packages rather than individual token types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about when to use this tool ('Returns all pre-built themes optimized for YouTube videos'), but doesn't explicitly mention when not to use it or name specific alternatives among siblings like remotion_get_theme_info, leaving some guidance implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remotion_list_typography_tokensB
List all available typography tokens.

Returns font families, sizes, weights, and scales optimized for video.
These tokens ensure text is readable and visually appealing on screen.

Returns:
    JSON object with typography tokens

Example:
    typography = await remotion_list_typography_tokens()
    # Returns font families, sizes, weights, line heights
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states the tool returns JSON with font details and is optimized for video, but doesn't disclose behavioral traits like rate limits, authentication needs, or whether it's a read-only operation. The example suggests async usage, but this isn't explicitly stated in the description text.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately concise but includes redundant elements. The first sentence clearly states the purpose, but the 'Returns' section repeats information, and the example is verbose for a simple tool. It could be more front-loaded and eliminate repetition like 'Returns font families...' after already stating it returns tokens.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (0 parameters, no annotations, no output schema), the description is minimally adequate. It explains what the tool does and the return format, but lacks details on behavioral context (e.g., async nature, video-specific constraints). Without annotations or output schema, it should provide more completeness for a tool in a video processing context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and schema description coverage is 100% (empty schema). The description doesn't need to add parameter semantics, so it meets the baseline of 4 for no parameters. It appropriately focuses on output without unnecessary parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'List all available typography tokens.' It specifies the resource (typography tokens) and verb (list), and distinguishes from siblings like 'remotion_list_color_tokens' by focusing on typography. However, it doesn't explicitly differentiate from 'remotion_list_motion_tokens' or 'remotion_list_themes' beyond the token type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites, context (e.g., for video design), or compare with siblings like 'remotion_get_theme_info' which might include typography. The description implies usage for video optimization but lacks explicit when/when-not instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remotion_search_componentsA
Search for components by name or description.

Performs a case-insensitive search across component names and descriptions.
Useful when you know what you want but not the exact component name.

Args:
    query: Search term to match against component names and descriptions

Returns:
    JSON object with matching components and their details

Example:
    results = await remotion_search_components(query="text")
    # Returns all components with "text" in name or description
    # (TitleScene, TextOverlay, TextAnimation, etc.)
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and discloses key behavioral traits: 'Performs a case-insensitive search across component names and descriptions.' It also provides a concrete example of what gets returned. However, it doesn't mention rate limits, authentication needs, or pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with purpose statement, behavioral detail, usage guidance, parameter explanation, return value description, and concrete example. Every sentence adds value, and information is front-loaded appropriately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter search tool with no annotations and no output schema, the description provides good coverage: purpose, usage context, parameter semantics, and example. However, it doesn't detail the exact structure of the returned JSON object, which would be helpful given no output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning beyond the bare schema (0% coverage). It explains the 'query' parameter's purpose ('Search term to match against component names and descriptions'), search behavior ('case-insensitive'), and provides an example showing how it's used.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verb ('Search') and resource ('components'), specifying search scope ('by name or description'). It distinguishes from sibling tools like 'remotion_list_components' by emphasizing search functionality rather than listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use this tool: 'Useful when you know what you want but not the exact component name.' This provides clear context for choosing this over alternatives like 'remotion_list_components' or 'remotion_get_component_schema'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap. Tools are well-categorized into project management (create_project, list_projects), composition building (add_lower_third, add_title_scene), generation (generate_video), information retrieval (get_component_schema, get_composition_info, get_info), and discovery (list_components, search_components, list_themes, list_color_tokens, list_typography_tokens, list_motion_tokens). The descriptions clearly differentiate between creating components, getting information, and listing available resources.

Naming Consistency5/5

All tools follow a perfect 'remotion_verb_noun' pattern with consistent snake_case throughout. The verbs are appropriately chosen for each action (add, create, generate, get, list, search) and nouns clearly indicate the target resource (project, video, component_schema, composition_info, etc.). This creates a highly predictable and readable naming convention across all 15 tools.

Tool Count5/5

15 tools is ideal for a video generation server of this scope. The tools comprehensively cover the entire workflow from project creation to component addition to video generation, plus extensive discovery and information tools. Each tool earns its place with no redundancy, providing complete coverage without being overwhelming for the domain of Remotion video composition and generation.

Completeness5/5

The tool surface provides complete coverage for video generation with Remotion. It covers the full lifecycle: project setup (create_project, list_projects), composition building (add_lower_third, add_title_scene), generation (generate_video), and comprehensive discovery/information tools for all resources (components, themes, tokens). There are no obvious gaps - agents can create projects, add components, generate videos, and discover all available building blocks through well-designed listing and search tools.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/IBM/chuk-motion'

If you have feedback or need assistance with the MCP directory API, please join our Discord server