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

Shield Kya

by The-Pixel-Boysversion 0.33.3i★ –iRuns on your computer
Registry nameio.github.The-Pixel-Boys/shield-kya

Install

Overview

Description from the maker (original English)

Audit trail and traceability for AI agents. MCP gate: evaluate, ingest, request approval.

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 on your computer
  • Transport: stdio
  • Category: Other
  • You need to fill in: KYA_BASE_URL, KYA_API_KEY

Install

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

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: KYA_BASE_URL, KYA_API_KEY, KYA_HOST, KYA_AGENT_ID

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

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

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "shield-kya": {
      "command": "npx",
      "args": [
        "-y",
        "@shield-agent/kya",
        "serve-mcp",
        "--stdio"
      ],
      "env": {
        "KYA_BASE_URL": "your-value",
        "KYA_API_KEY": "your-value",
        "KYA_HOST": "your-value",
        "KYA_AGENT_ID": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add shield-kya --env KYA_BASE_URL=your-value --env KYA_API_KEY=your-value --env KYA_HOST=your-value --env KYA_AGENT_ID=your-value -- npx -y @shield-agent/kya serve-mcp --stdio

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

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

{
  "mcpServers": {
    "shield-kya": {
      "command": "npx",
      "args": [
        "-y",
        "@shield-agent/kya",
        "serve-mcp",
        "--stdio"
      ],
      "env": {
        "KYA_BASE_URL": "your-value",
        "KYA_API_KEY": "your-value",
        "KYA_HOST": "your-value",
        "KYA_AGENT_ID": "your-value"
      }
    }
  }
}

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": {
    "shield-kya": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@shield-agent/kya",
        "serve-mcp",
        "--stdio"
      ],
      "env": {
        "KYA_BASE_URL": "your-value",
        "KYA_API_KEY": "your-value",
        "KYA_HOST": "your-value",
        "KYA_AGENT_ID": "your-value"
      }
    }
  }
}

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.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

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

