io.github.theduodecim/ascii-art

السجل الرسمي أخرى

MCP server that exposes ASCII and Unicode art tools

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

NPM package ascii-art-mcp
Claude Code
claude mcp add ascii-art -- npx -y ascii-art-mcp@0.1.1
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "ascii-art": {
            "command": "npx",
            "args": [
                "-y",
                "ascii-art-mcp@0.1.1"
            ]
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. ascii-art-mcp
  2. https://theduodecim.github.io/ascii-art-mcp/
  3. ▶ Run this MCP
  4. 📦 Installation
  5. 🌐 MCP Registry
  6. ⚙️ Requirements
  7. 🚀 Running the server manually
  8. 🧰 Available MCP Tools
  9. get_ascii_art
  10. search_ascii
  11. random_ascii
  12. list_categories
  13. 🗂 Data Model
  14. 🧪 Testing the MCP Server
  15. 🧠 Architecture
  16. 🎯 Purpose
  17. 📜 License

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:

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:

npm install ascii-art-mcp

Or run directly:

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:

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:

npm run dev

Build + production run:

npm run build
npm start

The server uses stdio transport and loads its data from:

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:

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):

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

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؟

MCP server that exposes ASCII and Unicode art tools

كيف أثبّت io.github.theduodecim/ascii-art؟

يعمل على جهازك. في Claude Code: claude mcp add ascii-art -- npx -y ascii-art-mcp@0.1.1. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج io.github.theduodecim/ascii-art إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل io.github.theduodecim/ascii-art مفتوح المصدر؟

شيفرته علنية على GitHub، لكن المستودع لا يعلن ترخيصًا قياسيًا.

من يصون io.github.theduodecim/ascii-art؟

ينشره theduodecim. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.