Skip to main content
Glama
theduodecim

ascii-art-mcp

by theduodecim

ascii-art-mcp

ascii-art-mcp es un servidor de Model Context Protocol (MCP) construido con Node.js y TypeScript que expone herramientas para recuperar arte ASCII y Unicode de una base de datos local.

El servidor se comunica mediante transporte stdio, lo que lo hace compatible con clientes MCP como:

  • Claude Desktop

  • Cursor

  • LM Studio

  • Open WebUI

  • Otros entornos compatibles con MCP

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

▶ Ejecuta este MCP

Simplemente pega este enlace en cualquier chat de IA compatible con MCP:

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

"Ejecuta este MCP"

La IA clonará el repositorio, lo compilará y lo ejecutará automáticamente. No necesitas configurar nada.


📦 Instalación

El paquete está disponible en npm:

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

Instalar localmente:

npm install ascii-art-mcp

O ejecutar directamente:

npx ascii-art-mcp

🌐 Registro MCP

Este servidor también está publicado en el Registro oficial de Model Context Protocol:

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

Nombre del servidor:

io.github.theduodecim/ascii-art

Esto permite que las herramientas compatibles con MCP lo descubran e instalen automáticamente.


⚙️ Requisitos

  • Node.js 20+

  • npm


🚀 Ejecutar el servidor manualmente

Modo de desarrollo:

npm run dev

Compilar y ejecutar en producción:

npm run build
npm start

El servidor utiliza transporte stdio y carga sus datos desde:

db.json

ubicado en la raíz del repositorio.


🧰 Herramientas MCP disponibles

Related MCP server: MusicBrainz MCP Server

get_ascii_art

Encuentra una entrada de arte por nombre exacto o por un valor exacto en aliases.

Entrada

Campo

Tipo

Requerido

query

string

Salida

Devuelve el campo art de la entrada como texto plano.


Busca entradas por categoria, tags o ambos.

Entrada

Campo

Tipo

Requerido

categoria

string

opcional

tag

string

opcional

Se requiere al menos un filtro.

Salida

Devuelve los campos art de las entradas coincidentes combinados como salida de texto.


random_ascii

Devuelve una entrada aleatoria de la base de datos.

Entrada

Campo

Tipo

Requerido

tipo

ascii | unicode

requerido

Salida

Devuelve el campo art de la entrada seleccionada como texto plano.


list_categories

Lista todas las categorías únicas presentes en la base de datos.

Entrada

Ninguna

Salida

Nombres de categorías como texto separado por saltos de línea.


🗂 Modelo de datos

Las entradas en db.json siguen la interfaz TypeScript AsciiArtEntry:

src/types/asciiArt.ts

Cada entrada contiene metadatos como:

  • name

  • category

  • tags

  • aliases

  • contenido de arte


🧪 Probando el servidor MCP

Se utilizó una prueba de integración simple para verificar la comunicación MCP mediante JSON-RPC sobre stdio.

Script de prueba de ejemplo (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);

🧠 Arquitectura

src/
  server.ts
  tools/
  types/

dist/

db.json
  • Servidor MCP en TypeScript

  • Base de datos JSON (db.json)

  • Validación Zod para entradas de herramientas

  • Transporte stdio


🎯 Propósito

Este proyecto demuestra cómo construir un servidor de herramientas MCP simple que:

  • se ejecuta localmente

  • no requiere claves de API

  • expone herramientas estructuradas

  • sirve datos estáticos a través de MCP


📜 Licencia

MIT

Install Server
A
license - permissive license
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for accessing curated awesome list documentation

  • MCP server exposing the AceDataCloud Fish Audio API (text-to-speech with voice conditioning)

  • An MCP server for deep research or task groups

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/theduodecim/ascii-art-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server