Values you fill in

  • KYA_BASE_URL required env
    Control plane origin (e.g. http://127.0.0.1:8090 or hosted URL)
  • KYA_API_KEY secret required env
    API key for the control plane (required when auth is on)
  • KYA_HOST env
    Dual-plane host tag: ide (authoring) or runtime (production)
  • KYA_AGENT_ID env
    Registered agent principal id

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

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

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 The-Pixel-Boys, 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

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 18685 servers in this category
  • Published to the registry more recently than 92% of the other 18685 servers in this category
  • Basic checks equal to or better than 100% of the other 18685 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 Shield Kya safe?

It passed 1 of 1 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?

You need to fill in: KYA_BASE_URL, KYA_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

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

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Bestax

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

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

by formulahendryEarly↓ 66/wk★ 440Updated 14 months ago

Runs on your computer

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

by desktop-commanderGrowing★ 211Updated 4 days ago

Runs in the cloud✓ desktopcommander.app

Bestax

Props, examples, CSS variables and Agent Skills for bestax-bulma React components (Bulma v1)

by allxsmithGrowing↓ 2.9K/wkUpdated 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.

@shield-agent/kya

Audit trail and traceability for AI agents. See what every coding agent did and check each tool call against policy. KYA records every tool call your coding agents make, on a local dashboard, and by default denies a short list of destructive commands, secret reads and exfiltration (list below). Everything else is recorded, not blocked. Local hooks fail open. Real blocking and human approval run on the MCP policy path against a hosted workspace (the Shield Agent cloud service). One command. Free forever under MIT.

npm i -g @shield-agent/kya@latest && kya start

Permission denied (EACCES) on Linux? No sudo and no install needed:

npx @shield-agent/kya@latest start

Requires Node.js 22+ (24 recommended). Restart Cursor / Claude Code / Codex once so MCP loads. Hosted desk: shield-agent.com.

CLI and local MCP gate for Shield’s Know Your Agent path.

An agent that asks Shield first gets Allow, Review, or Deny: you register the agent, wrap the tool (or route it through the MCP gate or the hosted plane), and Review waits for a person. Local hooks only record and block the never-list and the guard pack (see Hook interception). Hosted is where enforcement lives. This package does not scan your network. Agents that never call evaluate stay invisible on purpose.

Walkthrough: how you use it.

npx @shield-agent/kya@latest --help

npx @shield-agent/kya@latest --version

--version, -v, -V and kya version print the installed package version on one line and exit 0. They read the local package only: no network, no banner, no config.

Requires Node.js 22+ (engines.node: >=22); 24 is the recommended line. Node 20 and 21 are unsupported but work: the CLI prints a one-line warning. Node 18 and older are unsupported and some features break there (HTTP serve-mcp, the gateway OTLP receiver). Below 22 the CLI offers to install Node 24 for you (via volta / fnm / nvm / brew), reinstall itself, and finish the command. If you decline, it just prints the warning and continues. kya hook never warns or prompts.

It works with any host that speaks MCP or OpenAPI. Vertical packs are optional. Shield is the only policy decision point (the one place that decides Allow or Deny). This gate never auto-approves an irreversible side effect (a change you cannot undo).

If KYA_API_KEY is empty against an authenticated plane, network commands exit non-zero. eval-tool, wrap, and invoke exit 0 on ALLOW, 4 on REQUIRE_APPROVE, and 1 on DENY or unknown, so a line like eval-tool && write cannot skip the gate. wrap runs in observe mode by default, so it exits 0 on REQUIRE_APPROVE too. Set KYA_HOLD=1 or pass --hold to get the 4.

--offline runs sample evaluate without a paid cloud (useful for DENY and REQUIRE_APPROVE demos). Creating an agent is itself a tool: offline, kya.agent.register comes back REQUIRE_APPROVE. Allow, break-glass, and approve mint modes (the modes that create approvals) live on the control plane.

One liner

npm i -g @shield-agent/kya@latest && kya start

Permission denied (EACCES) on Linux? No sudo and no install needed:

npx @shield-agent/kya@latest start

Run it in your project directory. (From a clone of this repo, ./scripts/install-local.sh replaces the npm install.)

If the install fails with EACCES (the global npm folder belongs to root, common on Linux), do not use sudo. Run without a global install: npx @shield-agent/kya@latest start. Or give npm a folder you own: npm config set prefix ~/.npm-global, add ~/.npm-global/bin to your PATH, then run the install again.

More ways to install (same package; npm stays the reference path):

# Homebrew. Homebrew 7 may ask you to trust a third-party tap: run `brew tap The-Pixel-Boys/tap` first.

The formula does not install the semantic-search runtime. Search stays lexical until you opt in (see Natural-language search).

brew install The-Pixel-Boys/tap/shield-kya

Scoop (not yet verified on Windows)

scoop bucket add The-Pixel-Boys https://github.com/The-Pixel-Boys/scoop-bucket.git scoop install shield-kya

Where each channel is counted. The table has no counts on purpose. Downloads are not installs and not people.

ChannelCommand or listingCounted in
npm (reference)npm install -g @shield-agent/kya@latestnpm downloads
Homebrew tapbrew install The-Pixel-Boys/tap/shield-kyanpm (the formula downloads the npm tarball)
Scoopscoop install shield-kyanpm (the manifest downloads the npm tarball)
Python shimpip install shield-kya (also needs the npm CLI on PATH)PyPI downloads
VS Code extensionMarketplace: shield-agent.shield-kya (also needs the npm CLI)VS Code Marketplace downloads
Plugins (Claude Code, Codex, Gemini CLI, Cursor)see the sections belownpm (the plugin bootstrap runs npm install)
GitHub Action kya-certifyMarketplace listingnpm (each run installs the CLI from npm)
Dev Container Featurenot published yetnot counted

Homebrew, Scoop, plugins and the GitHub Action fetch the npm package, so they are inside the npm count and are not added again.

Adoption, measured. The badge reads a public file that a daily job writes. A count under 50 is not shown. The badge reads "unavailable" when the last measurement failed. The website also hides any figure older than 48 hours.

Repos using kya-action: public repos outside The-Pixel-Boys, counted by GitHub code search. This count is approximate. Private repos are not counted, and the search covers default branches only.

Hosted channel counts (Slack, Teams, webhook, helpdesk) and the date of each count are on https://shield-agent.com.

Claude Code users can also install the plugin; GitHub Copilot CLI users the Copilot CLI plugin (read its first paragraph before installing); Codex CLI users the Codex plugin; Gemini CLI users the Gemini CLI extension. Cline users: npm install -g @shield-agent/kya@latest, then follow llms-install.md. It is written so Cline can follow it; a Cline run from that file alone has not been tested yet.

That inits .kya/, wires local MCP (.mcp.json, mcp.json, .cursor/mcp.json → kya serve-mcp --stdio), also wires user-level configs for every installed host it detects (~/.claude.json, ~/.kimi-code/, ~/.grok/, ~/.cursor/, …), and opens the live activity report. The report runs in the background, so you get your terminal back. kya stop stops it. kya receipt --open reopens it. Cursor, Kiro, Qwen, Amp, Droid, Cline, and Grok pick the server up live with no restart (Kimi: just a new session). Claude Code, Codex, OpenCode, Gemini, Copilot CLI, and Kilo CLI load it on next launch. claude --resume keeps your conversation.

kya start --no-open   # wire only

kya start --force # rewrite MCP blocks

Receipt change previews (clipped + redacted): on by default for writes

KYA_DIFF_PREVIEW=0 to disable

One command per host

kya start covers Claude Code, Cursor, and any host that reads .mcp.json. It also auto-wires the user-level config of every installed host it detects. For the rest, kya connect writes the host's own config dialect directly:

kya connect claude              # ~/.claude.json (merges mcpServers only)

kya connect grok # ~/.grok/config.toml (appends [mcp_servers.shield-kya]) kya connect opencode # ~/.config/opencode/opencode.json kya connect qwen # ~/.qwen/settings.json kya connect amp # ~/.config/amp/settings.json kya connect qwen --project # project scope instead of global kya connect kiro --force # overwrite an existing shield-kya entry

Connect merges. It never rewrites a host config it cannot parse, and it keeps your other servers and keys. Supported hosts: claude, codex, grok, opencode, kilo, kiro, qwen, kimi, mastracode, amp, copilot, cursor. Each wires serve-mcp --stdio with KYA_OFFLINE=1 so the gate starts keyless (no API key). Set KYA_API_KEY in the host env when you point at an authenticated plane.

Hosts without a connect target still work: kya wrap --offline -- puts the same evaluate gate in front of any CLI. Per-host recipes with verify steps and troubleshooting live in docs/hosts/.

Hook interception

kya start also wires a PreToolUse hook into every installed hook-capable host it detects: Claude Code (~/.claude/settings.json, merge-only), Grok (~/.grok/hooks/shield-kya.json, kya-managed file), and Kimi Code (~/.kimi-code/config.toml, [[hooks]] append). Every tool call the agent makes then passes through kya hook first: it is evaluated locally (offline, sub-second, no network) and written to the global record (trail). (If you opted in to anonymous usage stats, the hook also starts a detached helper at most once a day; see Anonymous usage stats.)

Decision mapping: a local never-list or guard pack DENY blocks the tool call (exit 2 plus hookSpecificOutput deny JSON with permissionDecision: "deny"). ALLOW and REQUIRE_APPROVE are written to the record as advisory and the call proceeds. Manual wiring can pass --strict on the hook command to also block REQUIRE_APPROVE.

The never-list also blocks three groups added on 2026-10-30, pending owner review: agent-driven persistence (writes to ~/.ssh/authorized_keys, cron, LaunchAgents

Only the beginning is shown; read the rest in the repo

Ask PopNx