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 trabajomattermost_get_channel_history
: Obtener mensajes recientes de un canal
Herramientas de mensajes
mattermost_post_message
: Publicar un nuevo mensaje en un canalmattermost_reply_to_thread
: Responder a un hilo de mensajes específicomattermost_add_reaction
: Agrega una reacción emoji a un mensajemattermost_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 trabajomattermost_get_user_profile
: Obtener información detallada del perfil de un usuario
Configuración
- Clonar este repositorio:
- Instalar dependencias:
- Configurar el servidor:El repositorio incluye un archivo
config.json
con valores de marcador de posición. Para la configuración, crea un archivoconfig.local.json
(ignorado por git) con tus credenciales reales:Este enfoque mantiene sus credenciales reales fuera del repositorio y al mismo tiempo conserva la plantilla para los demás.Copy - Construir el servidor:
- Ejecutar el servidor:
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á habilitadaschedule
(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 monitoreartopics
(cadena[]): Matriz de temas a buscar en los mensajesmessageLimit
(número): Número de mensajes recientes a analizar por verificaciónnotificationChannelId
(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:
- 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
- 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 monitoreomonitor
- Lo mismo querun
check
- Lo mismo querun
- Otros comandos disponibles:
help
- Mostrar comandos disponiblesexit
- Apagar el servidor
- Mientras el servidor esté en ejecución, simplemente escriba uno de estos comandos en la terminal:
- 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.
- Utilice la herramienta
- 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
- Inicie el servidor con el indicador
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 devolverpage
(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 recuperarpage
(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 hilopost_id
(cadena): ID del mensaje principalmessage
(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 mensajepost_id
(cadena): ID del mensaje al que se debe reaccionaremoji_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 hilopost_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 devolverpage
(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
:
Solución de problemas
Si encuentra errores de permisos, verifique que:
- Su token de acceso personal tiene los permisos necesarios
- El token se ha copiado correctamente a su configuración
- 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:
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:
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:
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:
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:
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.
This server cannot be installed
Un servidor MCP que permite a Claude y otros clientes MCP interactuar con espacios de trabajo de Mattermost, proporcionando gestión de canales, capacidades de mensajería y funcionalidad de monitoreo de temas.