loading…
Search for a command to run...
loading…
An MCP server for getting ASCII banners
An MCP server for getting ASCII banners
A classical Model Context Protocol (MCP) server that generates ASCII art banners from any string using pyfiglet.
get_fonts — List all available pyfiglet font names (via FigletFont.getFonts()).generate_banner — Render a string as ASCII art with a chosen font (via figlet_format(text, font=...)).mcp, pyfigletFrom the project root:
pip install -e .
For development (tests):
pip install -e ".[dev]"
MCP clients typically run the server as a subprocess and talk over stdio:
python -m ascii_banner_mcp.server
Or after install:
ascii-banner-mcp
Copy and adjust one of the examples in config/:
command + args for Cursor, Claude Desktop, etc.url: "http://localhost:8000/mcp" when the server runs over HTTP.Add the server to your MCP client config (e.g. Cursor, Claude Desktop). Example (stdio):
{
"mcpServers": {
"ascii-banner": {
"command": "python",
"args": ["-m", "ascii_banner_mcp.server"]
}
}
}
If you use a virtualenv, use the full path to that Python:
{
"mcpServers": {
"ascii-banner": {
"command": "/path/to/venv/bin/python",
"args": ["-m", "ascii_banner_mcp.server"]
}
}
}
| Tool | Description |
|---|---|
get_fonts |
Returns a list of available font names. Use this to discover fonts for generate_banner. |
generate_banner |
Renders text as ASCII art. Parameters: text (required), font (optional, default "standard"). Use fonts from get_fonts() (e.g. "slant", "block", "big"). |
Example (equivalent to your snippet):
from pyfiglet import figlet_format
print(figlet_format("Hello", font="slant"))
Via this MCP server: call generate_banner with text="Hello" and font="slant".
Use MCP Inspector to test and debug the server.
Option 1 — stdio (local process)
npx @modelcontextprotocol/inspectorpython (or full path to your Python/venv).-m, ascii_banner_mcp.server.pip install -e .) or set cwd to the project root and use python -m ascii_banner_mcp.server.Option 2 — streamable-http (Docker or local)
docker compose -f .docker/docker-compose.yml up --build (see Docker below).MCP_TRANSPORT=streamable-http python -m ascii_banner_mcp.server (serves at http://127.0.0.1:8000/mcp).npx @modelcontextprotocol/inspectorhttp://localhost:8000/mcp.Custom ports (Inspector):
CLIENT_PORT=8080 SERVER_PORT=9000 npx @modelcontextprotocol/inspector
Run the MCP server in a container. Use the .docker/ setup:
stdio (default) — client runs the container and talks via stdin/stdout:
docker build -f .docker/Dockerfile -t ascii-banner-mcp .
docker run -i --rm ascii-banner-mcp
streamable-http (for Inspector or URL-based clients):
docker compose -f .docker/docker-compose.yml up --build
Server is at http://localhost:8000/mcp. Use config/mcp-config-streamable-http.example.json or point MCP Inspector at that URL.
pytestruff check src testsblack src testsfeat:, fix:). Install: pip install -e ".[dev]" then pre-commit install and pre-commit install --hook-type commit-msg. Run manually: pre-commit run --all-files.MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"ascii-banner-mcp-server": {
"command": "npx",
"args": []
}
}
}PRs, issues, code search, CI status
Database, auth and storage
Reference / test server with prompts, resources, and tools.
Secure file operations with configurable access controls.