Skip to main content
Glama
dmarsters

ASCII Art & Unicode Diagrams MCP Server

by dmarsters

ASCII Art & Unicode Diagrams MCP Server

Lushy Pattern 2 implementation for text-based visual generation with zero rendering dependencies.

Features

Pure Text Output - No image generation, instant results
Categorical Composition - Functor-based aesthetic parameters
Rich Visual Vocabulary - Unicode box drawing, ASCII shading, layout systems
Deterministic - Same parameters = same output
Universal Compatibility - Works in terminal, markdown, artifacts, documentation

Quick Start

# Install
pip install -e .

# Run locally
python server.py

# Deploy to FastMCP Cloud
fastmcp deploy

Tools

create_ascii_box

Create bordered boxes with optional shading.

create_ascii_box(
    width=50,
    height=15,
    title="System Status",
    line_style='double',      # light|heavy|double|rounded
    shading_palette='blocks',  # ascii_standard|blocks|dots|density|braille
    shading_direction='radial', # horizontal|vertical|radial|diagonal
    contrast=0.8
)

Output:

╔══════════════ System Status ══════════════╗
║███████████████████        ░░░░▒▒▒▓▓██████║
║████████████▓▓▓▓▓▓▓        ░░░░▒▒▒▓▓██████║
║███████▓▓▓▓▓▓▓▒▒▒▒▒        ░░░░▒▒▒▓▓██████║
║████▓▓▓▓▓▒▒▒▒▒▒▒░░░        ░░░░▒▒▒▓▓██████║
╚═══════════════════════════════════════════╝

create_ascii_table

Create data tables with borders.

create_ascii_table(
    headers=["Task", "Status", "Progress"],
    rows=[
        ["Deploy API", "Complete", "100%"],
        ["Run Tests", "Running", "65%"],
        ["Write Docs", "Pending", "0%"]
    ],
    line_style='heavy'
)

Output:

┏━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┓
┃ Task       ┃ Status   ┃ Progress ┃
┣━━━━━━━━━━━━╋━━━━━━━━━━╋━━━━━━━━━━┫
┃ Deploy API ┃ Complete ┃ 100%     ┃
┃ Run Tests  ┃ Running  ┃ 65%      ┃
┃ Write Docs ┃ Pending  ┃ 0%       ┃
┗━━━━━━━━━━━━┻━━━━━━━━━━┻━━━━━━━━━━┛

list_ascii_styles

Get all available styles with intentionality.

Functors

Box Drawing

  • Line styles: light (minimal), heavy (bold), double (formal), rounded (friendly)

  • Symmetry: bilateral, radial, asymmetric

  • Intentionality: Visual weight affects emphasis and hierarchy

ASCII Shading

  • Palettes: ascii_standard (classic), blocks (smooth), dots (geometric), density (detailed), braille (fine)

  • Contrast: 0.0-1.0 controls dramatic vs subtle

  • Direction: horizontal, vertical, radial, diagonal

  • Intentionality: Different palettes create different textural qualities

Layout Composition

  • Canvas size: 20-120 width, 5-50 height

  • Alignment: horizontal (left/center/right), vertical (top/middle/bottom)

  • Patterns: single_box, nested_boxes, grid, table

  • Intentionality: Size and alignment affect viewing distance and emphasis

Use Cases

📊 CLI Tools - Beautiful terminal output
📝 Documentation - Markdown-compatible diagrams
💬 Chat Interfaces - Rich text formatting
📈 Data Visualization - ASCII charts and graphs
🎨 Art & Design - Generative text art

Architecture

Lushy Pattern 2:

Layer 1: Categorical Structure (functors in YAML)
    ↓
Layer 2: Intentionality (why aesthetics work)
    ↓
Layer 3: Rendering (deterministic text output)

Zero Dependencies:

  • No image libraries

  • No external rendering

  • Pure Python + Unicode

  • Instant output

Examples

Status Dashboard

create_ascii_box(
    width=60, height=12,
    title="🚀 Deployment Status",
    line_style='double',
    shading_palette='blocks',
    contrast=0.3
)

Build Progress

create_ascii_table(
    headers=["Stage", "Time", "Status"],
    rows=[
        ["Compile", "12.3s", "✓"],
        ["Test", "45.1s", "✓"],
        ["Deploy", "8.2s", "⏳"]
    ],
    line_style='light'
)

Log Separator

create_ascii_box(
    width=80, height=3,
    line_style='heavy',
    shading_palette='ascii_standard',
    shading_direction='horizontal'
)

Deployment

# Deploy to FastMCP Cloud
fastmcp deploy

# Use with Claude Desktop
# Add to claude_desktop_config.json:
{
  "mcpServers": {
    "ascii-art": {
      "url": "https://ascii-art-mcp.fastmcp.app"
    }
  }
}

Next: SVG Generator

Phase 2 will add SVG generation with the same functor composition system for:

  • Scalable vector graphics

  • Geometric shapes and charts

  • Browser/artifact rendering

  • Export to files

License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

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/dmarsters/ascii-art-mcp'

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