scuffed-painter
Scuffed Painter
Pillowを使用して描画コマンドをラスター画像にレンダリングするMCP(Model Context Protocol)サーバーです。次の2つのツールを公開しています。
draw_image— コマンドをレンダリングし、結果をインラインPNG画像として返します。draw_image_to_file— コマンドをレンダリングし、結果をファイルに保存します。
サポートされている図形は5つで、それぞれは "shape" フィールドで判別されるJSONオブジェクトです。
shape | パラメーター |
|
|
|
|
|
|
|
|
|
|
コマンドは、固定サイズの白いキャンバス上でリストの順序に従って実行されます。後続のコマンドは先行するコマンドの上に描画されます。色はCSSの色名または16進コードで指定します。
インストール
pip install .これにより、stdio経由でMCPサーバーを起動する scuffed-painter コンソールスクリプトが提供されます(デフォルト)。python -m scuffed_painter も同等の代替手段です。同じコマンドで、HTTP(MCP Streamable HTTP トランスポート)経由でサーバーを提供することもできます。
scuffed-painter # stdio transport (default)
scuffed-painter --transport http # HTTP on 127.0.0.1:8000
scuffed-painter --transport http --host H --port P--host と --port はHTTPトランスポートにのみ適用されます。デフォルトは 127.0.0.1 と 8000 です。必要に応じて --enable-cors でCORSを有効にできます。
Related MCP server: openai-imagegen-mcp
MCPホスト設定
stdio
MCPホストのstdioサーバー設定にサーバーを追加してください。
{
"mcpServers": {
"scuffed-painter": {
"command": "scuffed-painter"
}
}
}注: PATHが制限されたホスト上、または仮想環境(virtualenv)内で実行している場合は、インストールされた scuffed-painter スクリプトの絶対パスを使用してください(例: which scuffed-painter が出力するパス)。
Streamable HTTP
サーバーを自分で起動し、MCPホストをエンドポイント(パスは /mcp)に向けてください。
scuffed-painter --transport http --host 127.0.0.1 --port 8000{
"mcpServers": {
"scuffed-painter": {
"type": "streamable-http",
"url": "http://127.0.0.1:8000/mcp"
}
}
}(キー名は、使用しているMCPホストの設定形式に合わせて調整してください。)
注: draw_image_to_file を使用する場合、output_path はサーバーが実行されているマシンを指します。stdio経由ではMCPクライアントと同じホストですが、HTTP経由でサーバーにアクセスする場合はサーバーのホストになります。
ツール呼び出しの例
{
"width": 200,
"height": 200,
"commands": [
{"shape": "circle", "center": [100, 80], "radius": 50, "fill": "gold", "outline": "orange", "width": 3},
{"shape": "triangle", "points": [[50, 170], [150, 170], [100, 70]], "fill": "darkgreen"},
{"shape": "line", "start": [20, 185], "end": [180, 185], "color": "black", "width": 2}
]
}開発
リポジトリ構成:
scuffed_painter/ the package
server.py server, tools, command models, rendering
__init__.py re-exports mcp, defines __version__
__main__.py python -m scuffed_painter support
py.typed typing marker
tests/ pytest suite (in-process fastmcp.Client)セットアップとテストの実行:
pip install -e ".[dev]"
python -m pytestMaintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables creation, management, and export of Excalidraw drawings through natural language. Supports CRUD operations on drawings and export to SVG, PNG, and JSON formats with file-based storage.81,917The Unlicense
- FlicenseNot gradedqualityDmaintenanceEnables image generation and editing via OpenAI's gpt-image-1 model, with options for saving, format control, and transparency.
- FlicenseNot gradedqualityDmaintenanceEnables to create, compose, and export SVG documents programmatically using the svgwrite library through tool calls. Supports shapes, groups, gradients, and pattern generators.
- FlicenseNot gradedqualityBmaintenanceEnables image generation and editing via third-party relay services. Returns local file paths and Markdown display hints.
Related MCP Connectors
Generate images, GIFs, and PDFs from HTML, URLs, or templates — from your AI agent.
Create diagrams in chat, rendered as live interactive draw.io diagrams. 10,000+ searchable shapes.
Generate logos, social posts, app screenshots, comic panels & visual-novel assets from prompts.
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/viktor-haag/scuffed-painter'
If you have feedback or need assistance with the MCP directory API, please join our Discord server