
Security News
Ruby's Bundler 4.0.18 Extends Cooldown to bundle lock and bundle cache
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.
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) ---
.=#%@@@@@%#=: .=*%@@@@@%#+: +:
-%@@@@@@@@@@@%*+%@@@@@@@@@@@%+ :--:#*.--:
.%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@- -#@@@@#%@@@@%=
-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* :@@@%****+#%@@@:
.%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= -@%%%+*@@+*@%%@-
=@@@@@@@@@@@@@@@@@@@@@@@@@@@@* *@@%+*+#=#%@@#
-#@@@@@@@@@@@@@@@@@@@@@@@@%= +%@@@#@@@@%+
=%@@@@@@@@@@@@@@@@@@@@%*. .-+**=*+=.
=#@@@@@@@@@@@@@@@@%+.
=#@@@@@@@@@@@@%+. ʕ•ᴥ•ʔ (◕‿◕) (╯°□°)╯︵ ┻━┻
-#@@@@@@@@%+.
-#@@@@%=.
-*#=
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"] } } } }
| 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) |
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.
Unified chart tool with 3 types: progress, sparkline, heatmap.
Progress: ███████████████░░░░░ 75%
Sparkline: ▁▂▃▄▅▆▇█▇▅▃▁
Heatmap: A B C
X ░▒█
Y ▓░▒
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)
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.
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).
Convert images (URL or base64) to ASCII art. Two render modes:
ascii — character ramp ( .:-=+*#%@), classic lookbraille — Unicode braille dots (⠿), 8x resolution per characterOptions: size (16/32/64), invert, contrast, gamma, threshold (braille).
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
{ "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 │
└──────────────────┘
{ "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 ████████████
Render text as large ASCII art using FIGlet fonts: Standard, Small, Slant, Big, Mini.
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) |
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, ... |
MIT. Art icons from game-icons.net (CC BY 3.0, Lorc & Delapouite).
FAQs
ASCII art & kaomoji search MCP server for AI agents
The npm package artscii receives a total of 23 weekly downloads. As such, artscii popularity was classified as not popular.
We found that artscii demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.