Unicode Security Mcp

io.github.mrfentmenPublished by GitHub account mrfentmenv1.0.0Updated Oct 30, 2026

Local first MCP checks for Unicode confusables, mixed scripts, invisible controls, and...

VerifiedSTDIODesktop onlyDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

A local MCP server that lets an assistant inspect text and identifiers for Unicode confusables, mixed scripts and invisible control characters.

What you can do
  • Analyze text for confusable characters, invisible controls, mixed scripts and a heuristic risk level
  • Compare two identifiers through a small confusable skeleton
  • Normalize a single identifier into a skeleton for local comparison
When to use it
Useful when reviewing usernames, domain-like names, package names or pasted text where lookalike characters or hidden controls could cause confusion, spoofing or hard-to-diagnose bugs.
Requirements
Runs as a local stdio process installed from the npm package; the README's run steps build it with npm and start the compiled entry point with Node.js. No authentication, environment variables or headers are declared, and it needs no network access.
Before you install
It is a review aid, not a complete Unicode Security Mechanisms implementation; the bundled mappings are conservative and do not replace platform IDNA, normalization, font or language-specific security review. Treat its risk level as a heuristic only.

Installation

In SourceWeft

  1. Open Unicode Security Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

unicode-security-mcp

A local-first MCP server for catching Unicode tricks before they become confusing bug reports or security incidents.

Tools

  • analyze_text: detect confusable characters, invisible controls, mixed scripts, and a heuristic risk level.
  • compare_identifiers: compare two names through a small confusable skeleton.
  • get_skeleton: normalize one identifier for local comparison.

The server never sends input to a network service. It is a review aid, not a complete Unicode Security Mechanisms implementation. The bundled mappings are intentionally conservative and should not replace platform IDNA, normalization, font, or language-specific security review.

Run

bash
npm installnpm run buildnode dist/index.js

Source: README.md at commit 8d9de4a

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.0LatestSep 22, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.