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:{ "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.
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
Usando la herramienta MCP :
Utilice la herramienta
mattermost_run_monitoring
a través de la interfaz MCPEsto comprobará inmediatamente todos los canales configurados para sus temas de interés.
Usando las banderas de la línea de comandos :
Inicie el servidor con el indicador
--run-monitoring
: GXP6Esto 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: GXP7Esto 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 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
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
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.
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that enables saving and sharing Claude Desktop conversations, allowing users to store chats privately or make them public through a web interface.Last updated -11MIT License
Tembo MCP Serverofficial
AsecurityAlicenseAqualityAn MCP server that enables Claude to interact with Tembo Cloud platform API, allowing users to manage Tembo Cloud resources through natural language.Last updated -107MIT License- AsecurityFlicenseAqualityAn MCP server that allows Claude to interact with Discord by providing tools for sending/reading messages and managing server resources through Discord's API.Last updated -1928
- -securityAlicense-qualityA simple MCP server that allows Claude to access your Telegram account to read and send messages on your behalf.Last updated -6Apache 2.0