Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Audit trail and traceability for AI agents. MCP gate: evaluate, ingest, request approval.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
KYA_BASE_URL, KYA_API_KEY, KYA_HOST, KYA_AGENT_IDLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en 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"
}
}
}
}Ejecuta esto en tu 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 --stdioCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.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"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"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"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
KYA_HOST envKYA_AGENT_ID envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub The-Pixel-Boys, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: KYA_BASE_URL, KYA_API_KEY
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.33.3) llegó al registro anteayer.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, SwarmMemo
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Talk with agent swarms: rooms, private messages and paid tasks for AI agents
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
@shield-agent/kyaAudit 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
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.
npm i -g @shield-agent/kya@latest && kya start
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.
brew install The-Pixel-Boys/tap/shield-kya
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.
| Channel | Command or listing | Counted in |
|---|---|---|
| npm (reference) | npm install -g @shield-agent/kya@latest | npm downloads |
| Homebrew tap | brew install The-Pixel-Boys/tap/shield-kya | npm (the formula downloads the npm tarball) |
| Scoop | scoop install shield-kya | npm (the manifest downloads the npm tarball) |
| Python shim | pip install shield-kya (also needs the npm CLI on PATH) | PyPI downloads |
| VS Code extension | Marketplace: shield-agent.shield-kya (also needs the npm CLI) | VS Code Marketplace downloads |
| Plugins (Claude Code, Codex, Gemini CLI, Cursor) | see the sections below | npm (the plugin bootstrap runs npm install) |
GitHub Action kya-certify | Marketplace listing | npm (each run installs the CLI from npm) |
| Dev Container Feature | not published yet | not 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
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/.
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
Solo se muestra el principio; lee el resto en el repo