Mattermost Agents 관리자 가이드

Mattermost v11.11번역일: 2026-09-02원본 보기

이 가이드는 Mattermost Agents 플러그인의 설치, 구성, 관리 방법을 다룹니다. Mattermost 인스턴스에 AI 기능을 설정하고 조직의 필요에 맞게 구성하는 방법을 설명합니다.

설치

사전 요구 사항

Agents 플러그인을 설치하기 전에 다음 요구 사항을 충족하는지 확인하세요.

  • Mattermost Server v10.0 이상
  • PostgreSQL 데이터베이스
  • 시맨틱 검색을 사용하려면 pgvector 확장이 설치된 PostgreSQL
  • 사용할 LLM 공급자에 대한 네트워크 접근
  • 클라우드 LLM 서비스를 사용하는 경우 API 키

설치 절차

사전 설치된 플러그인 사용

Mattermost v10.3부터 Agents는 자동으로 설치되어 대규모 언어 모델(LLM)만 구성하면 바로 사용할 수 있는 상태로 제공됩니다. LLM이 하나도 구성되지 않은 경우 Agents 패널이 사용자에게 LLM을 구성하라는 안내를 표시합니다.

최신 버전 설치

최신 기능과 개선 사항을 사용하려면 GitHub 릴리스 페이지에서 최신 플러그인 버전을 내려받아 설치할 수 있습니다.

시스템 콘솔에서 플러그인을 설치하려면 System Console > Plugin Management(시스템 콘솔 > 플러그인 관리)로 이동해 Upload Plugin을 선택하고, 내려받은 플러그인 파일(.tar.gz)을 고른 뒤 Upload를 선택합니다. 업로드가 완료되면 플러그인을 활성화한 다음, 아래 구성 섹션에서 설명하는 대로 플러그인 설정을 구성합니다.

구성

플러그인 설정 열기

System Console > Plugins > Agents(시스템 콘솔 > 플러그인 > 에이전트)로 이동하면 구성 화면이 열립니다.

플러그인 활성화

사전 설치된 버전을 사용하는 경우 Agents는 자동으로 활성화됩니다. 최신 버전을 직접 설치했다면 System Console > Plugins > Agents로 이동해 Enable Plugin을 True로 설정해 활성화한 뒤, 시스템 콘솔에서 구성을 마무리해야 할 수 있습니다.

기본 구성

Enterprise 또는 Enterprise Advanced 라이선스가 있다면 업로드해 추가 기능을 사용할 수 있습니다. 라이선스가 없더라도 Mattermost Enterprise Edition을 실행 중이라면 Entry 라이선스가 자동으로 적용됩니다.

일반 설정에서는 플러그인을 서버 전체에 대해 활성화하거나 비활성화할 수 있고, 문제 해결용 디버그 로깅을 켤 수 있으며(필요할 때만 사용하세요), LLM 상호작용을 추적하는 토큰 사용량 로깅을 활성화하고, API 호출에 사용할 호스트 이름 허용 목록을 구성할 수 있습니다.

서비스 구성

Agents 연동에 사용할 LLM 공급자(Service)를 구성합니다. 서비스는 인증과 모델 기본값을 포함해 LLM 공급자와의 연결을 관리합니다. 공급자나 구성이 다른 여러 서비스를 만들어 여러 에이전트에서 공유할 수 있습니다.

System Console > Plugins > Agents로 이동해 Add a Service를 선택합니다.

설정설명
Name이 서비스 구성의 내부 이름
TypeLLM 공급자(OpenAI, Anthropic, AWS Bedrock, Cohere, Mistral, Azure OpenAI, OpenAI 호환)
API Key공급자의 API 키(요구 사항은 공급자마다 다릅니다)
Default Model이 서비스에서 사용할 기본 모델
Input Token Limit입력에 허용되는 최대 토큰 수
Output Token Limit출력에 허용되는 최대 토큰 수
Streaming Timeout Seconds스트리밍 응답의 타임아웃(초)
Send User IDMattermost 사용자 ID를 LLM 공급자에 전송할지 여부
Use Responses API(OpenAI 및 호환 서비스 전용) 더 풍부한 도구 연동을 위해 OpenAI의 Responses API를 활성화합니다

공급자별 설정

공급자마다 필요한 구성이 다릅니다.

