Skip to main content
Glama
artscii
by rxolve

artscii

npm

LLMs can't draw. This MCP can.

ASCII art, kaomoji, animations, diagrams, charts, image conversion & procedural characters — 11 focused tools for AI agents.

81 curated arts × 12 motions = 972 terminal animations. 153,600 unique procedural characters from a single seed. Plus 100 kaomoji, 11 diagram types, FIGlet banners, and image-to-ASCII with braille mode.

     .::-::.         .:-::.        --- apple (16w) ---
  .=#%@@@@@%#=:  .=*%@@@@@%#+:           +:
 -%@@@@@@@@@@@%*+%@@@@@@@@@@@%+      :--:#*.--:
.%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-    -#@@@@#%@@@@%=
-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*   :@@@%****+#%@@@:
.%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=   -@%%%+*@@+*@%%@-
 =@@@@@@@@@@@@@@@@@@@@@@@@@@@@*     *@@%+*+#=#%@@#
  -#@@@@@@@@@@@@@@@@@@@@@@@@%=       +%@@@#@@@@%+
    =%@@@@@@@@@@@@@@@@@@@@%*.         .-+**=*+=.
      =#@@@@@@@@@@@@@@@@%+.
        =#@@@@@@@@@@@@%+.    ʕ•ᴥ•ʔ  (◕‿◕)  (╯°□°)╯︵ ┻━┻
          -#@@@@@@@@%+.
            -#@@@@%=.
              -*#=

Install

Claude Code — one command:

claude mcp add artscii -- npx -y artscii

Claude Desktop — add to claude_desktop_config.json:

{ "mcpServers": { "artscii": { "command": "npx", "args": ["-y", "artscii"] } } }

Cursor — add to .cursor/mcp.json:

{ "mcpServers": { "artscii": { "command": "npx", "args": ["-y", "artscii"] } } }

VS Code — search @mcp artscii in Extensions panel, or add to settings.json:

{ "mcp": { "servers": { "artscii": { "command": "npx", "args": ["-y", "artscii"] } } } }

Related MCP server: Ascii Art AI MCP

MCP Tools

Tool

Parameters

Description

search

query?, type?, random?, mode?

Search art + kaomoji. Omit query to list all

get

id

Get art by ID

kaomoji

query?, category?

Get kaomoji by emotion. Omit for random

banner

text, font?

Render large ASCII text (FIGlet, 5 fonts)

frame

text, style?, padding?, align?, title?

Draw box/frame around text (5 styles)

chart

type, ...

Data visualization: progress, sparkline, heatmap

animate

art, motion, output?

Compose art + motion → terminal animation

character

seed, species?, eyes?, mouth?, hat?, accessory?, mood?, size?

Generate unique ASCII character from seed

compose

blocks, mode?, gap?, align?

Combine text blocks side-by-side or stacked

convert

url?, base64?, mode?, size?, ...

Image → ASCII (ascii or braille mode)

diagram

type, ...

Generate ASCII diagrams (11 types)

Box Frames

Draw borders around any text with 5 styles:

┌───────┐   ╔═══════╗   ╭───────╮   ┏━━━━━━━┓   +-------+
│ hello │   ║ hello ║   │ hello │   ┃ hello ┃   | hello |
└───────┘   ╚═══════╝   ╰───────╯   ┗━━━━━━━┛   +-------+
 single      double      rounded       bold        ascii

Options: padding, align (left/center/right), title in top border.

Charts

Unified chart tool with 3 types: progress, sparkline, heatmap.

Progress:   ███████████████░░░░░ 75%
Sparkline:  ▁▂▃▄▅▆▇█▇▅▃▁
Heatmap:     A B C
           X ░▒█
           Y ▓░▒

Animations

Compose any art (noun) with a motion (verb) to create terminal animations. 81 arts × 12 motions = 972 combinations. Custom text works too.

animate("apple", "bounce")     → bouncing apple
animate("trophy", "progress")  → trophy rides a progress bar 0→100%
animate("lock", "reveal")      → line-by-line reveal
animate("GAME OVER", "blink")  → blinking custom text

