ASCII艺术和Unicode图表MCP服务器
郁郁葱葱的图案2 实现基于文本的视觉生成,不依赖于渲染。
特性
✅ 纯文本输出 -无图像生成,即时结果\ ✅ 分类组成 -基于功能器的美学参数\ ✅ 丰富的视觉词汇 -Unicode方框图、ASCII着色、布局系统\ ✅ 确定性的 -相同的参数=相同的输出\ ✅ 通用兼容性 -在终端、降价、工件、文档中工作
快速开始
# Install
pip install -e .
# Run locally
python server.py
# Deploy to FastMCP Cloud
fastmcp deploy工具
create_ascii_box
使用可选着色创建带边框的框。
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
)输出:
╔══════════════ System Status ══════════════╗
║███████████████████ ░░░░▒▒▒▓▓██████║
║████████████▓▓▓▓▓▓▓ ░░░░▒▒▒▓▓██████║
║███████▓▓▓▓▓▓▓▒▒▒▒▒ ░░░░▒▒▒▓▓██████║
║████▓▓▓▓▓▒▒▒▒▒▒▒░░░ ░░░░▒▒▒▓▓██████║
╚═══════════════════════════════════════════╝create_ascii_table
创建带边框的数据表。
create_ascii_table(
headers=["Task", "Status", "Progress"],
rows=[
["Deploy API", "Complete", "100%"],
["Run Tests", "Running", "65%"],
["Write Docs", "Pending", "0%"]
],
line_style='heavy'
)输出:
┏━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┓
┃ Task ┃ Status ┃ Progress ┃
┣━━━━━━━━━━━━╋━━━━━━━━━━╋━━━━━━━━━━┫
┃ Deploy API ┃ Complete ┃ 100% ┃
┃ Run Tests ┃ Running ┃ 65% ┃
┃ Write Docs ┃ Pending ┃ 0% ┃
┗━━━━━━━━━━━━┻━━━━━━━━━━┻━━━━━━━━━━┛list_ascii_styles
有意获取所有可用的风格。
函子
制表符
- 线条样式:轻(最小)、重(粗体)、双(正式)、圆形(友好)
- 对称:双侧、放射状、不对称
- 意向性:视觉权重影响强调和层次
ASCII着色
- 调色板:ascii_standard(经典)、方块(平滑)、点(几何)、密度(细节)、盲文(精细)
- 对比:0.0-1.0控制戏剧性与微妙
- 方向:水平、垂直、径向、对角线
- 意向性:不同的调色板产生不同的质感
布局组成
- 画布大小:20-120宽,5-50高
- 对齐:水平(左/中/右),垂直(上/中/下)
- 模式:单箱、嵌套箱、网格、表格
- 意向性:尺寸和对齐会影响观看距离和重点
用例
📊 CLI工具 -漂亮的终端输出\ 📝 文档 -Markdown兼容图表\ 💬 聊天界面 -富文本格式\ 📈 数据可视化 -ASCII图表和图形\ 🎨 艺术与设计 -生成性文本艺术
建筑
郁郁葱葱的模式2:
Layer 1: Categorical Structure (functors in YAML)
↓
Layer 2: Intentionality (why aesthetics work)
↓
Layer 3: Rendering (deterministic text output)零依赖性:
- 没有图像库
- 无外部渲染
- 纯Python+Unicode
- 即时输出
例子
状态仪表板
create_ascii_box(
width=60, height=12,
title="🚀 Deployment Status",
line_style='double',
shading_palette='blocks',
contrast=0.3
)构建进度
create_ascii_table(
headers=["Stage", "Time", "Status"],
rows=[
["Compile", "12.3s", "✓"],
["Test", "45.1s", "✓"],
["Deploy", "8.2s", "⏳"]
],
line_style='light'
)日志分隔符
create_ascii_box(
width=80, height=3,
line_style='heavy',
shading_palette='ascii_standard',
shading_direction='horizontal'
)部署
# 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"
}
}
}下一页:SVG生成器
第2阶段将使用相同的functor组合系统添加SVG生成,用于:
- 可扩展矢量图形
- 几何形状和图表
- 浏览器/工件渲染
- 导出到文件
许可证
麻省理工学院
