Skip to content

Releases: hkjang/mmcp

mmcp v1.0.1

Choose a tag to compare

@hkjang hkjang released this 02 Oct 02:27

mmcp v1.0.1 — 리버스 프록시 뒤 Keycloak·MCP OAuth 수정

수정

  • Keycloak Invalid parameter: redirect_uri: Public URL이 비어 있으면 mmcp가 내부 주소(http://host:8080)를 redirect_uri로 보내 Keycloak이 거부하던 문제. 이제 리버스 프록시의 X-Forwarded-Proto/Host/Port·Forwarded 헤더로 사용자가 접속한 외부 주소를 계산합니다(Public URL이 있으면 그 값 우선).
  • MCP OAuth 실패: 같은 원인으로 OAuth·MCP 메타데이터의 resource/인가 서버가 내부 주소로 나가 Claude Code·Codex가 로그인하지 못하던 문제.

개선

  • Keycloak 연결 테스트가 실제 redirect_uri와 로그아웃 후 주소를 Keycloak에 보내 확인하고, 등록해야 할 정확한 값을 안내합니다.
  • 공개 OAuth/메타데이터 엔드포인트 CORS, /authorize /token /register 별칭, resource 비교 완화.

검증

HTTPS·HTTP 리버스 프록시 뒤에서 Claude Code 2.1 claude mcp login, Codex CLI 0.160 codex mcp login 실제 OAuth 로그인 → Keycloak SSO → 동의 → 도구 호출 성공.

업그레이드

sha256sum mmcp-v1.0.1.tar.gz   # 아래 값과 같아야 합니다
docker load -i mmcp-v1.0.1.tar.gz
# compose.offline.yml 의 image 를 mmcp:v1.0.1 로 바꾸고
docker compose -f compose.offline.yml up -d

SHA-256 0dba7d0ba6d188c99990965b1603bd83c29fb9063678ffb521f47dca49f82ea2 mmcp-v1.0.1.tar.gz

권장: 일반 설정 > Public URL에 외부 주소를 지정하고, Keycloak 연동 > 연결 테스트로 redirect URI를 확인하세요.

🤖 Generated with Claude Code

mmcp v1.0.0

Choose a tag to compare

@hkjang hkjang released this 01 Oct 11:43

mmcp v1.0.0 — Mattermost MCP Gateway

Keycloak으로 로그인한 사용자 본인의 Mattermost 권한으로 Claude Code·Codex·Cursor·사내 AI 포털이 Mattermost를 검색·요약하고 승인 후 DM을 보내게 하는 오프라인 사내망용 MCP 서버입니다.

오프라인 설치

sha256sum mmcp-v1.0.0.tar.gz        # 아래 SHA-256과 같아야 합니다
docker load -i mmcp-v1.0.0.tar.gz   # → mmcp:v1.0.0
# 환경변수 4개: POSTGRES_DSN, BOOTSTRAP_ADMIN, BOOTSTRAP_ADMIN_PASSWORD, ENCRYPTION_KEY
docker compose -f compose.offline.yml up -d

SHA-256 2c96affd6c759bf73e1832e82dcb75b8f5e13f35803c1df4b150a38e4df95070 mmcp-v1.0.0.tar.gz

이미지: mmcp:v1.0.0 (distroless, linux/amd64, 약 36MB) · 커밋 a0de406

주요 기능

  • MCP Streamable HTTP(2025-11-25 외), 도구 28종 + 공식 Mattermost MCP 호환 별칭, 리소스·프롬프트
  • Keycloak OIDC + 사일런트 SSO, 첫 로그인 시 사용자 자동 생성·역할 동기화, Keycloak 토큰 직접 검증
  • MCP OAuth 2.1 인가 서버 (DCR, PKCE S256, 회전형 리프레시 토큰·재사용 감지), 개인 API 키(유예 회전)
  • preferred_username 최초 탐색 후 Keycloak sub ↔ Mattermost user_id 고정, 계정 재생성·이름 가로채기 자동 차단
  • 조회는 항상 사용자 본인 PAT (자동 발급/직접 등록), 발송은 본인/봇("○○님의 요청")/자동, 비밀번호 수집 없음
  • DM·그룹 DM·파일 DM, 한글 이름 수신자 해석(동명이인 후보 반환), 쓰기 2단계 승인 + 콘솔 승인 필수 모드
  • 봉투 암호화(마스터 키 → 사용자별 데이터 키), 개인 키 회전, 마스터 키 무중단 회전, Mattermost 토큰 일괄 회전
  • 관리 콘솔/내 공간 분리, Ctrl+K 초성 검색 팔레트, 실시간 서버 로그, 감사 로그 CSV, 백업·복원, 다크 모드, 모바일

문서

🤖 Generated with Claude Code