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. - 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
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 -26TypeScriptMIT License
- -securityFlicense-qualityAn MCP server that enables Claude Desktop to interact with Sanity.io content, providing tools to create, edit, list documents and get schema templates.Last updated -TypeScript
- AsecurityAlicenseAqualityAn MCP server that enables Claude to interact with Twitter, allowing for posting tweets and searching Twitter content.Last updated -2108195TypeScriptMIT License
- -securityFlicense-qualityAn MCP server that connects to the Resource Hub, allowing centralized configuration and management of tools and resources across different MCP environments.Last updated -2JavaScript