Skip to main content
Glama
theduodecim

ascii-art-mcp

by theduodecim

ascii-art-mcp

ascii-art-mcp は、Node.js と TypeScript で構築された Model Context Protocol (MCP) サーバーであり、ローカルデータベースから ASCII および Unicode アート を取得するためのツールを公開します。

このサーバーは 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

正確な nombre または aliases の正確な値によってアートエントリを検索します。

入力

フィールド

必須

query

string

はい

出力

エントリの art フィールドをプレーンテキストとして返します。


categoriatags、またはその両方でエントリを検索します。

入力

フィールド

必須

categoria

string

任意

tag

string

任意

少なくとも 1 つのフィルタが必要です

出力

一致するエントリの 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