공급자필수 설정선택 설정
OpenAIAPI KeyOrganization ID, API URL(호환 서비스용)
AnthropicAPI Key
AWS BedrockAWS RegionAPI Key(IAM 역할 사용 가능), Access/Secret Keys
CohereAPI Key
MistralAPI Key
Azure OpenAIAPI Key, API URL

AWS Bedrock의 경우 API Key/Secret 필드에 AWS 자격 증명을 입력하거나, Mattermost를 AWS 인프라에서 실행할 때는 IAM 역할을 사용해 인증을 구성할 수 있습니다.

Anthropic Claude 모델 사용 시 중요: AWS Bedrock을 통해 Claude 모델을 사용하려면 먼저 AWS Bedrock Model Catalog에서 최초 사용(First Time Use, FTU) 양식을 한 번 제출하고, Mattermost 서버의 IAM 역할에 Bedrock API 권한을 연결해야 합니다. 자세한 절차는 AWS Bedrock 설정 가이드를 참고하세요.

공급자별 상세 구성은 공급자 가이드를 참고하세요.

에이전트 구성

구성해 둔 서비스를 사용하는 에이전트(봇)를 만듭니다. 여러 에이전트가 같은 서비스 구성을 사용할 수 있습니다. 라이선스가 필요한 기능은 라이선스 요구 사항을 참고하세요.

System Console > Plugins > Agents로 이동해 Add an Agent를 선택합니다.

설정설명
Display NameMattermost에서 사용자에게 표시되는 이름
Agent Username에이전트의 Mattermost 사용자명입니다. 에이전트를 @멘션할 때 이 이름을 사용합니다
Agent Avatar에이전트에 사용할 맞춤 이미지
Service드롭다운에서 구성해 둔 서비스를 선택합니다
Model(선택) 이 에이전트에 한해 서비스의 기본 모델을 재정의합니다
Custom Instructions에이전트의 성격과 역량을 규정하는 맞춤 지시문
Enable Vision에이전트가 이미지를 처리할 수 있도록 Vision을 활성화합니다. 이를 지원하는 모델과 서비스가 필요합니다.
Enable Tools기본적으로 일부 도구 사용이 활성화되어 있어 JIRA 연동 같은 기능을 쓸 수 있습니다. 이 옵션을 끄면 도구 사용을 지원하지 않거나 잘 다루지 못하는 모델도 사용할 수 있습니다. 도구 없이는 동작하지 않는 기능도 있습니다.
Access Control이 에이전트에 접근할 수 있는 팀, 채널, 사용자를 지정합니다

LLM별 에이전트 설정

선택한 서비스와 그 구성에 따라 사용할 수 있는 기능이 달라집니다.

설정설명
Enable Web SearchOpenAI(서비스에서 Responses API를 활성화한 경우)와 Anthropic에서 사용할 수 있습니다. 에이전트가 공급자의 네이티브 웹 검색 도구를 활용해 최신 정보를 바탕으로 응답하도록 합니다.
Reasoning EnabledOpenAI(Responses API 사용 시)와 Anthropic에서 사용할 수 있습니다. 복잡한 작업을 위한 "사고" 또는 추론 기능을 활성화합니다.

Save를 선택해 에이전트를 만듭니다.

맞춤 지시문

맞춤 지시문 필드에 입력한 텍스트는 모든 요청의 프롬프트에 포함됩니다. 에이전트에 추가 맥락이나 지시를 전달할 때 사용하세요.

예를 들어 조직에서 쓰는 약어를 나열해 두면 에이전트가 사내 용어를 이해하고 사용자가 그 뜻을 물어볼 수 있습니다. 특정한 성격을 갖게 하거나 정해진 워크플로를 따르게 하는 등 전문적인 지시를 줄 수도 있습니다. 에이전트마다 지시문을 맞춤 설정하면 조직의 필요에 더 잘 맞는 AI 경험을 만들 수 있습니다.

내장 웹 검색 구성

내장 웹 검색 도구를 사용하면 에이전트가 사용자 질문에 답할 때 인터넷에서 최신 정보를 가져올 수 있습니다. 이 기능은 자체 네이티브 웹 검색 기능을 제공하지 않는 LLM 모델을 사용하는 배포 환경을 위해 설계되었습니다.

