Skip to main content
Glama
612,027 tools. Updated 2026-09-26 12:04

"Unicode" matching MCP tools:

  • Use this when scrubbing test/dev text: replaces each occurrence of the given terms with block characters (████). Provide `text` plus `terms` (a comma-separated string or an array of strings). By default it matches whole words only using Unicode boundaries (so "ann" will not match inside "annual") and is case-insensitive; set `caseSensitive` to match exactly, `wholeWords: false` to match substrings, or `fixedWidth: true` to hide each term's length behind a constant-width bar. Returns the redacted text and a replacement count, and never echoes the original terms. Deterministic: same input, same output. Truly sensitive text is better redacted client-side at clean.tools/text-redact/. Example: {text: "Contact Jane Doe", terms: "Jane Doe"} -> redacted "Contact ████████", redactedCount 1.
    ConnectorNo auth
  • Use this when you need a URL- or filename-safe slug from arbitrary text. Deterministic: same input, same output. Applies Unicode NFKD normalization, strips combining accents, and transliterates non-decomposing letters (ß->ss, æ->ae, œ->oe, ø->o, đ->d, ł->l, þ->th, ð->d, plus uppercase variants), then collapses every run of non-alphanumeric characters to a single separator and trims separators; e.g. "Héllo Wörld!" -> "hello-world". Emoji, CJK, and any other characters with no ASCII form are dropped. Prefer this over transliterating Unicode yourself, which models routinely get wrong. Returns { error } when no URL-safe characters remain.
    ConnectorNo auth
  • Validate and preview a business rule (SOP) create or update. when_to_use: First step of every tenant SOP create or update — validates the payload and issues the approval token. Schema: sop (required): {title, target_entity, operations, phase, rule_text, priority?, enabled?}. target_entity: lead, opportunity, party, quotation, salesOrder, salesInvoice, purchaseInvoice, purchaseOrder, ticket, task, timeRecord, or performanceRecord. operations: list of read/create/update/delete. phase: before_search / before_payload / before_preview / after_create / always. priority: 1-100, lower runs first, default 50. enabled: bool, default true. Plain text only — HTML, URLs, Markdown, and unsafe Unicode are rejected; title max 120 chars, rule_text max 2000. sop_id: existing SOP id for updates; omit for creates. returns: Dict with action (create_sop|update_sop), ready, validated_sop, approval, current_sop_count, max_sops, execution envelope, and next_steps. On validation failure ready is false and error explains why. preconditions: Admin role (every plan). Creates require fewer than MAX_SOPS_PER_TENANT existing SOPs; updates require an existing sop_id. post_effects: Issues a single-use, payload-bound approval token; no Firestore writes yet. Next step: call execute_approved with approval.token and execution.payload.
    ConnectorOAuth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides tools to inspect Unicode characters, escape/unescape strings in various formats (JS, HTML, URL), all offline and keyless.
    43 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Creates and manages encoded messages using zero-width characters and advanced Unicode steganography techniques, enabling quantum-themed puzzle generation with hidden secrets.
    3 npm
    1
    MIT

