Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

uta-shield Remote (Barter-enabled)

by eddyflores100-langversion 0.3.0i★ –iRuns in the cloud
Registry nameio.github.eddyflores100-lang/uta-shield-remote

Install

Overview

Description from the maker (original English)

Remote MCP firewall with barter protocol: identity, threat-intel, IoC lookup.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs in the cloud
  • Transport: Streamable HTTP
  • Category: Cybersecurity

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 2 passed Fail
  • Runs on the maker’s server: what you ask it goes through their server.
  • The registry lists no key to fill in.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://wall.utalabs.tech/mcp

Run this in your terminal

claude mcp add --transport http uta-shield-remote https://wall.utalabs.tech/mcp

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "uta-shield-remote": {
      "url": "https://wall.utalabs.tech/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "uta-shield-remote": {
      "type": "http",
      "url": "https://wall.utalabs.tech/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://wall.utalabs.tech/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

The server did not answer when we last checked, so we could not read its tools.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account eddyflores100-lang, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✕ Fail

    Endpoint responds

    Did not respond within 6 seconds when we checked

  • – Not applicable

    Sign-in with OAuth

    Did not respond within 6 seconds when we checked

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Cybersecurityi

  • More stars than 0% of the other 1003 servers in this category
  • Published to the registry more recently than 75% of the other 1003 servers in this category
  • Basic checks equal to or better than 18% of the other 1003 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is uta-shield Remote (Barter-enabled) safe?

It passed 1 of 2 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.3.0) reached the registry 12 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Draugr, Harbor, Microsoft Windows Security Updates (MSRC CVRF) — buy per-query in-session (msrc…

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Draugr

Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.

by draugr-devVery newUpdated today

Runs on your computer✓ draugr.dev

Harbor

Read-only access to Harbor: projects, artifacts, vulnerabilities, robots, replication, agent skills.

by oreondevVery newUpdated today

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

uta-shield

Provider-side firewall for MCP servers + PhishGuard threat-intel MCP server — in one zero-dependency package.

Landing / docs: https://wall.utalabs.tech

Every gateway in the MCP security category (Lasso, Mintive, Obot, agentgateway, Cequence) protects the consumer — the company whose employees connect agents to third-party servers. Nothing protects the operator — the SaaS that publishes its MCP server and exposes its database to every anonymous agent on the internet.

uta-shield is the mirror side: you wrap YOUR MCP server and gain verified identity, per-tool authorization, threat-intel blocking (in AND out), two-tier rate limits, DLP masking, proxy hardening, per-call metering and a JSONL audit trail — without touching your server code.

Backed by a real, documented campaign: the taikotalent phishing case (fake-recruiter malware against open-source developers, domain taken down in ~12h, C2 infra tracked). The bundled feed ships its 23 verified IOCs.

Quickstart

# 1. Screen any indicator offline (exit code 1 on match → scriptable)

npx uta-shield check gaganata.ink # → MATCH (C2, campaign taikotalent-2026-10) npx uta-shield check example.com # → NO_MATCH

2. Screen text (email body, web content, tool output)

echo "verify at https://taikotalent.xyz/verify_m" | npx uta-shield screen

3. Run the PhishGuard MCP server (agents get lookup_ioc / check_url / screen_text)

npx uta-shield mcp

4. THE FIREWALL: wrap your MCP server (fail-closed: keys or explicit opt-out)

cat > keys.json <<'EOF' { "recruiter-agent": "generate-a-long-random-secret", "auditor-agent": "another-secret" } EOF npx uta-shield wrap --upstream http://localhost:3001 --port 8787 --keys-file keys.json --admin-token "$(openssl rand -hex 24)"

→ agents now talk to :8787; your server stays at :3001

GET /health · GET /pricing (x402-ready) · GET /audit (admin-only: x-uta-admin header)

5. See it all live

node demo/run-demo.mjs

Verified identity (v0.2.0, ACL strict mode v0.2.2)

Identity is no longer declared-only. Agents present three headers:

x-agent-name:      recruiter-agent

x-agent-timestamp: 1761196800000 (ms; ±5 min window) x-agent-signature: HMAC_SHA256(secret, ${agent}|${ts}|${sha256(rawBody)})

  • Valid signature → ALLOW_VERIFIED (per-agent rate buckets, ACL enforcement, metering).
  • Presented-but-invalid credentials → `REJECT_AUTH` (401). Fail-closed, always.
  • No credentials → REJECT_ANON (401) unless the operator passes --allow-anonymous.
  • Declared names (no signature) are labels only, verified:false — they earn no per-agent rate bucket.
  • Per-tool ACL (--acl-file): by default, agents absent from the map are unrestricted. For allow-list semantics, add --acl-deny-unlisted — unlisted agents get 403 REJECT_FORBIDDEN even with a valid signature. The CLI refuses --acl-deny-unlisted without an ACL file (with no map, deny-unlisted would reject every agent). /health discloses identity.acl_deny_unlisted.

Signing a request (client side, any language):

import { createHmac, createHash } from "node:crypto";

const ts = Date.now(); const bodyHash = createHash("sha256").update(rawBody).digest("hex"); const sig = createHmac("sha256", secret).update(${agent}|${ts}|${bodyHash}).digest("hex");

The 8 layers

#LayerStatus in v0.2.2
1Agent identity: HMAC-SHA256 verified (--keys-file, anti-replay window, fail-closed) + per-tool ACL (--acl-file) + declared/anonymous fallbackSHIPPED
2Reputation score per agenthook (identity verdicts recorded; scoring = roadmap)
3Threat-intel in/out: inbound args blocked; outbound responses under explicit policy (`--outbound-policy block\redact\log, default redact`)SHIPPED
4Rate limiting: two-tier — per-IP bucket (always) + per-agent bucket (verified only); free/paid tiersSHIPPED
5Billing: per-call metering + x402-ready pricing manifest (settlement delegated to operator payment layer)SHIPPED (metering)
6DLP: emails (plain + obfuscated), JWTs, AWS/GCP keys, GitHub PATs, Stripe keys, bearer tokens, PEM blocks, hex secrets, credit cards (Luhn-validated), optional base64 blobsSHIPPED
7Reverse drift alerts (notify clients if schema changes)roadmap
8Audit: JSONL per decision (indicator + campaign for triage, never raw args or secrets)SHIPPED

Honesty policy: this README marks exactly what ships. Layers 2 and 7 are design hooks — no inflated claims.

Proxy hardening (v0.2.1)

ControlDefaultFlag
Startup fail-closedrefuses to run without --keys-file or --allow-anonymous—
`/audit` authenticateddisabled (404) without a token; with one, requires `x-uta-admin` (timing-safe compare) — the trail holds IOCs and agent names, it is operator telemetry, never public--admin-token SECRET / UTA_SHIELD_ADMIN (≥16 chars)
Request body cap1 MiB (declared and streamed — header spoofing doesn't help)--max-body-bytes N
Upstream timeout30 s → 504, fixed message--upstream-timeout-ms N
MCP method allow-listinitialize, notifications/initialized, ping, tools/list, tools/call → everything else 403 METHOD_DENIED`--allow-methods "a,b" \"*"`
Safe errorsupstream failures return fixed messages; detail goes to the audit log, never the client—
Exact outbound verdictthe x-uta-shield response flag is the core verdict (OUT_OK/OUT_MASKED/OUT_REDACTED/OUTBOUND_INTEL) — no recomputation, policy=log reports OUTBOUND_INTEL, never a clean-looking OUT_OK—
Raw-body forwardingexact bytes upstream (signature integrity)—
Per-IP rate ceiling120 req/min, burst 60-- config via API
Header timeoutsheaders 10 s, request timeout = upstream + 5 sautomatic

Known limitations (honest scope)

  • Identity verification is HMAC-shared-secret (operator-issued keys). It authenticates agents to the operator; it is not a federated PKI. /.well-known/agent.json origin verification remains a supplementary hook.
  • policy=log records outbound IOCs but passes them through — it exists for operators who explicitly opt in; redact (default) or block are the safe choices.
  • Obfuscated-email and hex-secret DLP patterns are heuristic; false positives are possible (tune via dlp options).
  • No TLS termination — run behind your existing reverse proxy (Caddy/nginx/certbot).
  • The feed ships ONE documented campaign (23 IOCs). Feed data is CC-BY-4.0; extend it with your own campaigns.

Why zero dependencies?

A security product with 47 transitive dependencies is an attack surface, not a defense. uta-shield is ~1,600 lines of auditable Node.js ≥18 (ESM), including a hand-rolled MCP stdio implementation (newline-delimited JSON-RPC 2.0). npm pack ≈ 108 kB unpacked / 54 kB tarball.

The bundled feed

feed/iocs.json (schema pg/1) ships campaign taikotalent-2026-10: 23 IOCs across 9 types — phishing domain (down via registrar clientHold), live C2 domains behind Cloudflare, sender IP, fake recruiter email, stager URLs, sha256 of payloads, wildcard second-stage path (/var/tmp/.kdm.*), mutex name — with MITRE ATT&CK mapping (T1566.002, T1656, T1204.002, T1059.004, T1027, T1071.001, T1070.004, T1583.001) and per-IOC context. Every verdict carries this evidence so downstream agents can reason about WHY they were blocked.

Feed data CC-BY-4.0 from the public case repo. Update/extend it by adding a campaign object — schema validated by uta-shield verify-feed.

As an MCP server (for agents, not just operators)

Agents get the intel as tools: lookup_ioc(value), check_url(url) (feed + advisory heuristics), screen_text(text), list_campaigns(), feed_info(). Every response is DATA — the server never fetches or executes anything.

Commercial

OfferWhatPrice
Self-host (this package, license for use)all shipped layers, bundled feed — run on your own infra, commercial use allowedfree
S7 — managed feed subscriptionupdated campaign feed + webhook alerts + YARA rules$50/mes (free for first 100 ATC-holding agents)
S6 — Shield assessment + pilotoaudit of your MCP server + deployed piloto (identity+intel+audit) + report$1,000 setup + $100/mes/server

Contact: AliceLabs LLC — contacto@alicelabs.site

Test (reproducible)

node --test test/*.test.mjs   # 85 tests: identity/HMAC, strict-ACL, outbound policies, DLP formats,

authenticated /audit, exact verdict propagation, streamed overflow,

MCP client lifecycle e2e, proxy limits,

two-tier rate limits, hardened proxy e2e (413/502/504/403/429),

feed matching, MCP protocol

npm run verify-feed # feed schema validation npm run demo # end-to-end with signed traffic

Independent execution: .github/workflows/tests.yml runs the full suite on GitHub's own runners (Node 20/22/24) on every push — the results are public and don't depend on this file's claims.

Test results for v0.2.2: see EVIDENCE.md (command, Node version, full runner summary).

Migration v0.1.0 → v0.2.0 (breaking)

  • wrap without --keys-file/UTA_SHIELD_KEYS/--allow-anonymous refuses to start (fail-closed default).
  • Rate limits for unverified callers are keyed by IP; declared agent names no longer create per-agent buckets.
  • gateOut default behavior changed from pass-through to redact. Set outboundPolicy:"log" for v0.1.0 behavior.
  • New verdicts in the audit stream: ALLOW_VERIFIED, REJECT_AUTH, REJECT_FORBIDDEN, OUT_REDACTED, OUT_BLOCKED, UPSTREAM_ERROR.

Migration v0.2.0 → v0.2.1 (breaking)

  • `GET /audit` no longer works without credentials. Without --admin-token (or UTA_SHIELD_ADMIN) it answers 404; with a token it requires the x-uta-admin header. Dashboards that scraped /audit anonymously must present the operator token. The response flag x-uta-shield is now the exact core verdict — policy=log users will see OUTBOUND_INTEL instead of the previously mislabeled flag.

Migration v0.2.1 → v0.2.2

  • Additive. --acl-deny-unlisted enables opt-in strict ACL (allow-list semantics); the CLI refuses to start with that flag but no --acl-file (fail-closed). New audit verdicts: BODY_TOO_LARGE (both 413 paths — v0.2.1 added AUDIT_DISABLED/AUDIT_DENIED). Public CI added — nothing else changes for existing operators.

Licensed for use — see LICENSE (license for use / licencia de uso). © 2026 AliceLabs LLC. Commercial exceptions (white label, OEM, redistribution, managed service): contacto@alicelabs.site

Ask PopNx