mcpField
A
ascii-art

ascii-art

ローカル
github.com/theduodecimゲーム・エンタメ11 週間前に更新

ascii-art について

ascii-artは、ローカルデータベースからASCIIアートとUnicodeアートを取得するMCPサーバーです。チャットや生成コンテンツで使うテキストアートを探す用途に向け、完全一致検索、カテゴリ・タグ検索、ランダム取得、カテゴリ一覧のツールを備えています。

主な機能

  1. 01名前または別名による完全一致検索
  2. 02カテゴリとタグによる検索
  3. 03ASCIIまたはUnicodeアートのランダム取得
  4. 04全カテゴリの一覧表示

活用シーン

  1. 01名前から特定のテキストアートを取得
  2. 02カテゴリやタグでアートを絞り込み
  3. 03チャット用にアートをランダム選択

MCP 対応

stdio経由で、アートの取得、カテゴリやタグによる検索、ランダム取得、カテゴリ一覧のツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"theduodecim-ascii-art": {
"command": "npx",
"args": [
"-y",
"ascii-art-mcp"
]
}
}
}
起動コマンドnpx -y ascii-art-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmascii-art-mcp0.1.1

ツール

4

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
querystringはい

詳細

ascii-art-mcp

Ascii Art MCP server

ascii-art-mcp は、ローカルデータベースからASCII アートと Unicode アートを取得するツールを提供する、Node.js と TypeScript で構築された Model Context Protocol(MCP)サーバーです。

このサーバーは 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 Registry にも公開されています。

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 ツール

get_ascii_art

nombre と完全一致するエントリ、または aliases の値と完全一致するエントリを検索します。

入力
フィールド型必須
querystringはい
出力

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


search_ascii

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

入力
フィールド型必須
categoriastring任意
tagstring任意

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

出力

一致したエントリの art フィールドを結合したテキスト出力を返します。


random_ascii

データベースからランダムなエントリを返します。

入力
フィールド型必須
tipoascii | unicode必須
出力

選択されたエントリの art フィールドをプレーンテキストで返します。


list_categories

データベースに含まれる一意のカテゴリをすべて一覧表示します。

入力

なし

出力

カテゴリ名を改行区切りのテキストで返します。


🗂 データモデル

db.json のエントリは、AsciiArtEntry TypeScript インターフェースに従います。

src/types/asciiArt.ts

各エントリには、次のようなメタデータが含まれます。

  • name
  • category
  • tags
  • aliases
  • art content

🧪 MCP サーバーのテスト

stdio 上の JSON-RPC を使用した 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。