내장 웹 검색은 네이티브 웹 검색 기능이 없는 LLM 모델을 위한 것입니다. 사용 중인 모델이 이미 네이티브 웹 검색을 제공한다면(예: Responses API를 사용하는 OpenAI, Anthropic의 네이티브 검색 도구) 공급자의 네이티브 구현을 사용하는 것을 강력히 권장합니다. 네이티브 웹 검색 도구는 일반적으로 다음과 같은 장점이 있습니다.

  • 모델과의 통합도가 높습니다
  • 검색 결과가 더 안정적입니다
  • 성능이 최적화되어 있습니다

지원되는 공급자의 네이티브 웹 검색 구성은 위의 LLM별 에이전트 설정 섹션을 참고하세요.

공급자 비교

Mattermost는 두 가지 웹 검색 공급자를 지원하며 각각 제공하는 기능이 다릅니다.

Brave Search는 AI 기반 검색에 더 나은 경험을 제공합니다.

  • AI 전용 설계: Brave의 Search API는 LLM 연동에 맞춰 설계되고 최적화되어 있습니다
  • 더 나은 콘텐츠 추출: 인용이 포함된, LLM이 바로 쓸 수 있는 형태로 전처리된 요약을 반환합니다
  • 더 적은 도구 호출: 후속 웹 페이지 조회나 스크래핑 없이도 완결된 답변을 제공하는 경우가 많습니다

중요: 이 기능을 사용할 때 관리자는 Brave의 Pro AI 플랜을 구독해야 합니다. Brave의 일반 Search API(AI 등급이 아닌 요금제)를 사용하는 것은 Brave의 서비스 약관 위반이며 계정이 정지될 수 있습니다. Pro AI 플랜은 AI/LLM 활용 사례에 대해 명시적으로 라이선스가 부여된 요금제입니다.

Google Custom Search는 Google의 검색 색인에 접근할 수 있게 해 주지만 몇 가지 중요한 제약이 있습니다.

  • 퍼스트파티 연동이 아님: Mattermost는 Google의 Custom Search API를 사용하는데, 이는 google.com에서 직접 검색할 때와 같은 품질의 결과를 제공하지 않습니다
  • 웹 스크래핑에 의존: 검색 결과를 받은 뒤 Mattermost가 웹 페이지를 스크래핑해 에이전트에 전달할 내용을 추출해야 합니다. 많은 웹사이트가 자동 스크래핑을 차단하거나 봇에는 제한된 내용만 반환합니다
  • 사용량 제한: Google Custom Search에는 엄격한 일일 할당량 제한이 있습니다

이런 제약 때문에 Google Custom Search는 에이전트 질의에 언제나 최적의 결과를 제공하지는 못할 수 있습니다.

구성

내장 웹 검색을 활성화하려면 다음과 같이 하세요.

  1. System Console > Plugins > Agents > Web Search로 이동합니다
  2. Enable Web Search를 True로 설정합니다
  3. Provider 드롭다운에서 사용할 공급자를 선택합니다
  4. 공급자별 설정을 구성합니다
Brave Search 구성
설정설명필수 여부
Brave API KeyBrave Search API 키(Pro AI 플랜)예
Result Limit반환할 최대 결과 수(1~10)아니요(기본값: 5)
API URL필요한 경우 기본 Brave 엔드포인트를 재정의합니다아니요

Brave Search API 키를 발급받으려면 다음과 같이 하세요.

  1. Brave Search API에 접속합니다
  2. 계정을 등록합니다
  3. Pro AI 플랜을 구독합니다(LLM 사용에 필수)
  4. 대시보드에서 API 키를 생성합니다

주의: 반드시 Pro AI 플랜을 구독하세요. 다른 Brave Search 요금제를 AI/LLM 연동에 사용하는 것은 서비스 약관 위반입니다.

Google Custom Search 구성
설정설명필수 여부
Google API KeyGoogle Custom Search API 키예
Search Engine ID맞춤 검색 엔진 식별자(cx 매개변수)예
Result Limit반환할 최대 결과 수(1~10)아니요(기본값: 5)
API URL필요한 경우 기본 Google 엔드포인트를 재정의합니다아니요

Google Custom Search 자격 증명을 발급받으려면 다음과 같이 하세요.

  1. Google Cloud Console에서 프로젝트를 만듭니다
  2. Custom Search API를 활성화합니다
  3. API 자격 증명(API 키)을 만듭니다
  4. Google Programmable Search Engine에서 맞춤 검색 엔진을 설정합니다
  5. 검색 엔진 ID(cx 매개변수)를 기록해 둡니다
