spoonai
TOPClaude CodeAnthropicMCP

Claude Code Channels 2026 — Telegram·Discord 메시지가 코딩 세션에 실시간 도착하는 MCP 기반 이벤트 푸시

Anthropic이 Claude Code에 Channels 기능을 추가했다. MCP 서버가 Telegram, Discord 등 외부 메시지를 실행 중인 세션에 푸시하고, Claude가 즉시 반응한다. 설정법, 보안 모델, OpenClaw 비교까지 정리.

·5분 소요·Claude Code Channels Documentation
Claude Code Channels 공식 문서

Telegram 메시지 하나가 코딩 세션을 깨운다

Claude Code Channels는 MCP(Model Context Protocol) 기반 이벤트 푸시 기능으로, Telegram이나 Discord 같은 외부 메시징 플랫폼의 메시지를 실행 중인 Claude Code 세션에 실시간으로 전달한다. Claude가 터미널에서 코드를 작성하는 동안 외부에서 들어오는 요청에 즉시 반응할 수 있게 만드는, 일종의 "AI 코딩 비서용 알림 시스템"이다. 현재 리서치 프리뷰(Research Preview) 단계이며 Claude Code v2.1.80+에서 사용할 수 있다.

Claude Code Channels 공식 문서 Source: Anthropic

배경 — 왜 "푸시"가 필요했나

기존에 Claude Code를 확장하는 방법은 여러 가지가 있었다. 웹 세션(Web Sessions)은 클라우드 샌드박스에서 새 세션을 생성하고, Slack 연동은 팀 채팅에 특화되어 있으며, MCP는 온디맨드(on-demand) 도구 호출을 제공한다. 그런데 이 모든 접근에는 공통된 한계가 있었다. 외부에서 발생하는 이벤트를 "기존에 열려 있는 세션"에 밀어넣는 방법이 없었다는 것이다. Channels는 바로 이 빈자리를 채운다.

AI 코딩 에이전트의 발전 방향을 돌아보면 이 흐름이 자연스럽다. 2025년 초 Claude Code가 처음 등장했을 때는 개발자가 터미널에서 직접 지시를 내리는 방식이 전부였다. 이후 MCP가 도입되면서 외부 도구를 Claude가 "필요할 때 가져다 쓰는" 패턴이 가능해졌고, Remote Control이 추가되면서 외부에서 새 세션을 스폰하는 방식이 열렸다. 하지만 여전히 빠져 있던 퍼즐 조각은 "이미 돌아가고 있는 세션에 외부 이벤트를 주입하는" 메커니즘이었다. 개발 현장에서는 Slack 메시지가 오면 코드 수정이 필요하고, Jira 티켓이 업데이트되면 테스트를 돌려야 하는데, 이런 이벤트가 Claude Code 세션에 직접 도달할 방법이 없었다. Channels는 이 마지막 빈칸을 MCP의 이벤트 스트리밍 확장으로 해결한 것이다.

기존 도구와 무엇이 다른가 — 3가지 핵심 차이

Channels의 정체를 이해하려면 Anthropic이 이미 제공하는 다른 기능들과 비교해야 한다.

첫째, 세션 재사용 측면이다. 웹 세션이나 Remote Control은 새로운 클라우드 세션을 스폰(spawn)하거나 외부에서 세션을 제어하는 방식이다. 반면 Channels는 이미 열려 있는 로컬 세션에 이벤트를 주입한다. 개발자가 터미널에서 코드를 작성하다가 Telegram 메시지가 도착하면, 그 메시지가 같은 세션 컨텍스트 안에서 처리된다. 이전에 작업하던 코드, 파일 트리, 환경 변수가 모두 유지되는 것이다.

둘째, 양방향 통신이 가능하다. 이벤트가 단순히 도착하는 것에 그치지 않고 Claude가 같은 채널을 통해 응답을 돌려보낸다. Telegram으로 "이 함수 테스트 작성해줘"라고 보내면, Claude Code가 테스트를 작성하고 결과를 다시 Telegram으로 전송하는 흐름이 하나의 파이프라인 안에서 완결된다.

셋째, 폴링(polling) 없는 푸시 방식이다. MCP 도구는 Claude가 필요할 때 호출하는 풀(pull) 모델이지만, Channels는 외부 이벤트가 발생하는 즉시 세션으로 밀어넣는 푸시(push) 모델이다. 이 차이는 실시간성에서 결정적이다. 다만 한 가지 제약이 있다. 이벤트는 세션이 열려 있는 동안에만 수신되므로, 24시간 상시 운영이 필요하면 tmux나 screen으로 세션을 유지해야 한다.

수치로 정리하면, 현재 공식 지원 채널은 3종(Telegram, Discord, Fakechat 로컬 데모)이며, 플러그인 소스는 Anthropic 공식 GitHub 저장소에서 관리된다. API 키 인증은 지원하지 않고 claude.ai 로그인만 가능하다는 점도 눈여겨볼 부분이다.

설정 흐름과 보안 모델 — "허용 목록" 기반 접근 제어

Telegram을 예로 들면 설정 과정은 5단계로 압축된다. 먼저 Telegram의 BotFather에서 봇을 생성하고 토큰을 받는다. 그 다음 Claude Code 세션에서 /plugin install telegram@claude-plugins-official 명령으로 플러그인을 설치한 뒤 /telegram:configure <토큰>으로 봇 토큰을 등록한다. 이후 claude --channels plugin:telegram@claude-plugins-official 플래그를 붙여 세션을 시작하면 채널이 활성화된다. 마지막으로 Telegram에서 봇에게 메시지를 보내면 페어링 코드가 발급되고, Claude Code에서 /telegram:access pair <코드>를 실행하면 연결이 완료된다.

