Kaoru-Agent (Dregxmoon/Kaoru-Agent) is an MCP server listed on the M8ven Trust Index. It scores 71 out of 100, grade C. It declares 56 tools. No publisher has claimed this listing.

C
Warning
71/100

Kaoru-Agent

Autonomous coding agent (AgentLoop) with Live2D desktop companion — MCP/tool integration, permission-gated execution, real process sandboxing (bwrap), local-first (SQLite + ONNX), semantic memory & proactivity engine.

Warning. Serious findings were identified. Review the full report before connecting. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

Dregxmoon

Source: github_repo_search

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Secret credentials may flow to a network call
1 flow detected: MCP_OAUTH_CALLBACK_PORT. We can’t prove the destination matches the brand the credential belongs to.
🚨
Code appears obfuscated
1 file are unreadable to a human reviewer. Cannot audit what they do.
⚠️
Known vulnerabilities in dependencies: 7 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
🔐
You'll be asked for 3 credentials: GH_TOKEN, GITHUB_TOKEN, OPENCLAW_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes56 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

exec

Ejecuta cualquier comando en la terminal del sistema. Se usa para git, npm, pip, shell, etc.

read

Lee un archivo. Para archivos grandes usa start_line y max_lines y continúa desde next_line hasta eof=true.

write

Escribe o sobrescribe el contenido de un archivo. Si el directorio no existe, se crea.

edit

Modifica partes específicas de un archivo reemplazando texto exacto. No crea archivos nuevos.

apply_patch

Aplica un parche diff/unified a un archivo. Usa el formato unificado de diff.

code_execution

Ejecuta código Python y devuelve stdout, stderr y código de salida

browser

Controla una sesión web: navegar, localizar por atributos visibles, hacer clic, escribir, enviar teclas, esperar, leer y verificar URL. mode=managed muestra el navegador controlable de Kaoru; background lo mantiene oculto. IMPORTANTE: solo usá URLs que aparecieron en la conversación.

web_search

Busca información en internet usando Google, devuelve título + URL + snippet de los resultados

list_apps

Lista aplicaciones instaladas y visibles. Úsala cuando no conozcas el nombre exacto antes de launch_app. Requiere aprobación por privacidad.

launch_app

Abre una aplicación, juego o launcher instalado en el escritorio visible. Requiere aprobación. No admite comandos ni argumentos arbitrarios.

open_website

Abre un sitio en el navegador visible del usuario. Usa un alias conocido (drive, youtube, whatsapp, gmail) o una URL https completa. Requiere aprobación.

play_media

Para órdenes compuestas como "abre YouTube, busca un video de guitarra y reprodúcelo". Usa por defecto el navegador visible administrado por Kaoru, pulsa reproducir y verifica que el video esté reproduciéndose. Requiere aprobación.

desktop_snapshot

Observa la interfaz accesible del escritorio en Linux o Windows y devuelve referencias efímeras. Debe ejecutarse antes de cualquier acción UI.

desktop_screenshot

Captura una pantalla o ventana visible en Linux o Windows como imagen JPEG para interfaces sin accesibilidad.

pointer_click

Fallback visual para canvas o juegos: hace clic en coordenadas de una desktop_screenshot vigente. Debe observarse otra vez inmediatamente.

window_list

Lista ventanas visibles mediante AT-SPI2 en Linux o UI Automation en Windows.

ui_get_state

Consulta sin mutar el estado de una referencia de la observación más reciente.

ui_wait

Espera hasta que una postcondición sea observable y devuelve evidencia nueva.

desktop_capabilities

Informa qué familias de control de escritorio admite la plataforma, sin ejecutar acciones.

process_list

Lista una cantidad acotada de procesos por PID y nombre. No devuelve argumentos ni variables de entorno.

process_stop

Solicita terminar un proceso por PID con SIGTERM. Requiere aprobación específica y no admite PID 1 ni el proceso de Kaoru.

camera_status

Consulta el estado de acceso a cámara del sistema. No enciende ni captura video.

open_camera

Abre una aplicación de cámara conocida. No captura ni transmite video y requiere aprobación.

websearch

Búsqueda web ligera vía DuckDuckGo (sin navegador, sin API key). Úsala para consultas rápidas de referencia; para interactuar con una página usa browser o webfetch

webfetch

Obtiene el contenido de una URL como texto plano (sin navegador). Úsala para leer documentación, noticias o APIs de texto; para JS pesado usa browser. IMPORTANTE: solo usá URLs que aparecieron en la conversación — nunca inventes URLs.

grep

Busca un patrón (regex) dentro del contenido de los archivos del proyecto y devuelve las coincidencias con ruta, línea y texto

glob

Lista archivos y directorios que coinciden con un patrón glob dentro del proyecto

subagent

Lanza un subagente autónomo que resuelve una sub-tarea concreta (investigar, buscar, redactar) de forma independiente y devuelve un resumen conciso. Útil para tareas largas que pueden paralelizarse o delegarse.

subagent_batch

Ejecuta en paralelo entre 2 y 4 subagentes de solo lectura para investigar partes independientes y devuelve todos sus reportes.

get_diagnostics

Obtiene diagnósticos (errores, advertencias) de un archivo a través del servidor LSP de TypeScript

go_to_definition

Navega a la definición de un símbolo en una posición específica del código

find_references

Encuentra todas las referencias a un símbolo en el proyecto a través del servidor LSP

get_symbols

Obtiene la lista de símbolos (funciones, clases, variables) de un archivo a través del servidor LSP

workspace_symbols

Busca símbolos (funciones, clases, variables) por nombre en TODO el proyecto vía LSP — útil para localizar dónde vive un símbolo sin saber el archivo

hover

Obtiene información de tipo y documentación de un símbolo (como el hover del editor) a través del LSP

