A.U.G.U.R Synapse · Utils
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Exact local utils: QR, hashing/encoding, JSON Schema, cron, markdown, diff, units, JWT, random.
| Author | art.maddegen.agent |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 9323 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"A.U.G.U.R Synapse · Utils": {
"url": "https://augur-trade.com/hub/mcp/util",
"transport": "streamable-http"
}
}
}
Measured tools (10)
qr_coderead-onlyMake a QR code for any text, URL, Solana Pay / wallet address or Wi-Fi login — as a PNG (base64 data URL) or SVG, with size, margin, colours and error correction. Rendered on our server. For Wi-Fi pass wifi_ssid + wifi_password; for Solana Pay pass a solana: URI as text. Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
Parameters:
dark— string — Foreground colour as #rrggbb. Default "#000000".size— integer — Image width/height in pixels. Range 64-2048. Default 512.text— string — Text or URL to encode (ignored when wifi_ssid is set).light— string — Background colour as #rrggbb. Default "#ffffff".format— string — PNG (base64 data URL) or SVG markup. One of "png", "svg". Default "png".margin— integer — Quiet-zone width in modules. Range 0-16. Default 2.wifi_ssid— string — Wi-Fi network name; makes a join-network QR instead of text.wifi_password— string — Wi-Fi password (with wifi_ssid; omit for open networks).error_correction— string — Error-correction level: L 7%, M 15%, Q 25%, H 30%. One of "L", "M", "Q", "H". Default "M".
Hints: read-only yes · destructive no · idempotent yes · open-world yes
hash_encoderead-onlyHash data (SHA-256/512, SHA3, Keccak-256, BLAKE2, MD5, SHA-1, RIPEMD-160, HMAC) and convert between utf8, hex, base64, base64url and base58 — exact, in one call. Useful for signatures, content addressing, EVM selectors (keccak of a function signature), and decoding blobs agents are handed. Input can itself be hex/base64/base58. Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
Parameters:
input(required) — string — Data to hash or re-encode.hashes— array — sha256, sha512, sha3-256, sha3-512, keccak256, blake2b512, blake2s256, md5, sha1, ripemd160. 0-12 items. Default ["sha256","keccak256"].hmac_key— string — if set, HMAC instead of plain hash (utf8 key)input_encoding— string — How the input string is encoded. One of "utf8", "hex", "base64", "base58". Default "utf8".
Hints: read-only yes · destructive no · idempotent yes · open-world yes
json_schema_validateread-onlyValidate JSON data against a JSON Schema (draft-07/2019-09/2020-12, formats like email/uri/date-time) and get every error with its exact path — check tool I/O before acting on it. Ajv, strict about types, all errors reported. Pass data and schema as JSON values (or JSON strings). Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
Parameters:
data(required) — any JSON value (or a JSON string with parse_strings=true)schema(required) — object — The JSON Schema to validate against.parse_strings— boolean — true = if data is a string, parse it as JSON first. Default false.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
cron_explainread-onlyExplain a cron expression in plain English and list its next N run times in any time zone — catch a schedule mistake before it fires at 3 am. Supports 5-field and 6-field (seconds) cron, ranges, steps, L/W/#, and nicknames (@daily, @hourly…). Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
Parameters:
expression(required) — string — Cron expression, 5 fields (or 6 with seconds), e.g. "*/15 9-17 * * 1-5".tz— string — IANA time zone for the next-run times. Default "UTC".count— integer — How many upcoming run times to list. Range 1-50. Default 5.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
markdown_convertread-onlyConvert Markdown to clean HTML (GitHub-flavoured: tables, task lists, fenced code) or HTML back to Markdown. marked for md→html, Turndown for html→md. Scripts/styles are dropped on html→md. Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
Parameters:
input(required) — string — Markdown or HTML to convert.to— string — Target format. One of "html", "markdown". Default "html".
Hints: read-only yes · destructive no · idempotent yes · open-world yes
text_diffread-onlyDiff two texts: unified diff (patch format), a line/word-level change list, and similarity % — compare versions of a doc, config or code. jsdiff. mode=lines gives a unified patch; mode=words gives word-level changes for prose. Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
Parameters:
a(required) — string — Original text.b(required) — string — Changed text.mode— string — Diff granularity. One of "lines", "words". Default "lines".context— integer — Unchanged lines of context around each change in the patch. Range 0-20. Default 3.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
unit_convertread-onlyConvert between units of length, mass, volume, temperature, speed, area, time, data size, energy, power, pressure, frequency and more — or list every unit a value converts to. Exact conversion tables (convert-units). Use abbreviations: m, km, mi, ft, kg, lb, oz, l, gal, C, F, K, km/h, mph, knot, B, KB, MB, GB (binary, 1 GB = 1024 MB), J, kWh, W, Pa, bar, psi, Hz… Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
Parameters:
value(required) — number — Number to convert.from(required) — string — Source unit, e.g. "mi", "kg", "degF", "GB".to— string — omit to get every compatible unit
Hints: read-only yes · destructive no · idempotent yes · open-world yes
jwt_decoderead-onlyDecode a JSON Web Token's header and claims, show issued/expiry times in plain dates and whether it has expired — optionally verify an HS256/384/512 signature with a secret. Decoding does not need the key. Never paste production secrets into third-party tools you do not trust; verification here is local and nothing is stored or logged. Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
Parameters:
token(required) — string — The JWT (three base64url parts). The signature is not verified.secret— string — optional HMAC secret to verify HS* signatures
Hints: read-only yes · destructive no · idempotent yes · open-world yes
random_genread-onlyCryptographically secure randomness: UUID v4/v7, passwords, API-key-style tokens, integers in a range, dice, coin flips, or a fair shuffle / pick from a list. Node's CSPRNG. Output is generated fresh per call and never stored or logged. Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
Parameters:
max— integer — Highest integer (kind=int). Default 100.min— integer — Lowest integer (kind=int or dice sides). Default 1.kind— string — What to generate. One of "uuid4", "uuid7", "password", "token", "int", "shuffle", "pick", "coin", "dice". Default "uuid4".count— integer — How many values to generate. Range 1-100. Default 1.items— array — List to shuffle or pick from (kind=shuffle or pick). 0-1000 items.length— integer — Length for passwords and tokens. Range 4-256. Default 20.symbols— boolean — Include symbols in passwords. Default true.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
text_statsread-onlyCount characters, words, sentences, lines and paragraphs, estimate LLM tokens, reading time and readability (Flesch), and pull out every URL, email, @handle, #tag, number and crypto address. Token count is an estimate (~4 characters per token for English; code and non-Latin scripts differ). Extraction uses strict patterns; EVM addresses are checksum-validated. Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).
Parameters:
text(required) — string — Text (or a URL when extract=true) to analyse.extract— boolean — true = if text is a URL, fetch the page and analyse its readable text. Default true.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.