보안 측면에서 Anthropic은 3중 방어벽을 설계했다. 첫 번째, --channels 플래그는 Anthropic이 관리하는 허용 목록(allowlist)에 등록된 플러그인만 수락한다. 커스텀 채널을 테스트하려면 --dangerously-load-development-channels라는 이름부터 경고를 주는 별도 플래그가 필요하다. 두 번째, 모든 승인된 채널 플러그인은 **발신자 허용 목록(sender allowlist)**을 유지한다. 봇 토큰이 유출되더라도 허용 목록에 없는 사용자의 메시지는 세션에 도달하지 못한다. 세 번째, Team이나 Enterprise 플랜에서는 관리자가 channelsEnabled 설정을 명시적으로 활성화해야 사용할 수 있다.

이 보안 설계는 OpenClaw와 비교할 때 확연한 차이를 보인다. 깃허브 스타 20만 개를 넘긴 오픈소스 개인 AI 비서 OpenClaw는 WhatsApp, iMessage, Slack, Signal 등 50개 이상 플랫폼을 지원하지만 보안은 사용자가 직접 구성해야 한다. Anthropic의 Channels는 지원 플랫폼이 3개로 적지만, 퍼스트파티(first-party) 수준의 보안 감사와 허용 목록 관리가 내장되어 있다. 플랫폼 수 대 보안 깊이의 트레이드오프가 명확하다.

claude-plugins-official GitHub 레포 Source: Anthropic

아키텍처 — MCP 이벤트 스트리밍의 내부 구조

Channels의 기술적 기반은 MCP(Model Context Protocol)의 이벤트 스트리밍 확장이다. 기존 MCP는 Claude가 도구를 호출하면 서버가 응답하는 요청-응답(request-response) 패턴이었다. Channels는 이 위에 서버-투-클라이언트 이벤트 스트림(server-to-client event stream)을 추가했다. MCP 서버가 외부 메시징 플랫폼의 웹훅(webhook)을 수신하고, 이를 MCP 이벤트로 변환해 Claude Code 클라이언트에 푸시하는 구조다.

이 아키텍처에서 핵심적인 설계 결정은 이벤트 큐(event queue)의 처리 방식이다. Claude Code가 코드를 생성하는 중에 Telegram 메시지가 도착하면, 이벤트는 큐에 적재된 뒤 현재 작업의 자연스러운 중단점(breakpoint)에서 처리된다. 코드 작성 도중에 갑자기 작업이 중단되는 것이 아니라, 파일 저장이나 도구 호출 완료 같은 시점에서 큐에 쌓인 이벤트를 순차적으로 소비하는 것이다. 이 방식은 코드 작성의 원자성(atomicity)을 보장하면서도 외부 이벤트에 대한 합리적인 지연 시간(latency)을 유지한다.

플러그인 아키텍처도 주목할 만하다. 각 채널 플러그인은 독립적인 MCP 서버로 동작하며, Anthropic이 정의한 Channel Plugin Interface를 구현해야 한다. 이 인터페이스는 onMessage, sendReply, validateSender 세 가지 핵심 메서드를 요구한다. onMessage는 외부 메시지를 MCP 이벤트로 변환하고, sendReply는 Claude의 응답을 원래 플랫폼으로 전송하며, validateSender는 발신자 허용 목록을 확인한다. 개발자가 커스텀 채널을 만들려면 이 인터페이스를 구현한 MCP 서버를 작성하면 되는데, --dangerously-load-development-channels 플래그가 필요하므로 프로덕션 환경에서의 무분별한 사용은 사실상 차단된다.

시사점 — AI 코딩 도구의 "항상 켜져 있는" 미래

Channels가 의미하는 변화는 단순한 메시징 연동을 넘어선다. 지금까지 AI 코딩 도구는 개발자가 터미널 앞에 앉아서 명령을 입력할 때만 작동하는 "수동 모드"였다. Channels는 이것을 "반응 모드"로 전환한다. 팀원이 Telegram으로 버그를 보고하면 Claude가 즉시 코드를 수정하고, Discord 채널에 배포 알림이 올라오면 Claude가 로그를 분석하는 워크플로가 가능해진다.

이 방향은 Anthropic의 더 큰 플랫폼 전략과도 맞물린다. Claude Marketplace로 서드파티 앱 생태계를 열고, Channels로 외부 서비스와의 실시간 연결을 확보하는 것이다. 모델 성능 경쟁에서 생태계 경쟁으로 무게중심이 이동하고 있다는 신호다.

물론 리서치 프리뷰 단계인 만큼 제약도 있다. API 키 인증 미지원은 CI/CD 파이프라인 통합을 어렵게 만들고, 세션이 닫히면 이벤트를 받지 못하는 구조는 프로덕션 환경에서의 안정성 의문을 남긴다. 하지만 MCP라는 표준 프로토콜 위에 구축되었다는 점에서, 향후 커뮤니티가 커스텀 채널을 빠르게 확장할 가능성은 충분하다. 특히 GitHub Issues, Linear, Jira 같은 프로젝트 관리 도구와 연결하는 채널 플러그인이 등장한다면, 개발 팀의 작업 흐름 자체가 근본적으로 바뀔 수 있다. 이슈가 생성되는 순간 Claude Code가 자동으로 코드를 분석하고 PR을 올리는 시나리오는 더 이상 공상이 아니다.

참고 자료


매일 아침 AI 뉴스를 이메일로 받아보세요. spoonai.me 뉴스레터 구독

무료 뉴스레터

AI 트렌드를 앞서가세요

매일 아침, 엄선된 AI 뉴스를 받아보세요. 스팸 없음. 언제든 구독 취소.