Servidor MCP

useSignal

io.github.sanket-naik/usesignal
Herramientas para desarrolladores Productividad Público y accesible MCP 2025-11-25

Qué hace este MCP

Provides developer utilities for JSON, encoding, hashing, JWT inspection, cron expressions, regex testing, QR codes, flowcharts, forms, colors, and placeholder assets.

usesignal_convert_timestamp
Convert a Unix timestamp (seconds or milliseconds) or an ISO 8601 date into ISO, UTC, epoch seconds/milliseconds, a relative time and the local time in a given time zone.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value'], 'properties': {'value': {'type': 'string', 'maxLength': 100}, 'timeZone': {'type': 'string', 'default': 'UTC', 'maxLength': 64, 'description': 'IANA time zone, e.g. Asia/Kolkata or America/New_York'}}, 'additionalProperties': False}
usesignal_diff_json
Compare two JSON documents structurally and list every added, removed and changed value with its JSONPath. Numbers compare exactly. Arrays match by content by default, so an inserted item shows as one addition; use arrays:"position" to compare index by index.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['left', 'right'], 'properties': {'left': {'type': 'string', 'maxLength': 200000}, 'right': {'type': 'string', 'maxLength': 200000}, 'arrays': {'enum': ['content', 'position'], 'type': 'string', 'default': 'content'}}, 'additionalProperties': False}
usesignal_encode_decode
Exact text transforms: Base64 encode/decode (UTF-8), URL encode/decode, decode a JWT header and payload with readable exp/iat/nbf dates (the signature is not verified), or hash text with MD5, SHA-1, SHA-256 and SHA-512. Use this instead of computing hashes or Base64 by hand.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operation', 'text'], 'properties': {'text': {'type': 'string', 'maxLength': 100000}, 'operation': {'enum': ['base64_encode', 'base64_decode', 'url_encode', 'url_decode', 'jwt_decode', 'hash'], 'type': 'string'}}, 'additionalProperties': False}
usesignal_explain_cron
Explain a standard 5-field cron expression (minute hour day-of-month month day-of-week) in plain English and list its next run times in a given time zone, handling daylight saving time.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['expression'], 'properties': {'count': {'type': 'integer', 'default': 5, 'maximum': 20, 'minimum': 1}, 'timeZone': {'type': 'string', 'default': 'UTC', 'maxLength': 64, 'description': 'IANA time zone, e.g. Asia/Kolkata or America/New_York'}, 'expression': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}
usesignal_flowchart
Turn JavaScript/TypeScript code, arrow steps or Mermaid-style arrows into a flowchart, returned as Mermaid source and an SVG diagram. Steps mode uses one flow per line: "Start -> Validate -> Save" and branches like "Validate -- No --> Show error".
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mode', 'input'], 'properties': {'mode': {'enum': ['code', 'steps', 'mermaid'], 'type': 'string'}, 'input': {'type': 'string', 'maxLength': 20000}, 'direction': {'enum': ['vertical', 'horizontal'], 'type': 'string', 'default': 'vertical'}}, 'additionalProperties': False}
usesignal_format_json
Validate, pretty-print or minify JSON, optionally sorting keys. Invalid JSON reports the exact line and column; with repair (default on) it fixes common problems such as trailing commas, single quotes, comments and unquoted keys, and lists each fix.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['json'], 'properties': {'json': {'type': 'string', 'maxLength': 200000}, 'mode': {'enum': ['format', 'minify'], 'type': 'string', 'default': 'format'}, 'indent': {'enum': ['2', '4', 'tab'], 'type': 'string', 'default': '2'}, 'repair': {'type': 'boolean', 'default': True}, 'sortKeys': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
usesignal_generate_colors
Generate light and dark semantic color tokens from a six-digit hex brand color. Returns a shade scale, measured text contrast checks and CSS, JSON and Tailwind exports. This measures listed color pairs only, not whole-page accessibility. Call usesignal_open_workbench with the result input to preview.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['baseColor'], 'properties': {'baseColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}}, 'additionalProperties': False}
usesignal_generate_form
Generate an editable form from a JSON object. Returns nested field paths, JSON Schema, HTML, React JSX and config exports. Arrays and nulls use JSON textareas. Values are processed in memory; avoid secrets. To show an interactive preview, call usesignal_open_workbench with this result input.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['json'], 'properties': {'json': {'type': 'string', 'maxLength': 50000}, 'title': {'type': 'string', 'default': 'Generated form', 'maxLength': 120}, 'overrides': {'type': 'array', 'items': {'type': 'object', 'required': ['path'], 'properties': {'path': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 9}, 'type': {'enum': ['text', 'email', 'number', 'checkbox', 'textarea'], 'type': 'string'}, 'label': {'type': 'string', 'maxLength': 120}, 'required': {'type': 'boolean'}}, 'additionalProperties': False}, 'default': [], 'maxItems': 100}}, 'additionalProperties': False}
usesignal_generate_qr
Generate a scannable QR code for a link, text, Wi-Fi network, contact card (vCard), email, SMS, phone number, WhatsApp chat or UPI payment. Returns the encoded payload, an SVG file and a PNG preview image. values by type: url{url}; text{text}; wifi{ssid,password,security:WPA|WEP|nopass,hidden}; vcard{firstName,lastName,phone,email,org,title,website,address}; email{to,subject,body}; sms{phone,message}; phone{phone}; whatsapp{phone,message}; upi{vpa,name,amount,note}.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type', 'values'], 'properties': {'dark': {'type': 'string', 'default': '#111111', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'type': {'enum': ['url', 'text', 'wifi', 'upi', 'vcard', 'whatsapp', 'email', 'sms', 'phone'], 'type': 'string'}, 'light': {'$ref': '#/properties/dark', 'default': '#FFFFFF'}, 'margin': {'type': 'integer', 'default': 4, 'maximum': 16, 'minimum': 0}, 'values': {'type': 'object', 'additionalProperties': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'boolean'}, {'type': 'number'}]}}, 'moduleStyle': {'enum': ['square', 'rounded', 'dots'], 'type': 'string', 'default': 'square'}, 'errorCorrection': {'enum': ['L', 'M', 'Q', 'H'], 'type': 'string', 'default': 'M'}}, 'additionalProperties': False}
usesignal_open_workbench
Open useSignal workbench
Show the editable useSignal UI. First call a useSignal data tool, then pass its returned input and matching tool name. Recomputes from validated inputs; no shared state.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tool', 'input'], 'properties': {'tool': {'enum': ['usesignal_generate_form', 'usesignal_generate_colors', 'usesignal_test_regex', 'usesignal_generate_qr', 'usesignal_encode_decode', 'usesignal_explain_cron', 'usesignal_convert_timestamp', 'usesignal_diff_json', 'usesignal_format_json', 'usesignal_placeholder_image', 'usesignal_flowchart'], 'type': 'string'}, 'input': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': False}
usesignal_placeholder_image
Create a placeholder image URL (served by usesignal.dev) plus HTML, Markdown and CSS snippets, for mockups, prototypes, seed data and layouts. Width and height up to 4000 px.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['width', 'height'], 'properties': {'text': {'type': 'string', 'maxLength': 120}, 'color': {'$ref': '#/properties/background'}, 'style': {'enum': ['minimal', 'grid', 'gradient', 'dark', 'glass'], 'type': 'string', 'default': 'minimal'}, 'width': {'type': 'integer', 'maximum': 4000, 'minimum': 1}, 'height': {'type': 'integer', 'maximum': 4000, 'minimum': 1}, 'radius': {'type': 'integer', 'maximum': 999, 'minimum': 0}, 'pattern': {'enum': ['plain', 'grid', 'diagonal', 'dots', 'minimal'], 'type': 'string'}, 'background': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}}, 'additionalProperties': False}
usesignal_test_regex
Execute a JavaScript regular expression against text and expected match/non-match test cases. Returns indexed matches and capture groups. Flags use JavaScript semantics. Execution times out after 500ms. Call usesignal_open_workbench with result input to highlight matches.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pattern', 'text'], 'properties': {'text': {'type': 'string', 'maxLength': 20000}, 'flags': {'type': 'string', 'default': 'g', 'maxLength': 8}, 'tests': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'shouldMatch'], 'properties': {'text': {'type': 'string', 'maxLength': 2000}, 'shouldMatch': {'type': 'boolean'}}, 'additionalProperties': False}, 'default': [], 'maxItems': 50}, 'pattern': {'type': 'string', 'maxLength': 1000}}, 'additionalProperties': False}
Añadido
usesignal_open_workbench
4 de October de 2026 a las 02:40
Añadido
usesignal_flowchart
4 de October de 2026 a las 02:40
Añadido
usesignal_placeholder_image
4 de October de 2026 a las 02:40
Añadido
usesignal_format_json
4 de October de 2026 a las 02:40
Añadido
usesignal_diff_json
4 de October de 2026 a las 02:40
Añadido
usesignal_convert_timestamp
4 de October de 2026 a las 02:40
Añadido
usesignal_explain_cron
4 de October de 2026 a las 02:40
Añadido
usesignal_encode_decode
4 de October de 2026 a las 02:40
Añadido
usesignal_generate_qr
4 de October de 2026 a las 02:40
Añadido
usesignal_test_regex
4 de October de 2026 a las 02:40
Añadido
usesignal_generate_colors
4 de October de 2026 a las 02:40
Añadido
usesignal_generate_form
4 de October de 2026 a las 02:40