rename

Renombra un símbolo en todo el proyecto de forma segura vía LSP (actualiza todas las referencias)

code_actions

Consulta acciones rápidas disponibles en una posición (quickfix de errores, refactor, imports faltantes) vía LSP

git_status

Estado del repo git: rama actual, ahead/behind, cambios staged/unstaged, untracked y conflictos. Solo lectura.

git_diff

Diff de cambios no confirmados; con staged=true muestra lo que ya fue agregado. Solo lectura.

git_log

Historial de commits recientes (hash, autor, fecha, subject). Solo lectura.

git_branch

Lista las ramas locales con su upstream y desfase ahead/behind. Solo lectura.

git_commit

Hace git add -A y commit con el mensaje dado. MUTADOR: requiere aprobación del usuario.

git_add

Stagea archivos en el index de git. Sin paths hace git add -A (todo). MUTADOR: requiere aprobación del usuario.

git_stash

Lista stashes (action=list, lectura) o ejecuta push/pop/apply/drop (muta, requiere aprobación).

git_merge

Fusiona una rama en la actual; detecta conflictos y los devuelve estructurados. MUTADOR: requiere aprobación.

git_rebase

Reaplica los commits de la rama actual sobre otra; detecta conflictos estructurados. MUTADOR: requiere aprobación.

git_push

Sube los commits de la rama actual al remoto (por defecto origin). Usa el token de GitHub conectado (github_token) si está. MUTADOR: requiere aprobación.

github_repo_info

Información de un repo de GitHub (descripción, default branch, estrellas, license). Solo lectura.

github_issue_list

Lista issues de un repo filtrados por estado. Solo lectura.

github_issue_create

Crea un issue en un repo. MUTADOR: requiere aprobación del usuario.

github_issue_comment

Comenta en un issue. MUTADOR: requiere aprobación del usuario.

github_issue_close

Cierra un issue. MUTADOR: requiere aprobación del usuario.

github_pr_list

Lista pull requests de un repo filtrados por estado. Solo lectura.

github_pr_create

Crea una pull request. MUTADOR: requiere aprobación del usuario.

github_pr_review

Envía una review a una PR (APPROVE | REQUEST_CHANGES | COMMENT). MUTADOR: requiere aprobación del usuario.

github_actions_status

Estado de las GitHub Actions de un repo (runs recientes, status, conclusion). Solo lectura.

// known CVEs in dependencies7 high23 low

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

highelectron@28.3.3GHSA-532v-xpq5-8h95

Electron: Use-after-free in offscreen child window paint callback

highelectron@28.3.3GHSA-8337-3p73-46f4

Electron: Use-after-free in WebContents fullscreen, pointer-lock, and keyboard-lock permission callbacks

highelectron@28.3.3GHSA-9f4c-93c8-jc8g

Electron: Sandboxed iframe can bypass the allow-popups restriction via the OpenURL navigation path

highelectron@28.3.3GHSA-9wfr-w7mm-pc7f

Electron: Renderer command-line switch injection via undocumented commandLineSwitches webPreference

highelectron@28.3.3GHSA-h7rp-cf8h-j98x

Electron: Context isolation bypass via Function.prototype.bind hijack

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configASISTENTE_CHECKPOINTS
configASISTENTE_CONFIG
configASISTENTE_DATA_DIR
configASISTENTE_PYTHON_BIN
configASISTENTE_WORKSPACESeleccionar: botón del workspace en la barra superior del chat, o variable de entorno . Queda persistido en config.json como activeWorkspace.
configATLASSIAN_CLIENT_ID
configDISCORD_CLIENT_ID
🔐 secretGH_TOKEN
configGITHUB_CLIENT_ID
🔐 secretGITHUB_TOKEN
configGITLAB_CLIENT_ID
configGOOGLE_CLIENT_ID
configLINEAR_CLIENT_ID
configMCP_OAUTH_CALLBACK_PORT
configMICROSOFT_CLIENT_ID
configNOTION_CLIENT_ID
configOPENCLAW_ALLOWED_PATH
🔐 secretOPENCLAW_API_KEY
configOPENCLAW_AUDIT_PATH
configOPENCLAW_PORT
configSLACK_CLIENT_ID
configAT_SPI_BUS_ADDRESS
// quality suggestions

Dependencies

15 runtime dependencies (8 dev), 1 flagged: playwright

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

56/56 tools missing one or more hints — exec (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); read (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); write (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +53 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Shell command execution

7 calls in production code run through a shell (fix-electron.js:104, fix-electron.js:117, fix-electron.js:119)

Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.

Readable source code

1 file are minified or bundled, which is usually build output rather than concealment

Ship unminified, readable source.

Secrets stay with their owner

1 secret sent to a request target we could not resolve (MCP_OAUTH_CALLBACK_PORT → dynamic) — often a configured endpoint, not necessarily third-party

Audit where credentials are sent. A NOTION_TOKEN should only reach api.notion.com — never a third-party host.

No arbitrary install scripts

Has postinstall/preinstall script — runs arbitrary code on npm install

Remove postinstall/preinstall hooks unless they’re essential.

Dev dependencies

7 critical/high in dev-only deps (does not ship to users)

Upgrade dev dependencies when convenient.

Dependency freshness

2/15 production deps stale: pixi-live2d-display@2023-12-07 (2.8y), @xenova/transformers@2024-05-29 (2.3y)

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 7 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/dregxmoon/kaoru-agent?variant=verified)](https://m8ven.ai/mcp/dregxmoon/kaoru-agent)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 14818d682405f1c5c34a51da35a31a4e6d6fa458
code hash: 013cdb87ce27de30a5cc9de02dee016a91a516985699190d5c7a02be597679cf
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client