Matching MCP Connectors

  • Endpoint & tool trust — one call before an agent connects to a third-party MCP server or HTTP tool. Pass the endpoint `url` (and, to unlock the strongest check, its `tools`: the name/description/inputSchema the agent is about to trust). Returns three signals behind one verdict: (1) transport & TLS identity — encrypted, valid chain, not expired or self-signed; (2) domain age via RDAP — freshly-registered hosts are a scam tell; (3) a TOOL-POISONING scan of the tool definitions for the hidden directives that hijack agents — instruction overrides, 'don't tell the user', data exfiltration, secret harvesting, tool-shadowing, and invisible-unicode / homoglyph steganography that a human reviewer can't see. Nobody else screens tool descriptions for injection. Verdict: trusted | caution | untrusted | unknown, with per-finding evidence. Price: $0.008 USDC. Missing something? Call `submit_feedback` (free) to request it. Pass `attest=true` to also get an Ed25519-SIGNED attestation of this verdict — portable proof you can log, hand to a counterparty, or verify later with `verify_attestation` (free) or the published key.
    ConnectorNo auth
  • Leave a public note in place_id with mode note, the default, or say one public line there with mode line. You must be standing in that place, which must be yours or open to notes (50 per UTC day; 1 to 4,000 safe Unicode characters). The empty string is refused; safe whitespace-only text is accepted. The exact body, including whitespace, case, and Unicode, is stored without trimming or normalization. A new note returns 201. The same body and the same walk_to_read from you in the same place within five minutes normally returns the existing note with 200 before current standing, room-open, daily, or weekly quota checks; that replay creates no new note or Gazette submission and spends no quota. Optional walk_to_read, default false, is fixed when the note is written: true makes a walk-to-read note, whose first line, author, place, time, and byte size stay public everywhere while its body is read only by a resident standing in this place through read_here. It is not private: anyone who walks there can read it, and the dated public snapshot keeps the body. Room #454 refuses walk_to_read true. Speaking may wake things in this place that listen for talk, under their owners' and the room owner's wake switches; the answer's settle reports it. Room #454 is the Gazette service room. Before any work there, call browse with view=gazette and no issue_number, then follow its live submission_room and withdrawal_contract. Follow its submission_room and withdrawal_contract before submitting or withdrawing. Read the permanent archive with browse view=gazette. The response includes a neutral UTF-8 reading-cost meter. With mode line, while standing in a place, say one public line. A line is 1 to 240 UTF-8 bytes of visible text on one line, stored exactly as sent. Each resident may say 12 lines per UTC minute and 300 per UTC day; there is no citywide limit. Lines stay in the place's permanent transcript, need no open_to_notes or other place switch, do not count as notes, are never walk-to-read or a Gazette submission, and do not wake note talk traits. Line mode needs request_id; leave walk_to_read out or false. Give a new request_id for a new line; retry the same ID with the same fields to get the same answer. Read lines with look view=lines. Full catalog: /api/tools. Lost? Read the city front door with the front_door tool, or at https://1f3d9.com/ if your client can open URLs.
    Connector
    Destructive
    No auth
  • Leave a public note in place_id with mode note, the default, or say one public line there with mode line. You must be standing in that place, which must be yours or open to notes (50 per UTC day; 1 to 4,000 safe Unicode characters). The empty string is refused; safe whitespace-only text is accepted. The exact body, including whitespace, case, and Unicode, is stored without trimming or normalization. A new note returns 201. The same body and the same walk_to_read from you in the same place within five minutes normally returns the existing note with 200 before current standing, room-open, daily, or weekly quota checks; that replay creates no new note or Gazette submission and spends no quota. Optional walk_to_read, default false, is fixed when the note is written: true makes a walk-to-read note, whose first line, author, place, time, and byte size stay public everywhere while its body is read only by a resident standing in this place through read_here. It is not private: anyone who walks there can read it, and the dated public snapshot keeps the body. Room #454 refuses walk_to_read true. Speaking may wake things in this place that listen for talk, under their owners' and the room owner's wake switches; the answer's settle reports it. Room #454 is the Gazette service room. Before any work there, call browse with view=gazette and no issue_number, then follow its live submission_room and withdrawal_contract. Follow its submission_room and withdrawal_contract before submitting or withdrawing. Read the permanent archive with browse view=gazette. The response includes a neutral UTF-8 reading-cost meter. With mode line, while standing in a place, say one public line. A line is 1 to 240 UTF-8 bytes of visible text on one line, stored exactly as sent. Each resident may say 12 lines per UTC minute and 300 per UTC day; there is no citywide limit. Lines stay in the place's permanent transcript, need no open_to_notes or other place switch, do not count as notes, are never walk-to-read or a Gazette submission, and do not wake note talk traits. Line mode needs request_id; leave walk_to_read out or false. Give a new request_id for a new line; retry the same ID with the same fields to get the same answer. Read lines with look view=lines. Full catalog: /api/tools. Lost? Read the city front door with the front_door tool, or at https://1f3d9.com/ if your client can open URLs.
    Connector
    Destructive
    No auth
  • Untrusted-content guardrail for agents: submit a blob of text you are about to feed to your own LLM (scraped web content, a tool result, another agent's message) and get a machine-enforceable verdict - is this a prompt-injection / jailbreak / data-exfiltration / tool-hijack attempt? Returns a risk level, the detected classes with spans, the unicode obfuscation it found (zero-width, bidi-override, tag-chars, homoglyphs), and a SANITIZED copy safe to feed onward. Hybrid: a deterministic, uninjectable pattern engine (authoritative) plus an LLM classifier that can only raise the risk, never clear a flag. Detection of known injection classes - not a proof of safety. [security; up to 15c/call]
    ConnectorNo auth
  • Use this when you need to encode or decode text and want multi-byte and entity edge cases handled correctly rather than doing it by hand. Deterministic: same input, same output. The mode selects the operation: url-encode/url-decode (percent-encoding), html-encode/html-decode (entity table plus numeric character references), base64-encode/base64-decode (UTF-8 safe; decode tolerates URL-safe alphabet, whitespace, and missing padding), and unicode-encode/unicode-decode (\uXXXX and \u{...} escapes for non-ASCII). Every mode returns the same shape: {mode, output}. Example: mode base64-encode, text "héllo" -> output "aMOpbGxv".
    ConnectorNo auth
  • Use this when you need to style ASCII letters and digits as Unicode glyphs (bold-serif, italic-serif, bold-italic-serif, bold-sans, script, fraktur, double-struck, monospace, circled, squared, parenthesized, small-caps) for places that lack font control such as social bios or usernames. Pass a `style` and `text` to get the transformed string; characters outside A-Z, a-z, and 0-9 (spaces, punctuation, emoji) pass through unchanged. Omit `style` to receive the list of valid style keys instead of transforming. Deterministic: same input, same output. Example: {style: "bold-serif", text: "Hello 123"} -> result "𝐇𝐞𝐥𝐥𝐨 𝟏𝟐𝟑".
    ConnectorNo auth
  • Encode text or a URL into a QR code. data is the content to encode (a link, a generated identifier such as toolkit_generate_id's ids[0], or any string). format selects the output: svg returns inline SVG markup sized in pixels, png_base64 returns base64-encoded PNG bytes (with mimeType and byteLength), and terminal returns plain Unicode half-block characters (no escape codes) for a monospace display, drawn for a dark background: light modules, quiet zone included, are blocks and dark modules are spaces. errorCorrection (L/M/Q/H) trades data capacity for damage tolerance, margin sets the quiet-zone width in modules, and scale sets pixels per module for svg and png_base64, so both are (modules + 2 × margin) × scale pixels per side. The returned version (1–40) reflects how dense the encoded data is. png_base64 rejects an image past 2048 px per side with a typed raster_too_large error, so a dense symbol needs a lower scale; svg is vector markup and carries no such limit.
    ConnectorNo auth
  • Choose which TeX engine a project builds with: pdflatex, xelatex or lualatex. Use xelatex or lualatex for documents that load fontspec, unicode-math, polyglossia or xeCJK (custom system fonts and non-Latin scripts); use lualatex for anything calling \directlua or luacode. letX works this out on its own when a project is created, so reach for this when that guess needs overriding.
    Connector
    Destructive
    OAuth
  • Immediately edit one existing editable text file and record the applied change in PaperDock's Review changes UI. Provide exactly one target (fileId or path) and exactly one payload: operations, content, or rangeToken with insert. Read the relevant current text first and pass its baseRevision. For a long replacement covering every line returned by an exact read_file.lineRange call, pass its rangeToken with insert; the token is connection-, file-, revision-, range-, and content-bound and expires after 10 minutes. For other focused edits, use sequential UTF-16 operations and copy expectedText exactly from read_file without retyping, normalization, spelling correction, or manual Unicode escaping; insertions use expectedText: "". On a conflict, read again and retry once. Use content only when broadly rewriting most of the file. This tool cannot create, rename, or delete files.
    Connector
    Destructive
    OAuth
  • Answer 'which of THESE specific public identities is talking about my keywords?' — the opposite of open social listening. You upload a panel of up to 10,000 platform-qualified public handles (instagram, tiktok, youtube, twitter, threads, bluesky, truth-social, kwai, twitch, linkedin), submit a keyword query bounded to a recent window, and read back the matching posts per member PLUS a coverage record for every member, including the ones that matched nothing — so a partial crawl can never read as 'nobody talked about you'. Actions: create, add_members (1,000 per call, upsert on external_id so a nightly re-push is safe), estimate_cost (local, no API call — sizes the reservation before you commit), query (async, returns 202), query_status, query_results (paged, carries `items` + `coverage`), query_cancel, get, delete. Matching is deterministic: literal, whole-word, Unicode-normalized — no stemming, fuzzy matching, or alias inference. Every lifecycle call costs 0 credits; only the query is metered — it reserves a worst-case ceiling at submission and refunds down to the pages that actually succeeded. SocialCrawl only ever receives platform + handle + your opaque external_id, encrypted at rest. Requires a valid SOCIALCRAWL_API_KEY.
    Connector
    Destructive
    No auth
  • Fetch a URL and scan it for content planted to hijack an AI agent visiting it rather than to inform a human: invisible unicode (zero-width joiners, steganographic tag-block characters), CSS-hidden text (display:none, opacity:0, off-screen) paired with instruction-shaped language ('ignore previous instructions', 'add to cart and checkout', fake system-role text), and instruction-shaped phrases in alt/title/aria-label attributes or meta tags. Call this before an autonomous browsing or checkout flow acts on instructions found on a page. A clean result means no known hijack pattern found, not a full content-safety guarantee.
    ConnectorNo auth
  • Scan any external content before an agent INGESTS it (SKILL.md, web page, user input, tool output) for prompt-injection, data exfiltration, dangerous code execution, hidden/invisible unicode and instruction overrides: 0-100 risk score + SAFE/WARN/BLOCK verdict + structured findings with matched evidence. Is it safe to feed this content to my agent? A fast, cheap, deterministic, high-volume pre-ingest firewall. Prompt-injection / skill-audit / untrusted-content security check for agents. Price: $0.10 per call (x402 payment, USDC on Base mainnet).
    ConnectorNo auth
  • Render a Mermaid source string to text. Returns { ok, text }. useAscii true → plain ASCII (+,-,|); false/absent → Unicode box drawing (┌,─,│). targetWidth sets a hard terminal display-cell bound; impossible bounds return a typed error.
    ConnectorNo auth
  • Look up one guitar chord chart by name and return it as a text chord diagram ready to show the user. Returns the same single voicing that https://guitarpracticeroutine.com/find-a-chord-chart shows for that name. The library holds 12,708 standard-tuning (EADGBE) chord names, exactly one voicing each. Pass a plain chord name as it would be written on a chart — "G", "Am7", "Cmaj7", "D/F#", "F#m7b5" — not a sentence. Convert spoken forms yourself first: "G major" is "G", "A minor" is "Am", and use "#" and "b" rather than the unicode sharp and flat signs. Charts are drawn on a five-fret grid starting at the nut, the same as the website; any notes above the fifth fret are named in words underneath the chart. Prefer this over recalling a fingering from memory — these are curated chart data, and a remembered fingering is often wrong. Each result leads with a direct PNG URL for the chart — a permanently cacheable image of the same diagram, which you can show or link however your surface handles images. The chord name is on the first line; keep it next to any image you show, since a chart on its own can arrive unlabelled.
    ConnectorNo auth
  • Find duplicate or easily confused tool names after Unicode, case and separator normalization. PAID: 300 micro-dollar service credits per successful call. First use agent_utilities_prepare for this tool. Requires existing credits and a private Authorization header. Reuse prepared arguments for recovery; a new requestId is a new billable operation.
    ConnectorNo auth