공통 설정
설정설명
Domain Denylist모든 검색 결과에서 제외할 도메인을 쉼표로 구분해 나열합니다(예: example.com, spam-site.org). 해당 도메인의 결과는 에이전트에 전달되기 전에 걸러집니다.

사용법과 제한 사항

  • API 비용을 관리하고 LLM이 무한히 반복하는 것을 막기 위해 에이전트는 대화당 웹 검색 3회로 제한됩니다
  • 에이전트는 같은 대화 안에서 동일한 검색어를 반복할 수 없습니다
  • 검색 결과에는 출처 웹사이트로 연결되는 클릭 가능한 인용이 포함됩니다
  • 도메인 차단 목록은 모든 공급자에 적용되며 웹 페이지 조회에 대해서만 적용됩니다.

임베딩 검색 구성

시맨틱 검색 기능을 사용하려면 PostgreSQL 데이터베이스에서 pgvector 확장을 활성화한 다음, 임베딩 공급자 설정(공급자(OpenAI 등), 임베딩에 사용할 모델, 선택한 임베딩 모델에 맞는 차원 수)을 구성해야 합니다. 임베딩 검색에는 라이선스가 필요하며(라이선스 요구 사항 참고), 실험적 기능으로 제공됩니다. 데이터셋이 큰 경우 성능이 달라질 수 있습니다.

필요에 따라 청킹 옵션을 구성하세요.

설정권장 값설명
Chunking StrategySentences, Paragraphs, Fixed Size콘텐츠 유형에 맞게 선택합니다
Chunk Size512~1024 토큰전략에 따라 달라집니다
Chunk Overlap20~50 토큰맥락 연속성을 높입니다
Minimum Size Ratio기본값청크 크기 검증에 사용할 최소 비율

구성을 마친 뒤 최초 색인 작업을 실행하세요.

권한 구성

에이전트마다 팀 단위, 채널 단위, 사용자 단위 권한을 설정해 누가 AI 기능에 접근할 수 있는지 구성합니다.

관리 작업

플러그인 메트릭

Agents의 메트릭은 기존 Mattermost 서버 메트릭 엔드포인트 아래의 /plugins/mattermost-ai/metrics 하위 경로로 노출됩니다. 이 엔드포인트는 성능 모니터링용 수신 주소(Listen address) 구성 설정으로 제어되며 기본 포트는 8067입니다. 제공되는 메트릭은 다음과 같습니다.

  • agents_system_plugin_start_timestamp_seconds: 플러그인이 시작된 시각.
  • agents_system_plugin_info: 플러그인 버전과 설치 ID.
  • agents_api_time_seconds: API 실행에 걸린 시간.
  • agents_http_requests_total: 전체 API 요청 수.
  • agents_http_errors_total: 전체 HTTP API 오류 수.
  • agents_llm_requests_total: 업스트림 LLM에 보낸 전체 요청 수.

토큰 사용량 추적

Agents 플러그인은 과금과 사용량 분석을 위해 모든 LLM 상호작용의 토큰 사용량을 추적할 수 있습니다. 활성화하면 토큰 사용량 데이터가 logs/agents/token_usage.log 전용 파일에 JSON 형식으로 기록되며, 요청별로 다음과 같은 상세 정보를 담습니다.

  • User ID: 요청을 시작한 Mattermost 사용자
  • Team ID: 요청의 팀 컨텍스트
  • Bot Username: 상호작용에 사용된 에이전트
  • Input Tokens: LLM 요청에 사용된 토큰 수
  • Output Tokens: LLM 응답의 토큰 수
  • Total Tokens: 입력과 출력을 합한 토큰 수

토큰 사용량 추적을 활성화하려면 System Console > Plugins > Agents로 이동해 Enable Token Usage Logging을 True로 설정합니다. 활성화하면 로그 파일이 100MB에 도달할 때 자동으로 순환되며, 순환된 로그 파일은 디스크 공간 절약을 위해 압축됩니다. 토큰 사용량 로그는 관리자가 LLM 사용 패턴을 파악할 수 있게 해 주며 비용 추적과 리소스 계획에 활용할 수 있습니다. 주요 LLM 공급자(OpenAI, Anthropic)는 모두 이 로깅 시스템이 수집하는 사용량 데이터를 보고합니다.

분석을 위해 토큰 사용량 로그 변환하기

