Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_scene_infoB

Get information about the current Cinema 4D scene.

add_primitiveB
Add a primitive object to the Cinema 4D scene.

Args:
    primitive_type: Type of primitive (cube, sphere, cone, cylinder, plane, etc.)
    name: Optional name for the new object
    position: Optional [x, y, z] position
    size: Optional [x, y, z] size or dimensions
modify_objectC
Modify properties of an existing object.

Args:
    object_name: Name of the object to modify
    properties: Dictionary of properties to modify (position, rotation, scale, etc.)
list_objectsA

List all objects in the current Cinema 4D scene.

If this tool returns a validation error, use execute_python_script as a fallback
to traverse the object hierarchy manually via the c4d API.
create_materialB
Create a new material in Cinema 4D.

Args:
    name: Name for the new material
    color: Optional [R, G, B] color (values 0-1)
    properties: Optional additional material properties
apply_materialC
Apply a material to an object.

Args:
    material_name: Name of the material to apply
    object_name: Name of the object to apply the material to
inspect_redshift_materialsA
Inspect Redshift materials with best-effort fallbacks.

This tool is read-only and is designed to be useful even when the Redshift
Python runtime is unavailable. It can still report names, assignments,
preview-derived colors, readable description/container fields, and will
attempt graph inspection only when Cinema 4D exposes that data.

Args:
    material_name: Optional material name filter
    include_assignments: Include texture-tag assignments in the scene
    include_preview: Include sampled preview bitmap color data
    include_description: Include readable description entries
    include_container: Include safe BaseContainer values
    include_graph: Attempt node-graph inspection when available
render_frameC
Render the current frame.

Args:
    output_path: Optional path to save the rendered image
    width: Optional render width in pixels
    height: Optional render height in pixels
set_keyframeC
Set a keyframe for an object property.

Args:
    object_name: Name of the object
    property_name: Name of the property to keyframe (e.g., 'position.x')
    value: Value to set at the keyframe
    frame: Frame number to set the keyframe at
save_sceneB
Save the current Cinema 4D scene.

Args:
    file_path: Optional path to save the scene to
load_sceneC
Load a Cinema 4D scene file.

Args:
    file_path: Path to the scene file to load
create_mograph_clonerC
Create a MoGraph Cloner object of specified type.

Args:
    cloner_type: Type of cloner (grid, radial, linear)
    name: Optional name for the cloner
add_effectorC
Add a MoGraph Effector to the scene.

Args:
    effector_type: Type of effector (random, shader, field)
    name: Optional name for the effector
    target: Optional target object (e.g., cloner) to apply the effector to
apply_mograph_fieldsC
Create and apply a MoGraph Field.

Args:
    field_type: Type of field (spherical, box, cylindrical, linear, radial, noise)
    target: Optional target object to apply the field to
    field_name: Optional name for the field
    parameters: Optional parameters for the field (strength, falloff)
create_soft_bodyC
Add soft body dynamics to the specified object.

Args:
    object_name: Name of the object to convert to a soft body
apply_dynamicsC
Add dynamics (rigid or soft) to the specified object.

Args:
    object_name: Name of the object to apply dynamics to
    dynamics_type: Type of dynamics to apply (rigid, soft)
create_abstract_shapeC
Create an organic, abstract shape.

Args:
    shape_type: Type of shape (blob, metaball)
    name: Optional name for the shape
create_cameraC
Create a new camera in the scene.

Args:
    name: Optional name for the new camera.
    position: Optional [x, y, z] position.
    properties: Optional dictionary of camera properties (e.g., {"focal_length": 50}).
create_lightC
Add a light to the scene.

Args:
    light_type: Type of light (area, dome, spot)
    name: Optional name for the light
apply_shaderC
Create and apply a specialized shader material.

Args:
    shader_type: Type of shader (noise, gradient, fresnel, etc)
    material_name: Optional name of material to apply shader to
    object_name: Optional name of object to apply the material to
animate_cameraC
Create a camera animation.

Args:
    animation_type: Type of animation (wiggle, orbit, spline, linear)
    camera_name: Optional name of camera to animate
    positions: Optional list of [x,y,z] camera positions for keyframes
    frames: Optional list of frame numbers for keyframes
execute_python_scriptA
Execute a Python script in Cinema 4D's Python environment.

This is the most reliable tool for non-trivial operations — it gives full access
to the c4d API and avoids wrapper/schema mismatches that can affect other tools.

Args:
    script: Python code to execute in Cinema 4D. Has access to `c4d` and
        `c4d.modules.mograph` modules.

Important usage notes:
    - For animated/MoGraph data, always call doc.ExecutePasses() after SetTime():
        doc.SetTime(c4d.BaseTime(frame, fps))
        doc.ExecutePasses(None, True, True, True, c4d.BUILDFLAGS_NONE)
    - For MoGraph/effector data, iterate frames sequentially (0..N) rather than
      jumping directly to a later frame — sequential stepping produces more
      faithful results.
    - Security restrictions block certain keywords: import os, subprocess, exec(, eval(.
      Keep scripts within the c4d API surface.
    - For heavy operations (dense frame loops, complex MoGraph scenes), split work
      into multiple smaller scripts rather than one large monolith.
    - Use print() to return results — output is captured and returned.
group_objectsC
Group multiple objects under a null object.

Args:
    object_names: List of object names to group
    group_name: Optional name for the group
render_previewB
Render the current view and return a base64-encoded preview image.

Args:
    width: Optional preview width in pixels
    height: Optional preview height in pixels
    frame: Optional frame number to render
snapshot_sceneB
Create a snapshot of the current scene state.

Args:
    file_path: Optional path to save the snapshot
    include_assets: Whether to include external assets in the snapshot

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
c4d://primitives
c4d://material_types
c4d://status

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/ttiimmaacc/cinema4d-mcp'

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