文本可视化生成服务

基于Lushy Pattern 2实现的纯文本可视化生成工具,支持ASCII艺术、Unicode图表等多种文本形式的可视化输出。

  • by dmarsters
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 dmarsters/ascii-art-mcp

使用说明

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生成,用于:

  • 可扩展矢量图形
  • 几何形状和图表
  • 浏览器/工件渲染
  • 导出到文件

许可证

麻省理工学院