토큰 사용량 로그 파일은 한 줄에 JSON 객체 하나가 들어 있는 형식이라 Microsoft Excel 같은 도구에서 바로 사용할 수 없습니다. 다음 명령으로 로그를 다른 형식으로 변환하세요. 두 명령 모두 JSON을 손쉽게 파싱하기 위해 jq가 설치되어 있어야 합니다.

Excel 호환 JSON으로 변환:

jq -s '.' logs/agents/token_usage.log > token_usage.json

CSV 형식으로 변환:

echo "timestamp,user_id,team_id,bot_username,input_tokens,output_tokens,total_tokens" > token_usage.csv
jq -r '[.timestamp, .user_id, .team_id, .bot_username, .input_tokens, .output_tokens, .total_tokens] | @csv' logs/agents/token_usage.log >> token_usage.csv

게시물 색인

게시물 색인은 최초 설정 시와 임베딩 공급자를 변경할 때 자동으로 수행됩니다.

  1. System Console > Plugins > Agents > Embedding Search로 이동합니다
  2. 재색인 컨트롤로 다음 작업을 수행합니다.
    • 최초 설정 중 색인 진행 상황을 확인합니다.
    • 임베딩 공급자를 변경할 때 재색인을 실행합니다.
    • 색인 상태를 확인합니다.

백업과 복원

플러그인 구성은 Mattermost 데이터베이스에 저장됩니다. 백업하려면 다음과 같이 하세요.

  1. 정기 Mattermost 백업에 플러그인 구성이 포함되는지 확인합니다
  2. 규모가 큰 배포에서는 색인된 벡터 데이터를 별도로 백업하는 것을 고려하세요

구성 형식

이 플러그인은 서비스 기반 아키텍처를 사용하며, 구성은 Mattermost 데이터베이스의 PluginSettings.Plugins["mattermost-ai"]에 저장됩니다.

  • Services는 LLM 공급자 구성(API 키, 모델, 엔드포인트)을 정의합니다
  • Bots는 서비스를 ID로 참조하며 에이전트의 성격과 접근 제어를 정의합니다

이렇게 분리되어 있어 여러 봇이 동일한 LLM 서비스 구성을 공유할 수 있습니다.

구성 구조:

{
  "config": {
    "services": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "name": "OpenAI Service",
        "type": "openai",
        "apiKey": "sk-...",
        "defaultModel": "gpt-4o"
      }
    ],
    "bots": [
      {
        "id": "bot-001",
        "name": "ai",
        "displayName": "AI Assistant",
        "serviceID": "550e8400-e29b-41d4-a716-446655440000",
        "customInstructions": "You are a helpful assistant."
      }
    ]
  }
}

지원되는 서비스 유형: openai, anthropic, azure, openaicompatible, asage, cohere, mistral

레거시 형식: 봇 안에 서비스 객체가 포함된 이전 구성은 플러그인 시작 시 현재 형식으로 자동 마이그레이션됩니다.

문제 해결

로깅

로깅을 강화하면 문제를 진단하는 데 도움이 됩니다.

  1. 구조화 로깅 필드 plugin_ai가 mattermost-ai로 설정된 항목을 서버 로그에서 확인합니다.
  2. 플러그인 구성에서 LLM Trace를 활성화하면 모든 LLM 상호작용의 상세한 요청/응답 정보를 볼 수 있습니다.
  3. 플러그인 구성에서 디버그 로깅을 활성화하면 추가 진단 정보를 얻을 수 있습니다.
  4. 운영 환경에서는 문제 해결이 끝난 뒤 로그 양을 줄이기 위해 디버그 로깅과 LLM Trace를 비활성화하세요.

연동

현재 연동은 사용자와 에이전트 간의 다이렉트 메시지로 제한됩니다. 공개 채널, 비공개 채널, 그룹 메시지 채널에서는 연동이 동작하지 않습니다.

내장 도구 연동

  • 기능: Mattermost 콘텐츠 전반에 대한 시맨틱 검색.
  • 요구 사항: 임베딩 검색이 구성되고 활성화되어 있어야 합니다.
  • 보안: 사용자 권한을 준수합니다. 사용자는 접근 권한이 있는 콘텐츠만 볼 수 있습니다.

User Lookup

  • 기능: 사용자명으로 Mattermost 사용자 정보를 조회합니다
  • 제공 데이터: 사용자명, 전체 이름, 이메일, 닉네임, 직책, 로캘, 시간대, 최근 활동, 상태
  • 권한: VIEW_MEMBERS 권한이 필요합니다

