mcp-mattermost
v1.2.1
Published
KR: Mattermost 사용자, 팀, 채널, 게시글 관리와 조회를 MCP 도구로 제공하는 서버. EN: MCP server for Mattermost user, team, channel, and post management over stdio and Streamable HTTP.
Maintainers
Readme
Mattermost MCP Server
KR: Mattermost REST API를 MCP(Model Context Protocol) 도구로 제공하는 서버입니다. 사용자, 팀, 채널, 게시글에 대한 목록 조회, 단건 조회, 생성, 수정, 삭제, 멤버 관리 작업을 MCP 클라이언트에서 실행할 수 있습니다.
EN: This server exposes Mattermost REST APIs as MCP (Model Context Protocol) tools. It lets MCP clients perform list, get, create, update, delete, and membership operations for users, teams, channels, and posts.
KR: Claude Desktop, Cursor, 기타 MCP 호환 클라이언트에서 Mattermost 운영 작업을 자연어 기반 워크플로우로 연결할 수 있도록 설계되었습니다.
EN: It is designed for Claude Desktop, Cursor, and other MCP-compatible clients so Mattermost administration can be connected to natural-language workflows.
1) Encoding / 인코딩
- KR: 이 문서는 UTF-8 기준으로 작성되었습니다.
- EN: This document is written in UTF-8.
2) Why This Package? / 패키지 목적
- KR: Mattermost 관리 작업을 표준화된 MCP 도구 호출로 연결합니다.
- EN: It standardizes Mattermost administrative operations as MCP tool calls.
- KR: 사용자, 팀, 채널, 게시글 작업을 에이전트 워크플로우로 자동화할 수 있습니다.
- EN: It enables agent-driven automation for users, teams, channels, and posts.
- KR:
stdio와 Streamable HTTP 전송 방식을 모두 지원합니다. - EN: It supports both
stdioand Streamable HTTP transports.
3) Environment Variables / 환경 변수
MATTERMOST_URL=https://your-mattermost.example.com
MATTERMOST_TOKEN=your-personal-access-token
PORT=3000
TRANSPORT=stdio- KR:
MATTERMOST_URL은/api/v4가 없어도 자동 보정됩니다. - EN:
MATTERMOST_URLis automatically normalized even if/api/v4is omitted. - KR:
MATTERMOST_TOKEN은 Mattermost Personal Access Token 값을 사용합니다. - EN:
MATTERMOST_TOKENshould be a Mattermost Personal Access Token.
4) Run / 실행
npm install
npm run build
npm start- KR: Streamable HTTP 모드
- EN: Streamable HTTP mode
npm run start:http5) MCP Server Configuration / MCP 서버 설정
npx Configuration / npx 설정
{
"mcpServers": {
"mattermost": {
"command": "npx",
"args": ["-y", "mcp-mattermost"],
"env": {
"MATTERMOST_URL": "https://your-mattermost.example.com",
"MATTERMOST_TOKEN": "YOUR_TOKEN",
"TRANSPORT": "stdio"
}
}
}
}Streamable HTTP Configuration / Streamable HTTP 설정
{
"mcpServers": {
"mattermost": {
"type": "streamable-http",
"url": "http://<server-ip>:3000/mcp"
}
}
}- KR: 기존 SSE 엔드포인트 대신
/mcp단일 엔드포인트를 사용합니다. - EN: It uses a single
/mcpendpoint instead of the legacy SSE endpoints.
6) Tool Naming Convention / 툴 명명 규칙
- KR: 목록 조회 툴은 모두
mattermost_list_*형식을 사용합니다. - EN: All list-style tools use the
mattermost_list_*naming convention. - KR: 단건 조회 툴은
mattermost_get_*형식을 사용합니다. - EN: Single-resource lookup tools use the
mattermost_get_*naming convention. - KR: 생성/수정/삭제/멤버 작업은 동사형 이름을 유지합니다.
- EN: Create, update, delete, and membership tools keep verb-based names.
7) Tool Categories / 도구 분류
A. User Tools / 사용자 도구
mattermost_list_usersKR: 사용자 목록 조회 (page,per_page,in_team,in_channel)
EN: List users with pagination and optional team/channel filters.mattermost_get_userKR: 사용자 단건 조회 (user_id또는username)
EN: Get one user byuser_idorusername.mattermost_create_userKR: 사용자 생성
EN: Create a user.mattermost_update_userKR: 사용자 정보 수정
EN: Update user profile fields.mattermost_deactivate_userKR: 사용자 비활성화
EN: Deactivate a user.
B. Team Tools / 팀 도구
mattermost_list_teamsKR: 팀 목록 조회
EN: List teams.mattermost_get_teamKR: 팀 단건 조회 (team_id또는name)
EN: Get one team by ID or name.mattermost_create_teamKR: 팀 생성
EN: Create a team.mattermost_update_teamKR: 팀 정보 수정
EN: Update team metadata.mattermost_delete_teamKR: 팀 삭제(soft delete)
EN: Soft-delete a team.mattermost_add_user_to_teamKR: 팀에 사용자 추가
EN: Add a user to a team.mattermost_remove_user_from_teamKR: 팀에서 사용자 제거
EN: Remove a user from a team.
C. Channel Tools / 채널 도구
mattermost_list_channelsKR: 특정 팀의 채널 목록 조회
EN: List channels in a team.mattermost_get_channelKR: 채널 단건 조회 (channel_id또는team_id + name)
EN: Get a channel by ID or by team/name.mattermost_create_channelKR: 채널 생성
EN: Create a channel.mattermost_update_channelKR: 채널 정보 수정
EN: Update channel metadata.mattermost_delete_channelKR: 채널 삭제 또는 아카이브
EN: Delete or archive a channel.mattermost_add_user_to_channelKR: 채널에 사용자 추가
EN: Add a user to a channel.mattermost_remove_user_from_channelKR: 채널에서 사용자 제거
EN: Remove a user from a channel.
D. Post Tools / 게시글 도구
mattermost_list_postsKR: 채널 게시글 목록 조회 (page,per_page,since_relative)
EN: List posts from a channel using pagination or relative-time filtering.mattermost_get_threadKR: 스레드 단건 조회
EN: Get a thread by root post ID.mattermost_create_postKR: 게시글 또는 답글 생성
EN: Create a post or thread reply.mattermost_update_postKR: 게시글 수정
EN: Update a post.mattermost_delete_postKR: 게시글 삭제
EN: Delete a post.
8) Validation Rules / 검증 규칙
- KR:
page,per_page같은 페이징 값은 정수여야 합니다. - EN: Pagination fields such as
pageandper_pagemust be integers. - KR: 문자열 필수 인자는 런타임 검증을 통과해야 합니다.
- EN: Required string arguments are validated at runtime.
- KR:
since_relative는10m,2h,1d형식만 허용합니다. - EN:
since_relativeonly accepts formats such as10m,2h, and1d.
9) Security / 보안
- KR: 현재
npm audit기준 취약점은0건입니다. - EN: The package currently reports
0vulnerabilities innpm audit. - KR: Dockerfile에서는 빌드 중 강제
npm audit fix --force를 수행하지 않도록 정리했습니다. - EN: The Dockerfile avoids forced
npm audit fix --forceduring image builds.
10) Development / 개발
npm install
npm run build
npm run smoke�ű� ���: Mattermost Message Analyzer
�� ������Ʈ�� ���� �߰������� Mattermost�� ������ �м��ϰ� �ð�ȭ�ϴ� ��ɰ� SSE(Server-Sent Events)�� �����մϴ�. (ä�� ��ȸ ����� ���� list_channels ������� �����˴ϴ�)
SSE Ʈ������Ʈ ����
n8n, Claude, Copilot �� �پ��� ��Ƽ �÷��� ������ ���� SSE(/sse, /message) ��� ����� �Ϻ��ϰ� �����մϴ�.
�ű� Tool: analyze_channel_messages
Ư�� ä���� ������ ������ �ð� ����(minute, hour, day)�� �м��մϴ�.
���������� ������
ode-canvas\ ��� ������ ���� ���� �� ��Ʈ(Line Chart)�� �̹���(Base64)�� ��� �������Ͽ� Ŭ���̾�Ʈ���� ��ȯ�մϴ�.
- �Է� �Ķ����:
- \channelId\ (�ʼ�): �м��� ä�� ID
- \interval\ (�ʼ�): minute, hour, day �� �ϳ�
- \sinceDays\ (����): ��ĥ ������ �м����� ���� (�⺻�� 1)
