ascii-art-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ascii-art-mcpSearch for ASCII art tagged cat"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-mcpOr 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-artThis allows MCP-compatible tools to discover and install it automatically.
โ๏ธ Requirements
Node.js 20+
npm
๐ Running the server manually
Development mode:
npm run devBuild + production run:
npm run build
npm startThe server uses stdio transport and loads its data from:
db.jsonlocated in the repository root.
๐งฐ Available MCP Tools
Related MCP server: MusicBrainz MCP Server
get_ascii_art
Finds an art entry by exact nombre or by an exact value in aliases.
Input
Field | Type | Required |
query | string | yes |
Output
Returns the entry's art field as plain text.
search_ascii
Searches entries by categoria, tags, or both.
Input
Field | Type | Required |
categoria | string | optional |
tag | string | optional |
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
Field | Type | Required |
tipo | ascii | unicode | required |
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.tsEach 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.jsonTypeScript 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
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