Metadata-Version: 2.4
Name: ascii-art-mcp
Version: 0.1.0
Summary: ASCII Art & Unicode Diagrams MCP Server - Lushy Pattern 2
Author: Dal Marsters
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: fastmcp>=0.1.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
# 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
```bash
# 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.
```python
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.
```python
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
```python
create_ascii_box(
width=60, height=12,
title="🚀 Deployment Status",
line_style='double',
shading_palette='blocks',
contrast=0.3
)
```
### Build Progress
```python
create_ascii_table(
headers=["Stage", "Time", "Status"],
rows=[
["Compile", "12.3s", "✓"],
["Test", "45.1s", "✓"],
["Deploy", "8.2s", "⏳"]
],
line_style='light'
)
```
### Log Separator
```python
create_ascii_box(
width=80, height=3,
line_style='heavy',
shading_palette='ascii_standard',
shading_direction='horizontal'
)
```
## Deployment
```bash
# 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