mcpField
A
Artscii

Artscii

Local
github.com/rxolveMedia & Design1Updated 29w ago

About Artscii

Artscii is an MCP server that gives AI agents tools to create and retrieve terminal-friendly ASCII art, diagrams, charts, animations, and kaomoji. It also converts images to ASCII or braille output.

Key features

  1. 01Search ASCII art and kaomoji
  2. 02Render FIGlet banners and frames
  3. 03Generate charts and 11 diagram types
  4. 04Compose art with terminal animations
  5. 05Convert images to ASCII or braille
  6. 06Create seeded procedural characters

Use cases

  1. 01Add expressive art to agent responses
  2. 02Create text diagrams for terminal output
  3. 03Turn an image into terminal art

MCP support

Exposes 11 tools for searching, generating, composing, animating, and converting art for MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"artscii": {
"command": "npx",
"args": [
"-y",
"artscii"
]
}
}
}
Run commandnpx -y artscii

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmartscii0.6.1

Tools

11

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
querystringNoSearch keyword (matches id, name, category, tags). Omit to list all.
typeenumNoFilter by type: "art", "kaomoji", or "all"art | kaomoji | all
randombooleanNoReturn one random entry
modeenumNoMode: "search" (default) or "categories" to list categoriessearch | categories

Details

From the project README

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"] } } } }

MCP Tools

ToolParametersDescription
searchquery?, type?, random?, mode?Search art + kaomoji. Omit query to list all
getidGet art by ID
kaomojiquery?, category?Get kaomoji by emotion. Omit for random
bannertext, font?Render large ASCII text (FIGlet, 5 fonts)
frametext, style?, padding?, align?, title?Draw box/frame around text (5 styles)
charttype, ...Data visualization: progress, sparkline, heatmap
animateart, motion, output?Compose art + motion → terminal animation
characterseed, species?, eyes?, mouth?, hat?, accessory?, mood?, size?Generate unique ASCII character from seed
composeblocks, mode?, gap?, align?Combine text blocks side-by-side or stacked
converturl?, base64?, mode?, size?, ...Image → ASCII (ascii or braille mode)
diagramtype, ...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.

TypeRequired fieldsOutput
flowchartnodesVertical flow with │ ▼ connectors
boxtitle, linesTitle + separator + body
treeroot ({label, children?})├── └── hierarchy
tableheaders, rowsColumn-aligned grid
sequenceactors, messagesActor lifelines with arrows
timelineeventsVertical ● │ event list
baritems, maxWidth?Horizontal █ bar chart
classclassesUML class with properties/methods
erentities, relationshipsEntity-relationship diagram
mindmaprootHorizontal mind map tree
gantttasks, 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.

TierDimensionsFor
16w16 x 8Icons, symbols, simple shapes
32w32 x 16Animal silhouettes, emoji
64w64 x 32Detailed scenes (rare)

Kaomoji

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

CategoryExamples
happy(◕‿◕) ◉‿◉ (≧◡≦)
sad(ಥ﹏ಥ) ╥﹏╥ (;﹏;)
angryಠ_ಠ (¬_¬) 눈_눈
love♡^▽^♡ (•ө•)♡ ✿♥‿♥✿
confused¯\_(ツ)_/¯ ◔_◔ (・・?)
animalsʕ•ᴥ•ʔ ฅ•ω•ฅ (•ㅅ•)
table-flip(╯°□°)╯︵ ┻━┻ ┬─┬ノ(ಠ_ಠノ)
+ 19 moreexcited, 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).

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.