Mattermost MCP 서버
Claude와 다른 MCP 클라이언트가 Mattermost 작업 공간과 상호 작용할 수 있도록 하는 Mattermost API용 MCP 서버입니다.
특징
이 MCP 서버는 다음을 포함하여 Mattermost와 상호 작용하기 위한 도구를 제공합니다.
주제 모니터링
서버에는 다음을 수행할 수 있는 주제 모니터링 시스템이 포함되어 있습니다.
- 관심 있는 주제가 포함된 메시지에 대해 지정된 채널을 모니터링합니다.
- 구성 가능한 일정에 따라 실행(cron 구문 사용)
- 관련 주제가 논의되면 알림을 보냅니다.
- 주제가 발견되면 지정된 채널에서 언급합니다.
채널 도구
mattermost_list_channels
: 작업 공간의 공개 채널을 나열합니다.mattermost_get_channel_history
: 채널의 최근 메시지 가져오기
메시지 도구
mattermost_post_message
: 채널에 새 메시지를 게시합니다.mattermost_reply_to_thread
: 특정 메시지 스레드에 답장mattermost_add_reaction
: 메시지에 이모티콘 반응을 추가합니다.mattermost_get_thread_replies
: 스레드의 모든 답변을 가져옵니다.
모니터링 도구
mattermost_run_monitoring
: 주제 모니터링 프로세스를 즉시 트리거합니다.
사용자 도구
mattermost_get_users
: 작업 공간에 있는 사용자 목록을 가져옵니다.mattermost_get_user_profile
: 사용자의 자세한 프로필 정보를 가져옵니다.
설정
- 이 저장소를 복제하세요:
지엑스피1
- 종속성 설치:
- 서버를 구성하세요:저장소에는 플레이스홀더 값이 포함된
config.json
파일이 있습니다. 실제 설정을 위해 실제 자격 증명을 사용하여config.local.json
파일(gitignored)을 생성하세요.이 접근 방식을 사용하면 다른 사람을 위한 템플릿을 유지하면서 실제 자격 증명을 저장소에 보관할 수 있습니다.Copy - 서버를 빌드하세요:
- 서버를 실행합니다:
주제 모니터링 구성
모니터링 시스템은 다음 옵션으로 구성할 수 있습니다.
enabled
(부울): 모니터링이 활성화되었는지 여부schedule
(문자열): 새 메시지를 확인할 시기를 나타내는 Cron 표현식(예: 15분마다 "*/15 * * * *")channels
(문자열[]): 모니터링할 채널 이름 배열topics
(string[]): 메시지에서 찾을 주제 배열messageLimit
(숫자): 검사당 분석할 최근 메시지 수notificationChannelId
(문자열, 선택 사항): 알림이 전송될 채널 ID입니다. 지정하지 않으면 시스템에서 자동으로 DM 채널을 사용합니다.userId
(문자열, 선택 사항): 알림에서 언급되는 사용자 ID입니다. 값을 지정하지 않으면 시스템에서 현재 사용자를 자동으로 감지합니다.
모니터링을 활성화하려면 config.local.json
파일에서 enabled
true
로 설정합니다.
수동으로 모니터링 실행
여러 가지 방법으로 모니터링 프로세스를 수동으로 트리거할 수 있습니다.
- 제공된 스크립트 사용 :
./run-monitoring-http.sh
- 서버를 다시 시작하지 않고 HTTP를 통해 모니터링을 트리거합니다(권장)./run-monitoring.sh
- 모니터링이 활성화된 새 서버 인스턴스를 시작합니다../trigger-monitoring.sh
- 모니터링 프로세스를 실행하고 종료합니다(cron 작업에 유용함)../view-channel-messages.js <channel-name> [count]
- 채널의 마지막 메시지를 봅니다../analyze-channel.js <channel-name> [count]
- 채널의 메시지 통계 분석./get-last-message.js <channel-name>
- 채널의 마지막 메시지를 가져옵니다.
- 명령줄 인터페이스(CLI) 사용 :
- 서버가 실행되는 동안 터미널에 다음 명령 중 하나를 입력하기만 하면 됩니다.
run
- 모니터링 프로세스 실행monitor
-run
과 동일check
-run
과 동일
- 사용 가능한 다른 명령:
help
- 사용 가능한 명령 표시exit
- 서버를 종료합니다
- 서버가 실행되는 동안 터미널에 다음 명령 중 하나를 입력하기만 하면 됩니다.
- MCP 도구 사용하기 :
- MCP 인터페이스를 통해
mattermost_run_monitoring
도구를 사용하세요 - 이렇게 하면 관심 있는 주제에 대해 구성된 모든 채널이 즉시 확인됩니다.
- MCP 인터페이스를 통해
- 명령줄 플래그 사용 :
--run-monitoring
플래그로 서버를 시작합니다: GXP6- 이렇게 하면 서버가 시작되자마자 모니터링 프로세스가 실행됩니다.
- 모니터링 프로세스가 완료된 후 종료하려면
--exit-after-monitoring
추가하세요: GXP7 - 이는 cron 작업에서 모니터링 프로세스를 실행하는 데 유용합니다.
도구 세부 정보
채널 도구
mattermost_list_channels
- 작업 공간에 공개 채널 나열
- 선택 입력 사항:
limit
(숫자, 기본값: 100, 최대: 200): 반환할 최대 채널 수page
(번호, 기본값: 0): 페이지 번호
- 반환: ID와 정보가 포함된 채널 목록
mattermost_get_channel_history
- 채널에서 최근 메시지 가져오기
- 필수 입력 사항:
channel_id
(문자열): 채널의 ID
- 선택 입력 사항:
limit
(숫자, 기본값: 30): 검색할 메시지 수page
(번호, 기본값: 0): 페이지 번호
- 반환: 콘텐츠 및 메타데이터가 포함된 메시지 목록
메시지 도구
mattermost_post_message
- Mattermost 채널에 새 메시지를 게시하세요
- 필수 입력 사항:
channel_id
(문자열): 게시할 채널의 IDmessage
(문자열): 게시할 메시지 텍스트
- 반환 : 메시지 게시 확인 및 ID
mattermost_reply_to_thread
- 특정 메시지 스레드에 답장하기
- 필수 입력 사항:
channel_id
(문자열): 스레드가 포함된 채널post_id
(문자열): 부모 메시지의 IDmessage
(문자열): 답장 텍스트
- 반환 : 답변 확인 및 ID
mattermost_add_reaction
- 메시지에 이모티콘 반응 추가
- 필수 입력 사항:
channel_id
(문자열): 메시지가 포함된 채널post_id
(문자열): 반응할 메시지 IDemoji_name
(문자열): 콜론이 없는 이모티콘 이름
- 반환: 반응 확인
mattermost_get_thread_replies
- 메시지 스레드의 모든 답변 가져오기
- 필수 입력 사항:
channel_id
(문자열): 스레드가 포함된 채널post_id
(문자열): 부모 메시지의 ID
- 반환: 콘텐츠 및 메타데이터가 포함된 답변 목록
사용자 도구
mattermost_get_users
- 기본 프로필 정보가 포함된 작업 공간 사용자 목록 가져오기
- 선택 입력 사항:
limit
(숫자, 기본값: 100, 최대: 200): 반환할 수 있는 최대 사용자 수page
(번호, 기본값: 0): 페이지 번호
- 반환: 기본 프로필이 있는 사용자 목록
mattermost_get_user_profile
- 특정 사용자에 대한 자세한 프로필 정보를 얻으세요
- 필수 입력 사항:
user_id
(문자열): 사용자의 ID
- 반환: 자세한 사용자 프로필 정보
Claude Desktop과 함께 사용
claude_desktop_config.json
에 다음을 추가하세요.
문제 해결
권한 오류가 발생하면 다음 사항을 확인하세요.
- 귀하의 개인 액세스 토큰에는 필요한 권한이 있습니다.
- 토큰이 구성에 올바르게 복사되었습니다.
- Mattermost URL과 팀 ID가 정확합니다.
HTTP 엔드포인트
서버는 원격 제어를 위해 HTTP 엔드포인트를 노출합니다.
- 실행 모니터링 :
http://localhost:3456/run-monitoring
- 모니터링 프로세스를 즉시 시작합니다.
- 성공/오류 정보가 포함된 JSON 응답을 반환합니다.
- 상태 확인 :
http://localhost:3456/status
- 서버 및 모니터링 상태에 대한 정보를 반환합니다.
- 건강 검진에 유용
다음 엔드포인트는 curl이나 모든 HTTP 클라이언트와 함께 사용할 수 있습니다.
유틸리티 스크립트
실행 모니터링-http.sh
이 스크립트는 HTTP 엔드포인트를 통해 모니터링 프로세스를 트리거합니다.
모니터링을 수동으로 트리거하는 데 권장되는 방법은 다음과 같습니다.
- 서버를 다시 시작하지 않습니다
- 예정된 모니터링을 방해하지 않습니다.
- 모든 터미널에서 안정적으로 작동합니다.
view-channel-messages.js
이 스크립트를 사용하면 모든 채널의 최신 메시지를 볼 수 있습니다.
스크립트는 다음을 표시합니다.
- 채널 정보(이름, 목적, 총 메시지 수)
- 타임스탬프와 사용자 이름이 포함된 최신 메시지
- 채널이 존재하지 않으면 사용 가능한 모든 채널이 나열됩니다.
분석-채널.js
이 스크립트는 채널의 메시지에 대한 자세한 통계를 제공합니다.
스크립트는 다음을 표시합니다.
- 채널 정보 및 메타데이터
- 총 메시지 수(시스템 메시지 포함)
- 사용자 메시지와 시스템 메시지의 분석
- 사용자별 메시지 수
- 채널의 가장 최근 메시지
get-last-message.js
이 스크립트는 채널에서 가장 최근의 메시지만 검색합니다.
스크립트는 다음을 표시합니다.
- 발신자의 사용자 ID 및 사용자 이름
- 메시지의 타임스탬프
- 전체 메시지 내용
특허
이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여되었습니다.
This server cannot be installed
Claude와 다른 MCP 클라이언트가 Mattermost 작업 공간과 상호 작용할 수 있도록 하는 MCP 서버로, 채널 관리, 메시징 기능, 주제 모니터링 기능을 제공합니다.