Jira 연동

  • 기능: 공개 Jira 인스턴스에서 이슈를 가져옵니다
  • 요구 사항: 별도 구성이 필요하지 않습니다
  • 사용법: Jira 인스턴스 URL과 이슈 키를 제공합니다
  • 조회 데이터: 이슈 요약, 설명, 상태, 담당자, 코멘트, 메타데이터

GitHub 연동

  • 기능: GitHub 이슈와 풀 리퀘스트를 가져옵니다
  • 요구 사항: Mattermost GitHub 플러그인이 설치되어 실행 중이어야 합니다
  • 인증: 사용자가 Mattermost GitHub 플러그인을 통해 GitHub에 로그인되어 있어야 합니다
  • 접근 범위: 공개·비공개 저장소 모두에서 동작합니다(사용자 권한에 따름)
  • 조회 데이터: 이슈/PR 제목, 번호, 상태, 제출자, 본문 내용

보안 참고: 모든 도구 연동은 보안 경계를 유지하기 위해 다이렉트 메시지로 제한되며, 실행 전에 사용자의 명시적 승인이 필요합니다.

Model Context Protocol(MCP) 연동

Model Context Protocol(MCP) 연동을 사용하면 에이전트가 표준화된 MCP 서버를 통해 외부 도구와 서비스에 연결할 수 있습니다. 이를 통해 맞춤 연동으로 AI 기능을 확장할 수 있습니다.

구성

  1. System Console > Plugins > Agents > MCP Servers로 이동합니다.
  2. Enable MCP를 True로 설정해 MCP 연동을 활성화합니다.
  3. 연결 설정을 구성합니다.
    • Idle Timeout: 유휴 클라이언트 연결의 타임아웃을 분 단위로 설정합니다(기본값: 30분)

MCP 서버 추가

  1. Add MCP Server를 선택해 새 서버를 구성합니다.
  2. 서버 설정을 구성합니다.
    • Server URL: MCP 서버의 엔드포인트 URL입니다.
    • Custom Headers: MCP 서버에서 요구하는 추가 헤더입니다(선택).
    • Server Name: 서버를 설명하는 이름입니다(입력하지 않으면 자동 생성됩니다).
  3. Save를 선택해 서버를 추가합니다.

관리

  • 연결 관리: 시스템이 MCP 서버에 대한 사용자 연결을 자동으로 관리합니다
  • 유휴 정리: 유휴 클라이언트 연결은 설정된 타임아웃이 지나면 자동으로 종료됩니다
  • 사용자별 연결: 보안과 격리를 위해 사용자마다 MCP 서버에 대한 자신의 연결을 갖습니다

Atlassian MCP 서버 권한 부여

사용자가 Atlassian MCP 서버에 연결할 때, 조직 관리자가 Mattermost 도메인을 승인해야 한다는 권한 오류가 발생할 수 있습니다. 이 설정은 Atlassian 관리 콘솔에서 완료해야 합니다.

Mattermost 도메인을 승인하려면 다음과 같이 하세요.

  1. admin.atlassian.com으로 이동해 조직을 선택합니다.
  2. Apps > AI settings > Rovo MCP server로 이동합니다.
  3. Add domain을 선택하고 Mattermost 도메인을 경로 와일드카드와 함께 입력합니다: https://your-instance.mattermost.cloud/**
  4. Save를 선택합니다.