Motions: bounce, shake, blink, slide, reveal, fade, pulse, rain, progress, wave, jump, talk

Output: script (bash for terminal playback) or frames (raw data)

Character

Procedural ASCII character generator. One seed → one unique character. 153,600 standard combinations (16 species × 10 eyes × 8 mouths × 10 hats × 12 accessories).

character("alice")                   character("bob", mood: "happy")

   ____                                  /\_/\
  ]==== )                                ( ^ ^ )
  _____                                  ( u )
 / * * \                                  \_^_/
|   u   |
 \_____/
  |||||
   ~~o=o~~

Species: blob, cat, bear, robot, bird, bunny, ghost, alien, fox, frog, penguin, octopus, dragon, mushroom, cactus, skull

Mood presets: happy, sad, angry, surprised, sleepy, cool, love, silly — sets eyes+mouth in one param. Explicit eyes/mouth still override.

Mini mode: 2-line inline characters for chat and status lines.

mini blob: (^ ^)    mini cat: /^ ^\    mini robot: [^ ^]
            (u)                >u<                  [u]

Same seed always produces the same character. Output works directly with the animate tool — try wave, jump, or talk motions.

Compose

Combine multiple text blocks horizontally (side-by-side) or vertically (stacked):

┌───┐ ┌───┐         ┌───┐
│ A │ │ B │         │ A │
└───┘ └───┘         └───┘
 horizontal          ---
                    ┌───┐
                    │ B │
                    └───┘
                    vertical

Options: gap, align (top/middle/bottom), separator (vertical mode).

Image Conversion

