Skip to main content
Glama
mazxxy

vencord-mcp

by mazxxy

vencord-mcp

Un servidor MCP que permite a un agente de codificación leer un cliente de Discord en ejecución de la misma manera que lo haría un autor de plugins: stores, módulos webpack, parches, props de React y el propio tráfico de gateway.

Se comunica con cualquier Chromium iniciado con --remote-debugging-port, por lo que funciona en Discord con Vencord o Equicord inyectados, y la mayor parte funciona en cualquier aplicación Electron con un bundle webpack minificado.

Por qué existe esto

Dos mitades de esto ya existían por separado, y ninguna era útil por sí sola.

Existen varios servidores MCP genéricos para Electron y Chrome DevTools. Toman capturas de pantalla, leen la consola y evalúan JavaScript, pero no saben nada sobre webpack, Flux stores o parches de Vencord, por lo que un agente que los utiliza gasta su presupuesto redescubriendo el mismo boilerplate en cada sesión.

Por otro lado, Vencord Companion sabe exactamente lo correcto: si una búsqueda webpack es única, si la coincidencia de un parche compila. Pero es una extensión de VSCode, diseñada para que un humano la lea en un editor.

Nada conectaba ambas cosas. Esto lo hace.

Related MCP server: instagit

Lo que cambia

El bucle normal para escribir un plugin es: abrir devtools, buscar en un bundle minificado, escribir una regex y esperar, compilar, reiniciar Discord, descubrir. Cada error cuesta un reinicio.

Con estas herramientas, el bucle se cierra en segundos y, lo que es más importante, el agente deja de adivinar. test_patch responde si este parche realmente se ejecutaría antes de construir nada. capture_websocket muestra lo que el servidor realmente envió en lugar de lo que la interfaz implicaba. react_props recupera el nombre de un fallo cuya interfaz de usuario solo muestra un número.

Instalar

npm install

Regístralo con tu cliente MCP. La mayoría acepta un bloque de configuración como este:

{
  "mcpServers": {
    "vencord": {
      "command": "node",
      "args": ["/absolute/path/to/vencord-mcp/src/index.js"]
    }
  }
}

Los clientes que incluyen una CLI suelen tener un comando único para lo mismo, del estilo de mcp add vencord -- node /absolute/path/to/vencord-mcp/src/index.js.

Luego inicia Discord con el depurador abierto:

Discord.exe --remote-debugging-port=9223

El puerto solo escucha en localhost, pero es un depurador: cualquier cosa que pueda alcanzarlo puede leer tu sesión. Cierra y vuelve a abrir Discord normalmente cuando hayas terminado.

Herramientas

Solo lectura a menos que se indique lo contrario.

Herramienta

Qué responde

targets

Si el cliente es accesible y a qué página debo conectarme

plugins

Qué plugins están habilitados, iniciados, parcheados y cuáles tienen un lado nativo

patch_status

Qué parches nunca encontraron su módulo y no están haciendo nada

test_patch

Si la búsqueda es única, si la coincidencia acierta, cuántas veces, qué produce el reemplazo

list_stores

Qué estado existe en absoluto

describe_store

Qué sabe este store y qué devuelven sus getters ahora mismo

read_store

Llamar a un método con argumentos

find_module

Encontrar un módulo por props exportadas o por el código que contiene

search_modules

Buscar en cada fuente de módulo, con los ids de módulo y el código circundante

react_props

Subir desde un nodo DOM y leer las props que contienen un error o estado

experiment

Qué asignó el servidor a esta cuenta para un experimento

capture_websocket

Grabar tramas de gateway y voz, decodificadas, latidos omitidos

capture_console

Grabar salida de consola, opcionalmente recargando primero para capturar el inicio

read_settings

Configuración del plugin tal como la ve el cliente en ejecución

write_setting

Escribe. Cambiar una configuración a través del propio proxy de Vencord

dispatch

Escribe. Enviar una acción Flux, para comportamientos sin método exportado

reload

Escribe. Recargar el renderizador, igual que Ctrl+R

evaluate

Vía de escape para cualquier cosa anterior no cubierta

Cada herramienta acepta port (por defecto 9223) y un urlHint opcional para cuando hay más de un destino de página abierto.

Las tres que merecen la instalación

test_patch ejecuta la misma comprobación que Vencord ejecuta al inicio, contra la compilación que realmente se está ejecutando. Una búsqueda que no coincide con ningún módulo significa que el parche nunca se ejecuta silenciosamente, y una búsqueda que coincide con varios significa que Vencord los parchea todos. Ambos son invisibles hasta que el plugin se comporta mal de una manera que parece otra cosa.

test_patch(find: '"2026-08-video-guard"', match: 'variations:\\{.{0,120}?\\}\\}', replace: 'variations:{}')
-> "find is unique and match hits exactly once"

patch_status responde a la pregunta que test_patch no puede: si realmente se ejecutó. Vencord elimina un parche de su lista pendiente una vez que su módulo se carga, por lo que cualquier cosa que aún esté listada nunca coincidió. Ese es el fallo que más tiempo cuesta, porque el plugin se carga, no reporta ningún error y no hace nada silenciosamente. Los parches declarados como all permanecen listados para siempre por diseño y se reportan por separado para que no parezcan rotos.

capture_websocket decodifica los opcodes de voz de Discord por nombre: IDENTIFY, READY, SESSION_DESCRIPTION, VIDEO, MEDIA_SINK_WANTS. Leerlos es la diferencia entre "el video no apareció" y "el servidor ofreció ssrc 267, el cliente lo solicitó a máxima calidad y no llegaron paquetes", que son errores diferentes con soluciones diferentes.

Una advertencia: el dominio Network solo registra los sockets que vio crearse. Una conexión que ya estaba abierta cuando comenzó la captura se reporta como (socket opened before capture) — las tramas aún se decodifican, porque su contenido identifica el protocolo, pero la URL es desconocida. Haz que el cliente se reconecte durante la ventana para obtenerla.

Notas

Discord incluye una CSP estricta que bloquea eval. Cada evaluación aquí establece allowUnsafeEvalBlockedByCSP, que es la forma documentada para que un depurador se ejecute de todos modos; sin ella, cada llamada falla con un EvalError poco útil.

Cada llamada de herramienta abre su propia sesión de depurador y se desconecta. Mantener una abierta entre llamadas solo crearía estado que podría desincronizarse.

Tests

node test/smoke.js

Habla el protocolo real con el servidor real a través de stdio: inicializar, listar las herramientas y luego ejercitar la ruta en vivo contra un Discord en el puerto 9223 si hay uno en ejecución. Un servidor que se inicia no es lo mismo que un servidor que responde.

Licencia

GPL-3.0-or-later, en concordancia con Vencord.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Vencord plugin that provides MCP server capabilities for inspecting Discord's internal state, executing JavaScript code, accessing Flux stores, discovering webpack modules, and inspecting DOM elements within Discord's context.
    1,270
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that gives coding agents instant insight into any Git repository — no guessing, no hallucination.
    1
    46
    18
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides native Discord tools for Claude Code, enabling bidirectional communication with remote agents or humans via the Discord REST API. It allows users to send messages, read channel history, and manage reactions directly from their local environment.
    6
    22
    3
    MIT

View all related MCP servers

Related MCP Connectors

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mazxxy/vencord-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server