Skip to main content
Glama
mcp-sing

mcp-sing

mcp-sing

Servidor MCP (Model Context Protocol) que reproduz assinaturas manuscritas na plotter de caneta NextDraw 8511 (Bantam Tools), sob orquestração do Claude Code, com qualidade de calígrafo profissional e reprodução idêntica entre cópias (convites de casamento).

Entrada: um SVG centerline traçado à mão por um vetorista profissional — ordem e direção dos traços são ground truth. Não há vetorização de foto nem inferência de trajetória.

Princípio: a autoria compila um toolpath temporizado determinístico e o trava por SHA-256; a produção apenas replica o perfil travado — por isso toda cópia sai idêntica.

Documentação

Related MCP server: genart-mcp

Status

Design travado (decisões D1–D4). Pendente do cliente: caneta+tinta e medidas do cartão (janela + offset). Próximo passo: implementar a fatia vertical sem hardware (import_signature_svg → compile_toolpath → render_proof).

Available Tools

21 tools
arm_motionA

PASSO 1 de qualquer movimento: valida limites e devolve um confirm_token de uso único.

params deve casar a execução: jog {dx,dy} · set_paper_origin {x,y} · test_plot {signature_id} · production_run {profile_id} · home/set_pen_positions/test_pen_toggle {}. O OPERADOR repassa o token na tool de execução. O Claude não gera nem adivinha o token.

Inputs: action (required), params.

calibrate_pen_paperC

Grava o registro MEDIDO por (caneta, papel): descida, velocidade-limpa, largura, mola(B).

Inputs: pen (required), paper (required), width_mm (required), pen_pos_down (required), +3 more.

compile_calibratedC

Recompila o toolpath com a calibração MEDIDA (é o que test_plot/lock usam) → CALIBRATED.

Inputs: pen (required), paper (required), signature_id (required).

compile_toolpathC

Compila o toolpath NOMINAL (pré-calibração) para o proof. pen: fineliner|ballpoint.

Inputs: signature_id (required), pen.

device_connectB

Conecta a plotter. kind: 'nextdraw' (real, PC do operador) | 'mock' (teste, não move).

Inputs: kind.

home_deviceD

[MOVE] Homing. Exige arm_motion('home', {}) + token.

Inputs: confirm_token (required).

import_signature_svgC

Valida o SVG centerline do vetorista contra o Profile v1. Retorna status + signature_id.

Inputs: svg_path (required).

jogB

[MOVE] Desloca dx,dy mm. Exige arm_motion('jog', {dx,dy}) + token.

Inputs: dx (required), dy (required), confirm_token (required).

load_profileB

Carrega o perfil LOCKED e VERIFICA o hash; recusa se adulterado.

Inputs: client (required), version.

lock_profileC

Congela mestre+toolpath calibrado+calibração+firmware, SHA-256, grava imutável. Recusa não-calibrado.

Inputs: client (required), signature_id (required), version, git_commit.

measure_fidelityC

Mede desvio scan×mestre (best-effort). Reprovar bloqueia aprovação; passar NÃO aprova só.

Inputs: scan_path (required), signature_id (required), tol_mm.

production_abortC

Aborta um job (park seguro + recolhe a caneta).

Inputs: job_id (required).

production_pauseB

Pausa um job de produção (park seguro, caneta levantada).

Inputs: job_id (required).

production_resumeC

Retoma um job pausado (resume-from-stroke-N).

Inputs: job_id (required).

production_runD

[MOVE] Replica o perfil travado (background). Recusa sem LOCKED+hash+origem. arm_motion('production_run',{profile_id})+token.

Inputs: profile_id (required), copies, confirm_token.

record_test_resultC

Sign-off HUMANO do plot de teste (pré-condição da trava). → APPROVED se aprovado.

Inputs: approved (required), signature_id (required), scan, notes.

render_proofD

Proof honesto pré-hardware (geometria/ordem/direção=REAL; largura=NOMINAL).

Inputs: signature_id (required), out_dir.

set_paper_originB

Captura a origem do papel da posição ATUAL (não move). Jogue até o canto inf-esq da área plotável da A4 antes — a banda de baixo da A4 deve cair na área alcançável.

Inputs: a4_ref_x, a4_ref_y.

set_pen_positionsD

[MOVE] Ajusta posições/forças da caneta. arm_motion('set_pen_positions',{})+token.

Inputs: confirm_token (required), accel, pen_pos_up, pen_delay_up, +4 more.

test_pen_toggleC

[MOVE] Cicla a caneta cima/baixo. arm_motion('test_pen_toggle',{})+token.

Inputs: confirm_token (required).

test_plotC

[MOVE] Plota o toolpath calibrado em A4 rascunho (job background). arm_motion('test_plot',{signature_id})+token.

Inputs: signature_id (required), confirm_token (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.6/5.0

    Scored across 21 tools

    Disambiguation4/5

    Most tools have distinct purposes, but arm_motion serves as a validation step for multiple move tools, potentially causing confusion. The separation between compile_toolpath and compile_calibrated is clear, and motion tools are differentiated by action.

    Naming Consistency3/5

    Names are mostly snake_case and verb-led (e.g., calibrate_pen_paper, load_profile), but some are noun phrases (arm_motion) or single words (jog). The pattern is not fully consistent.

    Tool Count4/5

    21 tools cover a complex plotter control workflow, including motion, calibration, compilation, production, and human sign-off. While slightly high, each tool seems justified except for minor potential consolidation.

    Completeness4/5

    The tool surface covers core operations: connection, calibration, compilation, motion, production control, and verification. Missing features like device status or profile listing are minor gaps that agents can work around.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      MCP server that turns AI into an SVG artist. One rendering engine with a rich JSON schema, AI controls all design parameters. Renders animated SVGs with CSS @keyframes and SMIL animations. Supports 16+ element types, parametric curves, pattern groups, gradient/filter/clip/mask definitions, and PNG preview. No external dependencies, runs locally via npx.
      3
      178 npm
      31
      MIT
    • A
      license
      C
      quality
      C
      maintenance
      MCP server for creating and manipulating generative art with p5.js, Three.js, GLSL, Canvas2D, and SVG, featuring workspace management, parameter control, and screenshot capture.
      312
      66 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      The diagram-quality layer for AI agents — an opinionated Excalidraw methodology (isomorphism test, evidence artifacts, multi-zoom, container discipline) plus a render-view-fix loop. Accepts skeleton and Mermaid input, 5 publishable themes, dual Node/Python renderer. Proven on a 77-diagram published book.
      4
      MIT