Tool Reference
Complete reference for all 69 ASCII Motion MCP tools organized by category.
Canvas Management (7 tools)
Tools for managing the canvas workspace.
get_canvas_summary
Get a compact summary of the canvas including dimensions and cell counts.
Parameters: frameIndex (optional) - Frame to inspect
Example: "Get a summary of the canvas dimensions"
resize_canvas
Resize the canvas to new dimensions.
Parameters:
width(required) - New width in cellsheight(required) - New height in cellsanchor(optional) - Resize anchor point
Example: "Resize the canvas to 80x40"
clear_canvas
Clear all cells on the canvas.
Parameters: frameIndex (optional) - Frame to clear
Example: "Clear the entire canvas"
clear_cells
Clear specific cells on the canvas.
Parameters:
cells(required) - Array of{x, y}coordinatesframeIndex(optional) - Target frame
get_cell
Get the character and colors at a specific position.
Parameters:
x(required) - X coordinatey(required) - Y coordinateframeIndex(optional) - Frame to read
set_cell
Set a single cell's character and colors.
Parameters:
x(required) - X coordinatey(required) - Y coordinatechar(required) - Character to setcolor(optional) - Foreground color (hex)bgColor(optional) - Background color (hex)frameIndex(optional) - Target frame
Example: "Set the cell at position 10,5 to the character '@' in red"
set_cells_batch
Set multiple cells at once (max 10,000 cells per batch).
Parameters:
cells(required) - Array of cell dataframeIndex(optional) - Target frame
inspect_cells
Inspect all non-empty cells in a region.
Parameters:
x,y,width,height(required) - Region boundsframeIndex(optional) - Frame to inspect
Drawing Tools (5 tools)
Tools for drawing shapes and text.
draw_line
Draw a line between two points using Bresenham's algorithm.
Parameters:
x1,y1(required) - Start pointx2,y2(required) - End pointchar(required) - Character to drawcolor,bgColor(optional) - Colors
Example: "Draw a line from 0,0 to 20,10 using dashes"
draw_rectangle
Draw a rectangle outline or filled.
Parameters:
x,y(required) - Top-left cornerwidth,height(required) - Dimensionschar(required) - Character for outline/fillfilled(optional) - Fill the rectanglecolor,bgColor(optional) - Colors
draw_circle
Draw a circle outline or filled.
Parameters:
cx,cy(required) - Center pointradius(required) - Circle radiuschar(required) - Character to usefilled(optional) - Fill the circle
draw_ellipse
Draw an ellipse outline or filled.
Parameters:
cx,cy(required) - Center pointradiusX,radiusY(required) - Radiichar(required) - Character to usefilled(optional) - Fill the ellipse
type_text
Type text at a position using ASCII fonts.
Parameters:
x,y(required) - Positiontext(required) - Text to typefont(optional) - Font stylecolor(optional) - Text color
Example: "Type 'HELLO' at position 5,5 in cyan"
Selection Tools (6 tools)
Tools for selecting and working with regions.
get_selection
Get the current selection bounds and contents.
Parameters: includeCells (optional) - Include cell data
select_rectangle
Select a rectangular region.
Parameters:
x,y(required) - Top-left cornerwidth,height(required) - Dimensions
Example: "Select the rectangle from 10,10 to 30,20"
select_by_color
Select all cells matching a color.
Parameters:
color(required) - Color to match (hex)matchForeground(optional) - Match foregroundmatchBackground(optional) - Match background
Example: "Select all cells with red foreground"
apply_to_selection
Apply an operation to all selected cells.
Parameters:
operation(required) - Operation typeparams(required) - Operation parameters
recolor_selection
Change colors in the selection.
Parameters:
color(optional) - New foreground colorbgColor(optional) - New background color
Example: "Recolor the selection to gold"
clear_selection
Clear the current selection.
Flood Fill & Region Tools (2 tools)
fill_region
Flood fill a region with a character and colors.
Parameters:
x,y(required) - Starting pointchar(required) - Fill charactercolor,bgColor(optional) - Fill colorscontiguous(optional) - Only fill connected cellsmatchChar,matchColor,matchBgColor(optional) - Match criteria
Example: "Flood fill from 15,15 with the '@' character in blue"
flip_region
Flip content horizontally or vertically.
Parameters:
direction(required) - "horizontal" or "vertical"region(optional) - Region to flipframeIndex(optional) - Target frame
Example: "Flip the selection horizontally"
Frame Management (8 tools)
Tools for animation frame control.
get_frame_info
Get information about a specific frame.
Parameters: frameIndex (optional) - Frame to query
add_frame
Add a new empty frame.
Parameters:
atIndex(optional) - Position for new framecopyFrom(optional) - Frame to copy
Example: "Add a new frame at position 5"
delete_frame
Delete a frame.
Parameters: frameIndex (required) - Frame to delete
duplicate_frame
Create a copy of a frame.
Parameters:
frameIndex(optional) - Frame to copyinsertAt(optional) - Position for duplicate
Example: "Duplicate frame 3 and put it at the end"
go_to_frame
Navigate to a specific frame.
Parameters: frameIndex (required) - Frame to go to
set_frame_duration
Set the display duration for a frame.
Parameters:
frameIndex(required) - Target frameduration(required) - Duration in milliseconds
Example: "Set frame 5 duration to 200ms"
copy_region_between_frames
Copy a region from one frame to another.
Parameters:
sourceFrame(required) - Source frame indextargetFrame(required) - Target frame indexregion(required) - Region to copy{x, y, width, height}
interpolate_frames
Create interpolated frames between two keyframes.
Parameters:
startFrame(required) - First keyframeendFrame(required) - Second keyframecount(required) - Number of frames to generate
Example: "Interpolate 4 frames between frame 1 and frame 6"
Effects (6 tools)
Apply visual effects to frames.
apply_effect
Apply a visual effect to the current frame.
Parameters:
effect(required) - Effect nameparams(optional) - Effect parameters
Available effects:
invert- Invert colorsgrayscale- Convert to grayscalesepia- Apply sepia tonepixelate- Pixelate with block sizeblur- Blur effectsharpen- Sharpen effecthueShift- Shift hue by degreesscanlines- CRT scanlinesglitch- Random glitch effectnoise- Add noisevignette- Darken edgeschromatic- Chromatic aberration
Example: "Apply a glitch effect to the current frame"
get_color_stats
Get statistics about colors used in a frame.
Parameters: frameIndex (optional) - Frame to analyze
create_gradient
Create a color gradient across a region.
Parameters:
startColor(required) - Starting color (hex)endColor(required) - Ending color (hex)direction(required) - "horizontal", "vertical", or "radial"region(optional) - Target region
Example: "Create a horizontal gradient from blue to purple"
color_cycle_animation
Create color cycling across frames.
Parameters:
colors(required) - Array of colors to cycleframeRange(optional) - Frames to affect
apply_dithering
Apply dithering to reduce colors.
Parameters:
algorithm(required) - "floyd-steinberg", "ordered", or "random"colorCount(optional) - Target color count
adjust_brightness_contrast
Adjust brightness and contrast.
Parameters:
brightness(optional) - Brightness adjustment (-100 to 100)contrast(optional) - Contrast adjustment (-100 to 100)
Palette Tools (9 tools)
Manage character and color palettes.
list_character_palettes
List all available character palettes.
Available palettes:
minimal-ascii- Basic ASCII (.:-=+*#)standard-ascii- Full printable ASCIIblock-characters- Unicode blocks (░▒▓█)retro-computing- Classic computer charactersbox-drawing-light- Light box drawingbox-drawing-double- Double box drawing
get_character_palette
Get characters from a specific palette.
Parameters: paletteId (required) - Palette identifier
list_color_palettes
List all available color palettes.
Available palettes:
ansi-16- Standard ANSI terminal colorsmonochrome-green- Classic terminal greengrayscale- Black to white gradientrainbow- Full spectrum colorsretro-8bit- 8-bit computer palette
get_color_palette
Get colors from a specific palette.
Parameters: paletteId (required) - Palette identifier
get_foreground_color
Get the current foreground color.
set_foreground_color
Set the current foreground color.
Parameters: color (required) - Color in hex format
Example: "Set the foreground color to cyan"
get_background_color
Get the current background color.
set_background_color
Set the current background color.
Parameters: color (required) - Color in hex format
suggest_palette_for_style
Get palette suggestions for a style.
Parameters: style (required) - Style description
Example: "Suggest a palette for retro terminal art"
Import Tools (4 tools)
Import images and convert to ASCII.
import_image
Import an image and convert to ASCII art.
Parameters:
filePath(required) - Path to image filetargetWidth(optional) - Width in characterstargetHeight(optional) - Height in characterscharset(optional) - Characters for brightnesscolorMode(optional) - "none", "foreground", "background", "both"dithering(optional) - "none", "floyd-steinberg", "ordered"
Example: "Import logo.png at 60 characters wide with dithering"
import_json
Import a previously exported ASCII Motion project.
Parameters: filePath (required) - Path to JSON file
import_ansi
Import ANSI art file.
Parameters: filePath (required) - Path to .ans file
import_ascii_text
Import plain ASCII text.
Parameters:
text(required) - Text contentx,y(optional) - Position
Export Tools (12 tools)
Export to various formats.
export_ansi
Export as ANSI escape codes for terminal display.
Parameters:
frameIndex(optional) - Frame to exportoutputPath(optional) - Output file path
export_html
Export as a standalone HTML file.
Parameters:
outputPath(optional) - Output file pathdarkMode(optional) - Use dark backgroundincludeAnimation(optional) - Include all frames
export_png
Export as PNG image.
Parameters:
outputPath(optional) - Output file pathframeIndex(optional) - Frame to exportscale(optional) - Scale factor
export_svg
Export as SVG vector image.
Parameters:
outputPath(optional) - Output file pathframeIndex(optional) - Frame to export
export_json
Export as JSON for later editing.
Parameters:
outputPath(optional) - Output file pathpretty(optional) - Pretty-print JSON
export_gif
Export animation as GIF.
Parameters:
outputPath(optional) - Output file pathfps(optional) - Frames per secondloop(optional) - Loop count (0 = infinite)
Example: "Export as a looping GIF at 10fps"
export_mp4
Export animation as MP4 video.
Parameters:
outputPath(optional) - Output file pathfps(optional) - Frames per secondquality(optional) - Quality setting
export_webm
Export animation as WebM video.
Parameters:
outputPath(optional) - Output file pathfps(optional) - Frames per secondtransparent(optional) - Transparent background
export_bubbletea
Export as Bubbletea component for Go TUI apps.
Parameters:
outputPath(optional) - Output file pathpackageName(optional) - Go package name
Example: "Export as a Bubbletea component called 'banner'"
export_ink
Export as Ink component for Node.js CLI apps.
Parameters:
outputPath(optional) - Output file pathtypescript(optional) - Generate TypeScript
export_react
Export as React component.
Parameters:
outputPath(optional) - Output file pathtypescript(optional) - Generate TSXcomponentName(optional) - Component name
Example: "Export as a React TypeScript component"
export_opentui
Export for OpenTUI framework.
Parameters:
outputPath(optional) - Output file path
Project Management (6 tools)
Manage ASCII Motion projects.
create_project
Create a new project.
Parameters:
name(required) - Project namewidth(optional) - Canvas widthheight(optional) - Canvas height
Example: "Create a new project called 'my-animation' with a 60x20 canvas"
load_project
Load an existing project.
Parameters: filePath (required) - Path to project file
save_project
Save the current project.
Parameters: filePath (optional) - Output path
get_project_info
Get information about the current project.
list_project_files
List all project files in the project directory.
get_auth_token
Get the WebSocket authentication token for live browser sync.
Returns: The token needed to connect the browser to MCP
Undo/Redo (3 tools)
History management tools.
get_undo_status
Check undo/redo availability.
Returns: Object with canUndo, canRedo, and history length
undo
Undo the last action.
redo
Redo a previously undone action.
Connection Tools (2 tools)
Browser connection management.
get_connection_status
Check browser connection status.
Returns: Whether browser is connected and client count
get_auth_token
Get the authentication token for browser connection.
Clipboard (3 tools)
Copy and paste operations.
copy_to_clipboard
Copy the current selection to clipboard.
paste_from_clipboard
Paste clipboard contents.
Parameters:
x,y(optional) - Paste positionframeIndex(optional) - Target frame
get_clipboard_contents
View clipboard contents without pasting.
Next Steps
- Example Prompts - See tools in action
- Animation Guide - Deep dive into animation