Convert images (URL or base64) to ASCII art. Two render modes:

  • ascii — character ramp ( .:-=+*#%@), classic look

  • braille — Unicode braille dots (⠿), 8x resolution per character

Options: size (16/32/64), invert, contrast, gamma, threshold (braille).

Diagrams

11 diagram types with unicode, rounded, and ascii border styles.

Type

Required fields

Output

flowchart

nodes

Vertical flow with │ ▼ connectors

box

title, lines

Title + separator + body

tree

root ({label, children?})

├── └── hierarchy

table

headers, rows

Column-aligned grid

sequence

actors, messages

Actor lifelines with arrows

timeline

events

Vertical ● │ event list

bar

items, maxWidth?

Horizontal █ bar chart

class

classes

UML class with properties/methods

er

entities, relationships

Entity-relationship diagram

mindmap

root

Horizontal mind map tree

gantt

tasks, unitLabel?

Gantt chart with timelines

┌─────────┐    ╭──────────╮    ┌──────┬───────┐    src
│  Start  │    │  Status  │    │ Name │ Score │    ├── index.ts
└────┬────┘    ├──────────┤    ├──────┼───────┤    └── diagram.ts
     │         │ Line 1   │    │ A    │ 95    │
     ▼         │ Line 2   │    │ B    │ 87    │
┌─────────┐    ╰──────────╯    └──────┴───────┘
│   End   │
└─────────┘
 flowchart       box              table              tree

Class Diagram

{ "type": "class", "classes": [
  { "name": "Animal", "properties": ["+ name: string"], "methods": ["+ speak(): void"] },
  { "name": "Dog", "properties": ["+ breed: string"], "methods": ["+ bark(): void"] }
]}
┌──────────────────┐
│      Animal       │
├──────────────────┤
│ + name: string   │
├──────────────────┤
│ + speak(): void  │
└──────────────────┘
         ▲
         │
┌──────────────────┐
│       Dog         │
├──────────────────┤
│ + breed: string  │
├──────────────────┤
│ + bark(): void   │
└──────────────────┘

Gantt Chart

{ "type": "gantt", "tasks": [
  { "label": "Design", "start": 0, "duration": 3 },
  { "label": "Develop", "start": 2, "duration": 5 },
  { "label": "Test", "start": 5, "duration": 3 }
], "unitLabel": "weeks" }
            0   2   4   6   8 weeks
            ┼────────────────────
Design      ████████
Develop         █████████████████
Test                 ████████████

Banner

Render text as large ASCII art using FIGlet fonts: Standard, Small, Slant, Big, Mini.

Size Tiers

Each art is stored at its minimum identifiable size.

Tier

Dimensions

For

16w

16 x 8

Icons, symbols, simple shapes

32w

32 x 16

Animal silhouettes, emoji

64w

64 x 32

Detailed scenes (rare)

Kaomoji

100 curated entries across 26 categories. Source: kao.moji (MIT).

Category

Examples

happy

(◕‿◕) ◉‿◉ (≧◡≦)

sad

(ಥ﹏ಥ) ╥﹏╥ (;﹏;)

angry

ಠ_ಠ (¬_¬) 눈_눈

love

♡^▽^♡ (•ө•)♡ ✿♥‿♥✿

confused

¯\_(ツ)_/¯ ◔_◔ (・・?)

animals

ʕ•ᴥ•ʔ ฅ•ω•ฅ (•ㅅ•)

table-flip

(╯°□°)╯︵ ┻━┻ ┬─┬ノ(ಠ_ಠノ)

+ 19 more

excited, greeting, celebrate, hug, surprised, sleepy, nervous, wink, magic, laughing, determined, eating, dancing, hopeful, jealous, ...

License

MIT. Art icons from game-icons.net (CC BY 3.0, Lorc & Delapouite).

Available Tools

11 tools
animateA

Compose ASCII animations: combine any art with a motion. Motions: bounce, shake, blink, slide, reveal, fade, pulse, rain, progress, wave, jump, talk. Returns a bash script or raw frames.

Inputs: art (required), motion (required), output.

characterA

Generate a unique ASCII character from a seed. 153600 possible combinations (16 species × 10 eyes × 8 mouths × 10 hats × 12 accessories). Same seed always produces the same character. Use mood for quick expression presets. Output can be piped to the animate tool.

Inputs: seed (required), species, eyes, mouth, +4 more.

chartB

Render data as ASCII charts. Types: progress (bar), sparkline (trend), heatmap (2D grid).

Inputs: type (required), percent, items, values, +6 more.

composeB

Combine multiple text blocks side-by-side or stacked.

Inputs: blocks (required), mode, gap, align, +1 more.

convertB

Convert an image (URL or base64) to ASCII art. Modes: "ascii" (character ramp) or "braille" (2x4 dot grid, higher fidelity).

Inputs: url, base64, size, mode, +4 more.

diagramB

Generate ASCII diagrams: flowcharts, boxes, trees, tables, sequence, timeline, bar, class, ER, mindmap, and gantt.

Inputs: type (required), nodes, title, lines, +14 more.

frameB

Draw a box/frame around text. Styles: single, double, rounded, bold, ascii.

Inputs: text (required), style, padding, align, +1 more.

getC

Get ASCII art by ID.

Inputs: id (required).

kaomojiA

Get a kaomoji (Japanese text emoticon) by emotion or keyword. Perfect for inline text expressions.

Inputs: query, category.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 11 tools

    Disambiguation5/5

    Each tool targets a distinct aspect of ASCII art: generation (banner, character, convert, diagram, chart, kaomoji), manipulation (animate, compose, frame), and retrieval (get, search). No two tools have overlapping purposes, making it easy for an agent to select the correct one.

    Naming Consistency5/5

    All tool names are lowercase single words (e.g., animate, banner, chart) with no underscores or mixed casing. The naming pattern is perfectly consistent.

    Tool Count5/5

    With 11 tools, the server is well-scoped for ASCII art creation and manipulation. Each tool serves a clear purpose, and the count is neither too sparse nor overwhelming for an agent.

    Completeness4/5

    The tool set covers generation, conversion, diagramming, charting, animation, and search. Missing are editing tools (e.g., resize, crop) or a dedicated save/output tool, but the core workflow is complete and an agent can accomplish most tasks.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers