ascii-art-mcp
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-mcpO 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-artEsto 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 devCompilar y ejecutar en producción:
npm run build
npm startEl servidor utiliza transporte stdio y carga sus datos desde:
db.jsonubicado 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 | sí |
Salida
Devuelve el campo art de la entrada como texto plano.
search_ascii
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.tsCada 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.jsonServidor 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
Maintenance
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
- AlicenseNot gradedqualityAmaintenanceAscii Art AI - MCP server providing AI-powered tools and automation by MEOK AI Labs11MIT
- AlicenseNot gradedqualityCmaintenanceA comprehensive MCP server for querying the MusicBrainz database, providing tools to search for artists, releases, recordings, and browse music metadata.4MIT
- FlicenseNot gradedqualityFmaintenanceAn MCP server that enables AI agents to create beautiful ASCII diagrams using Unicode box-drawing characters, with support for stateful canvas operations, multiple shape types, and style customization.2
- AlicenseNot gradedqualityBmaintenanceA Python MCP server for searching, downloading, extracting, inspecting, and previewing game assets from multiple public sources.MIT
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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