io.github.theduodecim/ascii-art

编码与调试

by theduodecim

提供 ASCII 与 Unicode 艺术生成和处理工具的 MCP server,适合文本图形创作。

什么是 io.github.theduodecim/ascii-art

提供 ASCII 与 Unicode 艺术生成和处理工具的 MCP server,适合文本图形创作。

README

ascii-art-mcp

ascii-art-mcp is a Model Context Protocol (MCP) server built with Node.js and TypeScript that exposes tools for retrieving ASCII and Unicode art from a local database.

The server communicates using stdio transport, making it compatible with MCP clients such as:

  • Claude Desktop
  • Cursor
  • LM Studio
  • Open WebUI
  • Other MCP-compatible environments

https://theduodecim.github.io/ascii-art-mcp/

▶ Run this MCP

Just drop this link into any MCP-compatible AI chat:

code
https://github.com/theduodecim/ascii-art-mcp/tree/main

"Run this MCP"

The AI will clone the repo, build it, and run it automatically. No setup needed on your end.


📦 Installation

The package is available on npm:

https://www.npmjs.com/package/ascii-art-mcp

Install locally:

bash
npm install ascii-art-mcp

Or run directly:

bash
npx ascii-art-mcp

🌐 MCP Registry

This server is also published in the official Model Context Protocol Registry:

https://registry.modelcontextprotocol.io/?q=ascii-art

Server name:

code
io.github.theduodecim/ascii-art

This allows MCP-compatible tools to discover and install it automatically.


⚙️ Requirements

  • Node.js 20+
  • npm

🚀 Running the server manually

Development mode:

bash
npm run dev

Build + production run:

bash
npm run build
npm start

The server uses stdio transport and loads its data from:

code
db.json

located in the repository root.


🧰 Available MCP Tools

get_ascii_art

Finds an art entry by exact nombre or by an exact value in aliases.

Input

FieldTypeRequired
querystringyes

Output

Returns the entry's art field as plain text.


search_ascii

Searches entries by categoria, tags, or both.

Input

FieldTypeRequired
categoriastringoptional
tagstringoptional

At least one filter is required.

Output

Returns matching entries' art fields combined as text output.


random_ascii

Returns a random entry from the database.

Input

FieldTypeRequired
tipoascii | unicoderequired

Output

Returns the selected entry's art field as plain text.


list_categories

Lists all unique categories present in the database.

Input

None

Output

Category names as newline-separated text.


🗂 Data Model

Entries in db.json follow the AsciiArtEntry TypeScript interface:

code
src/types/asciiArt.ts

Each entry contains metadata such as:

  • name
  • category
  • tags
  • aliases
  • art content

🧪 Testing the MCP Server

A simple integration test was used to verify MCP communication using JSON-RPC over stdio.

Example test script (test.mjs):

javascript
import { spawn } from "child_process";

const proc = spawn("node", ["dist/server.js"], {
  stdio: ["pipe", "pipe", "pipe"]
});

proc.stderr.on("data", (d) => {
  console.log("LOG:", d.toString());
});

proc.stdout.on("data", (d) => {
  console.log("SERVER:", d.toString());
});

function send(msg) {
  const json = JSON.stringify(msg);
  const payload = `Content-Length: ${Buffer.byteLength(json)}\r\n\r\n${json}\r\n`;

  console.log("\nSENDING:\n", json, "\n");

  proc.stdin.write(payload);
}

setTimeout(() => {
  send({
    jsonrpc: "2.0",
    id: 1,
    method: "initialize",
    params: {
      protocolVersion: "2024-11-05",
      capabilities: {},
      clientInfo: {
        name: "tester",
        version: "1.0"
      }
    }
  });
}, 500);

setTimeout(() => {
  send({
    jsonrpc: "2.0",
    method: "initialized",
    params: {}
  });
}, 1000);

setTimeout(() => {
  send({
    jsonrpc: "2.0",
    id: 2,
    method: "tools/list"
  });
}, 1500);

setTimeout(() => {
  proc.kill();
  console.log("TEST FINISHED");
}, 4000);

🧠 Architecture

code
src/
  server.ts
  tools/
  types/

dist/

db.json
  • TypeScript MCP server
  • JSON database (db.json)
  • Zod validation for tool inputs
  • stdio transport

🎯 Purpose

This project demonstrates how to build a simple MCP tool server that:

  • runs locally
  • requires no API keys
  • exposes structured tools
  • serves static data through MCP

📜 License

MIT

常见问题

io.github.theduodecim/ascii-art 是什么?

提供 ASCII 与 Unicode 艺术生成和处理工具的 MCP server,适合文本图形创作。

相关 Skills

前端设计

by anthropics

Universal
热门

面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。

想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。

编码与调试
未扫描165.3k

网页应用测试

by anthropics

Universal
热门

用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。

借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。

编码与调试
未扫描165.3k

网页构建器

by anthropics

Universal
热门

面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。

在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。

编码与调试
未扫描165.3k

相关 MCP Server

GitHub

编辑精选

by GitHub

热门

GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。

这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。

编码与调试
89.1k

by Context7

热门

Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。

它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。

编码与调试
60.0k

by tldraw

热门

tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。

这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。

编码与调试
49.5k

评论