Configuración de Discourse MCP en OpenCode CLI

Esta guía proporciona instrucciones probadas para instalar el Discourse MCP en OpenCode CLI. Si estás utilizando un cliente MCP diferente, también he escrito guías para Codex CLI.

¡USA TU LLM! Los LLM son muy buenos siguiendo instrucciones y pueden hacer la configuración por ti. Indica al LLM esta guía mediante la URL y pídele que realice la configuración. También puedes pedirle que te explique cualquier paso que no entiendas.

Prerrequisitos:

  • Node.js instalado (se recomienda 24 LTS)
  • OpenCode CLI instalado
  • Acceso al foro de Discourse deseado como usuario ordinario (¡no es necesario ser administrador!)

Es importante darse cuenta de que hay tres componentes separados aquí:

  1. El foro remoto de Discourse, que es la fuente de datos y el destino de las acciones.

  1. El servidor Discourse MCP, que es una herramienta de código abierto que se ejecuta localmente y se conecta a Discourse, proporcionando una API para que OpenCode interactúe con Discourse. Se instala como un paquete NPX y se inicia bajo demanda por OpenCode CLI.

  1. OpenCode CLI, que es el cliente MCP que se conecta al servidor MCP y proporciona la interfaz para interactuar con Discourse a través de la API de MCP.


1. Generar la clave API de Usuario

Esto te autenticará en Discourse y es la forma en que obtendrás tu clave API. npx descargará y ejecutará el código, no es necesario instalar nada en el sentido tradicional.

En una terminal, ejecuta:

npx @discourse/mcp@latest generate-user-api-key \
  --site =DISCOURSE-FORUM= \
  --save-to =PROFILE-PATH/=NAME=.json

Ejemplo:

npx @discourse/mcp@latest generate-user-api-key \
  --site https://meta.discourse.org \
  --save-to ~/.config/opencode/discourse-profiles/meta.json

Acepta el consentimiento del navegador y copia los datos cifrados, lo que demuestra tu capacidad para iniciar sesión y genera una clave API que se guarda en =PROFILE-PATH= para su uso por el servidor MCP.

La clave API tendrá el mismo nivel de acceso al foro que tú tienes como usuario.

2. Añadir el servidor MCP a OpenCode CLI

Edita tu archivo de configuración de OpenCode en ~/.config/opencode/opencode.jsonc y añade la siguiente entrada a la sección mcp:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    // ... otros servidores MCP ...
    "discourse-=NAME=-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@discourse/mcp@latest",
        "--profile",
        "=PROFILE-PATH/=+NAME=.json",
      ],
      "enabled": true,
      "environment": {},
    },
  },
}

Ejemplo:

"discourse-meta-mcp": {
  "type": "local",
  "command": [
    "npx",
    "-y",
    "@discourse/mcp@latest",
    "--profile",
    "/home/marcus/.config/opencode/discourse-profiles/meta.json"
  ],
  "enabled": true,
  "environment": {},
},

El servidor MCP se iniciará bajo demanda con npx por OpenCode CLI cuando inicies OpenCode. Está configurado para usar el perfil en =PROFILE-PATH= y por defecto es de solo lectura.

3. Reiniciar OpenCode CLI

Reinicia completamente OpenCode para que recargue la configuración y se conecte al servidor MCP.

Si se inicia sin errores, el servidor Discourse MCP está funcionando. Puedes pedirle a OpenCode que consulte tu foro de Discourse para obtener información, especialmente información a la que tienes acceso pero que no es pública; esto verificará que se está conectando como tú.

Gestión de Múltiples Instancias de Discourse

Puedes añadir múltiples foros de Discourse repitiendo el proceso con diferentes archivos de perfil y nombres de servidor MCP:

"discourse-meta-mcp": {
  "type": "local",
  "command": [
    "npx", "-y", "@discourse/mcp@latest",
    "--profile", "/home/username/.config/opencode/discourse-profiles/meta.json"
  ],
  "enabled": true,
  "environment": {},
},
"discourse-mycommunity-mcp": {
  "type": "local",
  "command": [
    "npx", "-y", "@discourse/mcp@latest",
    "--profile", "/home/username/.config/opencode/discourse-profiles/mycommunity.json"
  ],
  "enabled": true,
  "environment": {},
},

Archivos de Configuración

Hay dos archivos principales:

  1. =OPENCODE-CONFIG= - Archivo de configuración de OpenCode CLI en ~/.config/opencode/opencode.jsonc, que incluye la configuración del servidor MCP.

  2. =PROFILE-PATH= - El perfil para el servidor Discourse MCP, que incluye la clave API y otra configuración para conectarse a Discourse.

Configuración de OpenCode

La configuración para conectarse al servidor MCP se encuentra en =OPENCODE-CONFIG= (típicamente ~/.config/opencode/opencode.jsonc):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "discourse-=NAME=-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@discourse/mcp@latest",
        "--profile",
        "=PROFILE-PATH/=+NAME=.json",
      ],
      "enabled": true,
      "environment": {},
    },
  },
}

Documentación de configuración de OpenCode MCP: Documentación de OpenCode

Configuración de Discourse MCP

La configuración para el servidor Discourse MCP en sí se encuentra en =PROFILE-PATH/=+NAME=.json=:

{
  "auth_pairs": [
    {
      "site": "=DISCOURSE-FORUM=",
      "user_api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "user_api_client_id": "discourse-mcp"
    }
  ]
}

Documentación de configuración de Discourse MCP: GitHub - discourse/discourse-mcp

Prácticas Recomendadas de Seguridad

Se recomienda:

  1. Almacenar los archivos de perfil en un directorio dedicado (ej. ~/.config/opencode/discourse-profiles/)
  2. Añadir este directorio a .gitignore si estás siguiendo tus archivos de configuración en control de versiones
  3. Usar nombres descriptivos para tus archivos de perfil (ej. meta.json, mycommunity.json)
  4. Mantener las claves API privadas; tienen el mismo nivel de acceso que tu cuenta de usuario

Solución de problemas

  • Problemas de conexión: Verifica que la ruta del perfil en opencode.jsonc sea correcta y que el archivo exista
  • Errores de autorización: Comprueba que la clave API no haya sido revocada en tus preferencias de usuario de Discourse
  • Errores de permisos: Asegúrate de tener los permisos necesarios en la instancia de Discourse
  • Se requiere reinicio: Los cambios en opencode.jsonc requieren reiniciar OpenCode CLI
2 Me gusta