Skip to main content
Glama

Mattermost MCP Server

by pvev

Servidor MCP de Mattermost

Servidor MCP para la API de Mattermost, que permite a Claude y otros clientes de MCP interactuar con los espacios de trabajo de Mattermost.

Características

Este servidor MCP proporciona herramientas para interactuar con Mattermost, incluidas:

Monitoreo de temas

El servidor incluye un sistema de monitoreo de temas que puede:

  • Monitorear canales específicos para mensajes que contengan temas de interés

  • Ejecutar según un cronograma configurable (usando la sintaxis cron)

  • Enviar notificaciones cuando se discutan temas relevantes

  • Mencionarte en un canal específico cuando se encuentren temas

Herramientas de canal

  • mattermost_list_channels : enumera los canales públicos en el espacio de trabajo

  • mattermost_get_channel_history : Obtener mensajes recientes de un canal

Herramientas de mensajes

  • mattermost_post_message : Publicar un nuevo mensaje en un canal

  • mattermost_reply_to_thread : Responder a un hilo de mensajes específico

  • mattermost_add_reaction : Agrega una reacción emoji a un mensaje

  • mattermost_get_thread_replies : Obtener todas las respuestas en un hilo

Herramientas de monitoreo

  • mattermost_run_monitoring : activa el proceso de monitoreo de temas inmediatamente

Herramientas de usuario

  • mattermost_get_users : Obtener una lista de usuarios en el espacio de trabajo

  • mattermost_get_user_profile : Obtener información detallada del perfil de un usuario

Related MCP server: Tembo MCP Server

Configuración

  1. Clonar este repositorio:

git clone https://github.com/yourusername/mattermost-mcp.git cd mattermost-mcp
  1. Instalar dependencias:

npm install
  1. Configurar el servidor:

    El repositorio incluye un archivo config.json con valores de marcador de posición. Para la configuración, crea un archivo config.local.json (ignorado por git) con tus credenciales reales:

    { "mattermostUrl": "https://your-mattermost-instance.com/api/v4", "token": "your-personal-access-token", "teamId": "your-team-id", "monitoring": { "enabled": false, "schedule": "*/15 * * * *", "channels": ["town-square", "off-topic"], "topics": ["tv series", "champions league"], "messageLimit": 50 } }

    Este enfoque mantiene sus credenciales reales fuera del repositorio y al mismo tiempo conserva la plantilla para los demás.

  2. Construir el servidor:

npm run build
  1. Ejecutar el servidor:

npm start

Configuración de monitoreo de temas

El sistema de monitorización se puede configurar con las siguientes opciones:

  • enabled (booleano): si la monitorización está habilitada

  • schedule (cadena): expresión cron para determinar cuándo verificar si hay mensajes nuevos (por ejemplo, "*/15 * * * *" cada 15 minutos)

  • channels (cadena[]): Matriz de nombres de canales para monitorear

  • topics (cadena[]): Matriz de temas a buscar en los mensajes

  • messageLimit (número): Número de mensajes recientes a analizar por verificación

  • notificationChannelId (cadena, opcional): ID del canal donde se enviarán las notificaciones. Si no se proporciona, el sistema usará automáticamente un canal de mensajes directos.

  • userId (cadena, opcional): Su ID de usuario para menciones en notificaciones. Si no se proporciona, el sistema detectará automáticamente al usuario actual.

Para habilitar la monitorización, configure enabled como true en su archivo config.local.json .

Ejecución manual del monitoreo

Puede activar el proceso de supervisión manualmente de varias maneras:

  1. Usando los scripts proporcionados :

    • ./run-monitoring-http.sh - Activa la monitorización a través de HTTP sin reiniciar el servidor (recomendado)

    • ./run-monitoring.sh - Inicia una nueva instancia de servidor con la monitorización habilitada

    • ./trigger-monitoring.sh : ejecuta el proceso de monitoreo y sale (útil para trabajos cron)

    • ./view-channel-messages.js <channel-name> [count] - Ver los últimos mensajes en un canal

    • ./analyze-channel.js <channel-name> [count] - Analizar las estadísticas de mensajes en un canal

    • ./get-last-message.js <channel-name> - Obtener el último mensaje de un canal

  2. Usando la interfaz de línea de comandos (CLI) :

    • Mientras el servidor esté en ejecución, simplemente escriba uno de estos comandos en la terminal:

      • run - Ejecutar el proceso de monitoreo

      • monitor - Lo mismo que run

      • check - Lo mismo que run

    • Otros comandos disponibles:

      • help - Mostrar comandos disponibles

      • exit - Apagar el servidor

  3. Usando la herramienta MCP :

    • Utilice la herramienta mattermost_run_monitoring a través de la interfaz MCP

    • Esto comprobará inmediatamente todos los canales configurados para sus temas de interés.

  4. Usando las banderas de la línea de comandos :

    • Inicie el servidor con el indicador --run-monitoring : GXP6

    • Esto ejecutará el proceso de monitoreo inmediatamente después de que se inicie el servidor.

    • Agregue --exit-after-monitoring para salir una vez completado el proceso de monitoreo: GXP7

    • Esto es útil para ejecutar el proceso de monitoreo desde trabajos cron

Detalles de la herramienta

Herramientas de canal

mattermost_list_channels

  • Enumerar canales públicos en el espacio de trabajo

  • Entradas opcionales:

    • limit (número, predeterminado: 100, máximo: 200): Número máximo de canales a devolver

    • page (número, predeterminado: 0): Número de página para paginación

  • Devuelve: Lista de canales con sus IDs e información