중요: /** 경로 와일드카드는 반드시 필요합니다. 도메인 패턴 예시는 다음과 같습니다.

  • 단일 인스턴스: https://your-company.mattermost.cloud/**
  • 모든 서브도메인: https://*.mattermost.cloud/**
  • 맞춤 도메인: https://chat.yourcompany.com/**

도메인을 추가한 뒤 변경 사항이 반영되도록 1~2분 기다린 다음 사용자가 다시 연결을 시도하도록 하세요.

문제 해결:

  • Organization Admin 권한이 있는지 확인하세요(Site Admin으로는 부족합니다)
  • 해당 Atlassian 사이트를 소유한 조직을 구성하고 있는지 확인하세요
  • 도메인에 https://와 /** 와일드카드가 포함되어 있는지 확인하세요
  • 도메인에 오타가 없는지 확인하세요

자세한 내용은 MCP 서버 설정에 관한 Atlassian 문서를 참고하세요.

참고

현재 이 플러그인은 봇 응답에서 Markdown 링크(예: JIRA 티켓 링크)를 렌더링하지 않습니다. URL은 클릭 가능한 Markdown 링크가 아니라 일반 텍스트로 표시됩니다. 이는 버그가 아니라 링크를 통한 데이터 유출 가능성을 막기 위한 의도된 보안 동작입니다. 이 제약이 남아 있는 동안에도 향후 링크 처리 개선을 검토하고 있습니다.

Mattermost MCP Server

Mattermost MCP Server를 사용하면 AI 에이전트와 외부 애플리케이션이 Model Context Protocol(MCP)을 통해 Mattermost 인스턴스와 상호작용할 수 있습니다. MCP는 AI 어시스턴트가 메시지를 읽고, 콘텐츠를 검색하고, 게시물을 만들고, 채널과 팀을 프로그래밍 방식으로 관리할 수 있게 해 주는 표준 프로토콜입니다.

개요

Mattermost MCP Server는 다음을 제공합니다.

  • Mattermost 직접 연동: AI 에이전트가 표준화된 API를 통해 Mattermost 데이터와 기능에 접근할 수 있습니다
  • 보안과 권한: 모든 작업이 Mattermost 권한 체계를 준수합니다. 사용자는 권한이 있는 대상에만 접근합니다
  • 유연한 배포: Mattermost AI 에이전트용 임베디드 서버로, 또는 외부 MCP 클라이언트용 HTTP 서버로 사용할 수 있습니다
  • 풍부한 도구 모음: 콘텐츠를 읽고, 검색하고, 생성하는 다양한 도구를 제공합니다

활용 사례

Mattermost MCP Server로 다음과 같은 일을 할 수 있습니다.

  • 채널 요약 자동화: AI 에이전트에게 여러 채널의 활동을 요약해 달라고 요청해, 자리를 비운 동안의 논의를 따라잡습니다.
  • 여러 채널에 공지 공유: 에이전트가 여러 채널에 동시에 상태 업데이트를 게시하도록 해 분산된 팀의 정보를 맞춥니다.
  • 지능적인 검색: MCP를 지원하는 어떤 클라이언트에서든 Mattermost 워크스페이스 전체를 검색해 관련 논의, 결정, 정보를 찾습니다.
  • 팀 협업 조율: 채널이나 팀의 멤버 목록을 받아 누구에게 연락하거나 멘션할지 빠르게 파악합니다.
  • 워크플로 자동화: 외부 MCP 클라이언트를 사용해 스탠드업 업데이트 게시, 프로젝트 채널 생성, 중요한 이벤트 알림 같은 반복 작업을 자동화합니다.
  • 맥락을 이해한 지원 활용: AI 에이전트가 대화 스레드를 읽고 맥락을 파악한 뒤 응답하거나 조치를 취합니다.

제공 도구

MCP 서버는 AI 에이전트와 외부 클라이언트에 다음 도구를 제공합니다.

  • read_post: 특정 게시물과 그 스레드를 읽습니다
  • read_channel: 채널의 최근 게시물을 가져옵니다
  • search_posts: 팀/채널 필터를 선택적으로 적용해 Mattermost 콘텐츠를 검색합니다
  • create_post: 채널에 새 게시물이나 답글을 만듭니다
  • create_channel: 새 공개 또는 비공개 채널을 만듭니다
  • get_channel_info: ID 또는 이름으로 채널 정보를 가져옵니다
  • get_team_info: ID 또는 이름으로 팀 정보를 가져옵니다
  • search_users: 사용자명, 이메일, 이름으로 사용자를 찾습니다
  • get_channel_members: 채널의 모든 멤버를 나열합니다
  • get_team_members: 팀의 모든 멤버를 나열합니다

배포

MCP 서버 구성 화면

AI 에이전트용

Mattermost AI 에이전트가 Mattermost 기능에 직접 접근할 수 있도록 임베디드 MCP 서버를 설정하려면 다음과 같이 하세요.

  1. System Console > Plugins > Agents > MCP Servers로 이동합니다.
  2. Enable Embedded Server를 True로 설정합니다.
  3. 활성화하면 구성된 모든 에이전트가 Mattermost 도구를 사용할 수 있습니다.

에이전트는 사용자 요청을 완수하는 데 필요할 때 이 도구들을 자동으로 사용합니다.

외부 클라이언트용

Claude web, Claude Code 등 MCP를 지원하는 외부 클라이언트가 Mattermost 인스턴스와 상호작용하도록 설정할 수 있습니다.

요구 사항:

  • Mattermost Server v11.2 이상
  • 유효한 인증 수단(OAuth 또는 개인 액세스 토큰)

참고: 이 서버는 스트리밍 가능한 HTTP 전송을 사용하며 전통적인 Server-Sent Events(SSE) 전송은 지원하지 않습니다. 외부 클라이언트는 /mcp 엔드포인트에서 제공되는 스트리밍 HTTP 전송을 사용해야 합니다.

외부 MCP 클라이언트를 활성화하려면 다음과 같이 하세요.

  1. System Console > Plugins > Agents > MCP Servers로 이동합니다
  2. Enable Mattermost MCP Server (HTTP)를 True로 설정합니다. MCP 서버는 다음 주소에서 사용할 수 있습니다: https://your-mattermost-server/plugins/mattermost-ai/mcp-server/mcp

인증:

OAuth 2.0

MCP 서버는 수동 클라이언트 등록과 자동 클라이언트 등록을 모두 지원하는 OAuth 2.0 인증을 지원합니다.

사전 요구 사항:

  • System Console > Integrations > Integration Management에서 OAuth 2.0 서비스 공급자를 활성화합니다.
    • Enable OAuth 2.0 Service Provider를 True로 설정합니다
    • 자동 클라이언트 등록을 사용하려면 Enable OAuth 2.0 Dynamic Client Registration을 True로 설정합니다(참고: DCR는 보호되지 않는 엔드포인트로, 공개적으로 접근 가능하며 인증을 요구하지 않습니다. 이 기능을 활성화하면 누구나 OAuth 클라이언트를 등록할 수 있습니다. 보안 고려 사항은 OAuth 2.0 문서를 참고하세요.)

클라이언트 등록 방식:

  • 동적 클라이언트 등록(DCR/RFC 7591): 외부 클라이언트가 수동 설정 없이 자동으로 등록하고 자격 증명을 받을 수 있습니다.
  • 수동 등록: Product menu > Integrations > OAuth 2.0 Applications(제품 메뉴 > 연동 > OAuth 2.0 애플리케이션)에서 OAuth 애플리케이션을 만듭니다. 자세한 내용은 OAuth 2.0 문서를 참고하세요.

추가 정보:

  • 퍼블릭 클라이언트(예: 데스크톱 애플리케이션)와 기밀 클라이언트(예: 서버 애플리케이션)를 모두 지원합니다
  • 표준 Mattermost OAuth 흐름을 통해 권한을 부여합니다
  • OAuth 메타데이터 엔드포인트:
    • 보호된 리소스 메타데이터: https://your-mattermost-server/plugins/mattermost-ai/mcp-server/.well-known/oauth-protected-resource
    • 인가 서버 메타데이터: https://your-mattermost-server/.well-known/oauth-authorization-server

개인 액세스 토큰

Mattermost 개인 액세스 토큰(PAT)으로 인증할 수도 있습니다.

  1. Mattermost에서 개인 액세스 토큰을 만듭니다(User Settings > Security > Personal Access Tokens).
  2. MCP 클라이언트가 해당 PAT로 Bearer 토큰 인증을 사용하도록 구성합니다.

라이선스 요구 사항

다음 표는 라이선스가 필요한 기능을 정리한 것입니다.

기능필요한 라이선스
기본 에이전트 구성(에이전트 1개)라이선스 불필요
다이렉트 메시지와 채널에서 에이전트와 대화라이선스 불필요
이미지 분석(Vision 기능)라이선스 불필요
기본 도구 연동라이선스 불필요
여러 에이전트 구성Entry, Enterprise, Enterprise Advanced
세분화된 접근 제어Entry, Enterprise, Enterprise Advanced
임베딩 검색(시맨틱 AI 검색)Entry, Enterprise, Enterprise Advanced
MCP 지원Entry, Enterprise, Enterprise Advanced
사용량 분석 및 토큰 추적Entry, Enterprise, Enterprise Advanced
AI Actions 메뉴(스레드 요약)Entry, Enterprise, Enterprise Advanced
채널 요약(읽지 않은 메시지)Entry, Enterprise, Enterprise Advanced
녹화된 회의 전사 및 요약Entry, Enterprise, Enterprise Advanced

추가 구성 가이드

팁