← Back to search

nakkas

GitHub Actions Scanned 8d ago

MCP server that turns AI into an SVG artist. One rendering engine, AI decides everything.

B
79 / 100

Versions

0.5.0latest
Jul 13, 2026
0.4.0
Jul 13, 2026
0.3.1
Jul 13, 2026
0.3.0
Jul 9, 2026
0.2.0
Jul 7, 2026
+ show 8 moreshow less
0.1.7
Jul 7, 2026
0.1.6
Jul 2, 2026
0.1.5
Apr 6, 2026
0.1.4
Mar 25, 2026
0.1.3
Mar 21, 2026
0.1.2
Mar 21, 2026
0.1.1
Mar 21, 2026
0.1.0
Mar 21, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 3

render_svg
annotations: none low

preview
annotations: none low

Render SVG content to a PNG image so the AI can visually inspect the output. **When to use:** - render_svg already returns a preview image by default; call this tool to re-preview a stored artifact at a different width, or to preview SVG that did not come from render_svg - Stop iterating when the visual result matches the intent **Input:** pass EITHER artifact (id from render_svg, e.g. "art-1" — preferred, no SVG resend) OR content (raw SVG string). **Behavior:** - Returns a PNG image (base64) rendered from the SVG - Background is transparent by default - CSS animations and SMIL are rendered as a static snapshot (t=0) — motion is not captured **Width:** - Omit width to use the SVG's own declared width/viewBox - Pass width to scale the output (useful for small SVGs that need a larger preview)

save
annotations: none low

Save rendered content to disk. Format-aware: can save as text or render to raster image. IMPORTANT: Use this only AFTER iterating on the design with render_svg's preview images. Do not save on the first render. Preview and refine your work first. **Input:** pass EITHER artifact (id from render_svg, e.g. "art-1" — preferred, no SVG resend) OR content (raw string). **Format detection:** - 'auto' (default): infers format from file extension. .svg saves as text, .png renders to image. - 'svg': saves content as a UTF-8 text file - 'png': renders the content (assumed SVG) to a PNG image, then saves it If the file already exists, a numeric counter is appended before the extension to prevent overwriting: design.svg becomes design-1.svg, then design-2.svg. The actual saved path is returned in the response.

Permissions 2

shell high
Server uses shell capabilities via: child_process
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 19

low
Tool 'render_svg' has no annotations annotation_checker · 100%
low
Tool 'preview' has no annotations annotation_checker · 100%
low
Tool 'save' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.10.2 (GHSA-345p-7cg4-v4c7) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.10.2 (GHSA-8r9q-7v3j-jr4g) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.10.2 (GHSA-w48q-cv73-mx4w) dependency_analyzer · 95%
medium
Vulnerable dependency: vitest@3.0.9 (GHSA-5xrq-8626-4rwp) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
Tool: render_svg manifest_parser · 85%
info
Tool: preview manifest_parser · 85%
info
Tool: save manifest_parser · 85%
info
Transport: stdio manifest_parser · 90%
info
Required env vars (1) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 263 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%