mattermost_get_channel_history

  • Obtener mensajes recientes de un canal

  • Entradas requeridas:

    • channel_id (cadena): El ID del canal

  • Entradas opcionales:

    • limit (número, predeterminado: 30): Número de mensajes a recuperar

    • page (número, predeterminado: 0): Número de página para paginación

  • Devuelve: Lista de mensajes con su contenido y metadatos

Herramientas de mensajes

mattermost_post_message

  • Publicar un nuevo mensaje en un canal de Mattermost

  • Entradas requeridas:

    • channel_id (cadena): El ID del canal donde se publicará

    • message (cadena): el texto del mensaje a publicar

  • Devoluciones: Confirmación de publicación del mensaje e ID

mattermost_reply_to_thread

  • Responder a un hilo de mensajes específico

  • Entradas requeridas:

    • channel_id (cadena): El canal que contiene el hilo

    • post_id (cadena): ID del mensaje principal

    • message (cadena): El texto de respuesta

  • Devoluciones: Confirmación de respuesta e ID

mattermost_add_reaction

  • Agregar una reacción emoji a un mensaje

  • Entradas requeridas:

    • channel_id (cadena): El canal que contiene el mensaje

    • post_id (cadena): ID del mensaje al que se debe reaccionar

    • emoji_name (cadena): nombre del emoji sin dos puntos

  • Devoluciones: Confirmación de reacción

mattermost_get_thread_replies

  • Obtener todas las respuestas en un hilo de mensajes

  • Entradas requeridas:

    • channel_id (cadena): El canal que contiene el hilo

    • post_id (cadena): ID del mensaje principal

  • Devuelve: Lista de respuestas con su contenido y metadatos

Herramientas de usuario

mattermost_get_users

  • Obtener la lista de usuarios del espacio de trabajo con información básica del perfil

  • Entradas opcionales:

    • limit (número, predeterminado: 100, máximo: 200): Máximo de usuarios a devolver

    • page (número, predeterminado: 0): Número de página para paginación

  • Devuelve: Lista de usuarios con sus perfiles básicos

mattermost_get_user_profile

  • Obtenga información detallada del perfil de un usuario específico

  • Entradas requeridas:

    • user_id (cadena): el ID del usuario

  • Devoluciones: Información detallada del perfil de usuario

Uso con Claude Desktop

Agregue lo siguiente a su claude_desktop_config.json :

{ "mcpServers": { "mattermost": { "command": "node", "args": [ "/path/to/mattermost-mcp/build/index.js" ] } } }

Solución de problemas

Si encuentra errores de permisos, verifique que:

  1. Su token de acceso personal tiene los permisos necesarios

  2. El token se ha copiado correctamente a su configuración

  3. La URL de Mattermost y el ID del equipo son correctos

Puntos finales HTTP

El servidor expone puntos finales HTTP para control remoto:

  • Monitoreo de ejecución : http://localhost:3456/run-monitoring

    • Activa el proceso de monitoreo inmediatamente

    • Devuelve una respuesta JSON con información de éxito/error

  • Comprobar estado : http://localhost:3456/status

    • Devuelve información sobre el servidor y el estado de monitorización.

    • Útil para controles de salud

Puede utilizar estos puntos finales con curl o cualquier cliente HTTP:

# Trigger monitoring curl http://localhost:3456/run-monitoring # Check status curl http://localhost:3456/status

Scripts de utilidad

monitorización de ejecución http.sh

Este script activa el proceso de monitorización a través del punto final HTTP:

./run-monitoring-http.sh

Esta es la forma recomendada de activar la monitorización manualmente ya que:

  • No reinicia el servidor

  • No interfiere con el monitoreo programado

  • Funciona de forma fiable desde cualquier terminal

ver-canal-mensajes.js

Este script te permite ver los mensajes más recientes en cualquier canal:

# View messages in a channel (channel name is required) node view-channel-messages.js <channel-name> # View a specific number of messages node view-channel-messages.js <channel-name> <message-count> # Example: View the last 10 messages in a channel node view-channel-messages.js general 10

El script mostrará:

  • Información del canal (nombre, propósito, número total de mensajes)

  • Los mensajes más recientes con marcas de tiempo y nombres de usuario

  • Si el canal no existe, se enumerarán todos los canales disponibles.

analizar-canal.js

Este script proporciona estadísticas detalladas sobre los mensajes en un canal:

# Analyze messages in a channel (channel name is required) node analyze-channel.js <channel-name> # Analyze a specific number of messages node analyze-channel.js <channel-name> <message-count> # Example: Analyze the last 50 messages in a channel node analyze-channel.js general 50

El script mostrará:

  • Información del canal y metadatos

  • Recuento total de mensajes (incluidos los mensajes del sistema)

  • Desglose de los mensajes del usuario frente a los mensajes del sistema

  • Recuento de mensajes por usuario

  • Los mensajes más recientes en el canal

obtener-último-mensaje.js

Este script recupera solo el mensaje más reciente de un canal:

# Get the last message from a channel (channel name is required) node get-last-message.js <channel-name> # Example: Get the last message from the general channel node get-last-message.js general

El script mostrará:

  • El ID de usuario y el nombre de usuario del remitente

  • La marca de tiempo del mensaje

  • El contenido completo del mensaje

Licencia

Este servidor MCP tiene licencia MIT.

-
security - not tested
F
license - not found
-
quality - not tested

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/pvev/mattermost-mcp'

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