Skip to main content
Glama
theduodecim

ascii-art-mcp

by theduodecim

ascii-art-mcp

ascii-art-mcpNode.js 및 TypeScript로 구축된 Model Context Protocol (MCP) 서버로, 로컬 데이터베이스에서 ASCII 및 유니코드 아트를 검색하는 도구를 제공합니다.

서버는 stdio 전송을 사용하여 통신하므로 다음과 같은 MCP 클라이언트와 호환됩니다:

  • Claude Desktop

  • Cursor

  • LM Studio

  • Open WebUI

  • 기타 MCP 호환 환경

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

▶ 이 MCP 실행

MCP 호환 AI 채팅에 이 링크를 넣기만 하면 됩니다:

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

"이 MCP 실행"

AI가 저장소를 복제하고, 빌드하고, 자동으로 실행합니다. 사용자 측에서 설정이 필요 없습니다.


📦 설치

패키지는 npm에서 사용할 수 있습니다:

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

로컬에 설치:

npm install ascii-art-mcp

또는 직접 실행:

npx ascii-art-mcp

🌐 MCP 레지스트리

이 서버는 공식 Model Context Protocol 레지스트리에도 게시되어 있습니다:

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

서버 이름:

io.github.theduodecim/ascii-art

이를 통해 MCP 호환 도구가 자동으로 검색하고 설치할 수 있습니다.


⚙️ 요구 사항

  • Node.js 20+

  • npm


🚀 서버 수동 실행

개발 모드:

npm run dev

빌드 + 프로덕션 실행:

npm run build
npm start

서버는 stdio 전송을 사용하며 다음 위치에서 데이터를 로드합니다:

db.json

저장소 루트에 있습니다.


🧰 사용 가능한 MCP 도구

Related MCP server: MusicBrainz MCP Server

get_ascii_art

정확한 이름 또는 별칭의 정확한 값으로 아트 항목을 찾습니다.

입력

필드

유형

필수

query

string

출력

항목의 art 필드를 일반 텍스트로 반환합니다.


categoria, tags 또는 둘 다로 항목을 검색합니다.

입력

필드

유형

필수

categoria

string

선택

tag

string

선택

최소 하나의 필터가 필요합니다.

출력

일치하는 항목의 art 필드를 텍스트 출력으로 결합하여 반환합니다.


random_ascii

데이터베이스에서 무작위 항목을 반환합니다.

입력

필드

유형

필수

tipo

ascii | unicode

필수

출력

선택한 항목의 art 필드를 일반 텍스트로 반환합니다.


list_categories

데이터베이스에 있는 모든 고유 카테고리를 나열합니다.

입력

없음

출력

카테고리 이름을 줄바꿈으로 구분된 텍스트로 반환합니다.


🗂 데이터 모델

db.json의 항목은 AsciiArtEntry TypeScript 인터페이스를 따릅니다:

src/types/asciiArt.ts

각 항목은 다음과 같은 메타데이터를 포함합니다:

  • name

  • category

  • tags

  • aliases

  • art content


🧪 MCP 서버 테스트

간단한 통합 테스트를 사용하여 JSON-RPC over stdio를 통한 MCP 통신을 검증했습니다.

예제 테스트 스크립트 (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);

🧠 아키텍처

src/
  server.ts
  tools/
  types/

dist/

db.json
  • TypeScript MCP 서버

  • JSON 데이터베이스 (db.json)

  • 도구 입력에 대한 Zod 검증

  • stdio 전송


🎯 목적

이 프로젝트는 다음을 수행하는 간단한 MCP 도구 서버를 구축하는 방법을 보여줍니다:

  • 로컬에서 실행

  • API 키가 필요 없음

  • 구조화된 도구 노출

  • MCP를 통해 정적 데이터 제공


📜 라이선스

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