채널로 실행 중인 세션에 이벤트 푸시하기
MCP 서버로 Telegram, Discord 등 외부 이벤트를 Claude Code 세션에 푸시하는 채널 기능
채널로 실행 중인 세션에 이벤트 푸시하기
채널을 사용하면 MCP 서버에서 Claude Code 세션으로 메시지, 알림, 웹훅을 푸시할 수 있습니다. CI 결과, 채팅 메시지, 모니터링 이벤트를 전달하여 사용자가 자리를 비운 동안에도 Claude가 반응할 수 있습니다.
참고: 채널은 리서치 프리뷰 단계이며 Claude Code v2.1.80 이상이 필요합니다. claude.ai 로그인이 필요하며, Console 및 API 키 인증은 지원되지 않습니다. Team 및 Enterprise 조직은 명시적으로 활성화해야 합니다.
채널은 실행 중인 Claude Code 세션에 이벤트를 푸시하는 MCP 서버로, 터미널 앞에 없는 동안 발생하는 일에 Claude가 반응할 수 있게 해줍니다. 채널은 양방향이 가능합니다: Claude가 이벤트를 읽고 같은 채널을 통해 응답하는 채팅 브리지처럼 동작합니다. 이벤트는 세션이 열려 있는 동안에만 도착하므로, 상시 운영 설정을 위해서는 Claude를 백그라운드 프로세스나 영구 터미널에서 실행합니다.
채널은 플러그인으로 설치하고 사용자 자신의 자격 증명으로 구성합니다. Telegram과 Discord가 리서치 프리뷰에 포함되어 있습니다.
Claude가 채널을 통해 응답할 때, 인바운드 메시지는 터미널에 표시되지만 응답 텍스트는 표시되지 않습니다. 터미널에는 도구 호출과 확인 메시지(예: "sent")가 표시되고, 실제 응답은 상대방 플랫폼에 나타납니다.
이 페이지에서 다루는 내용:
- 지원되는 채널: Telegram 및 Discord 설정
- 채널 설치 및 실행: localhost 데모인 fakechat으로 시작하기
- 메시지를 보낼 수 있는 사람: 발신자 허용 목록과 페어링 방법
- 조직에서 채널 활성화하기: Team 및 Enterprise 설정
직접 채널을 구축하려면 채널 레퍼런스를 참고하세요.
지원되는 채널
지원되는 각 채널은 Bun이 필요한 플러그인입니다. 실제 플랫폼을 연결하기 전에 플러그인 흐름을 직접 체험하려면 fakechat 빠른 시작을 사용해 보세요.
Telegram
전체 Telegram 플러그인 소스를 확인하세요.
1단계: Telegram 봇 생성
Telegram에서 BotFather를 열고 /newbot을 보냅니다. 표시 이름과 bot으로 끝나는 고유한 사용자 이름을 지정합니다. BotFather가 반환하는 토큰을 복사합니다.
2단계: 플러그인 설치
Claude Code에서 다음을 실행합니다:
/plugin install telegram@claude-plugins-official
3단계: 토큰 구성
BotFather에서 받은 토큰으로 구성 명령을 실행합니다:
/telegram:configure <token>
이렇게 하면 프로젝트의 .claude/channels/telegram/.env에 저장됩니다. Claude Code를 실행하기 전에 셸 환경에서 TELEGRAM_BOT_TOKEN을 설정할 수도 있습니다.
4단계: 채널을 활성화하여 재시작
Claude Code를 종료하고 채널 플래그와 함께 재시작합니다. 이렇게 하면 Telegram 플러그인이 시작되어 봇에서 메시지를 폴링하기 시작합니다:
claude --channels plugin:telegram@claude-plugins-official
5단계: 계정 페어링
Telegram을 열고 봇에 아무 메시지나 보냅니다. 봇이 페어링 코드로 응답합니다.
참고: 봇이 응답하지 않으면, 이전 단계의
--channels로 Claude Code가 실행 중인지 확인하세요. 봇은 채널이 활성화된 동안에만 응답할 수 있습니다.
Claude Code로 돌아와서 다음을 실행합니다:
/telegram:access pair <code>
그런 다음 자신의 계정만 메시지를 보낼 수 있도록 접근을 제한합니다:
/telegram:access policy allowlist
Discord
전체 Discord 플러그인 소스를 확인하세요.
1단계: Discord 봇 생성
Discord Developer Portal로 이동하여 New Application을 클릭하고 이름을 지정합니다. Bot 섹션에서 사용자 이름을 만든 다음, Reset Token을 클릭하고 토큰을 복사합니다.
2단계: Message Content Intent 활성화
봇 설정에서 Privileged Gateway Intents로 스크롤하여 Message Content Intent를 활성화합니다.
3단계: 봇을 서버에 초대
OAuth2 > URL Generator로 이동합니다. bot 스코프를 선택하고 다음 권한을 활성화합니다:
- View Channels
- Send Messages
- Send Messages in Threads
- Read Message History
- Attach Files
- Add Reactions
생성된 URL을 열어 봇을 서버에 추가합니다.
4단계: 플러그인 설치
Claude Code에서 다음을 실행합니다:
/plugin install discord@claude-plugins-official
5단계: 토큰 구성
복사한 봇 토큰으로 구성 명령을 실행합니다:
/discord:configure <token>
이렇게 하면 프로젝트의 .claude/channels/discord/.env에 저장됩니다. Claude Code를 실행하기 전에 셸 환경에서 DISCORD_BOT_TOKEN을 설정할 수도 있습니다.
6단계: 채널을 활성화하여 재시작
Claude Code를 종료하고 채널 플래그와 함께 재시작합니다. 이렇게 하면 Discord 플러그인이 연결되어 봇이 메시지를 수신하고 응답할 수 있게 됩니다:
claude --channels plugin:discord@claude-plugins-official
7단계: 계정 페어링
Discord에서 봇에 DM을 보냅니다. 봇이 페어링 코드로 응답합니다.
참고: 봇이 응답하지 않으면, 이전 단계의
--channels로 Claude Code가 실행 중인지 확인하세요. 봇은 채널이 활성화된 동안에만 응답할 수 있습니다.
Claude Code로 돌아와서 다음을 실행합니다:
/discord:access pair <code>
그런 다음 자신의 계정만 메시지를 보낼 수 있도록 접근을 제한합니다:
/discord:access policy allowlist
아직 플러그인이 없는 시스템을 위해 직접 채널을 구축할 수도 있습니다.
빠른 시작
Fakechat은 공식 지원되는 데모 채널로, localhost에서 채팅 UI를 실행하며, 인증할 것도 없고 구성할 외부 서비스도 없습니다.
fakechat을 설치하고 활성화하면, 브라우저에서 입력한 메시지가 Claude Code 세션에 도착합니다. Claude가 응답하면 해당 응답이 브라우저에 다시 나타납니다. fakechat 인터페이스를 테스트한 후에는 Telegram이나 Discord를 사용해 보세요.
fakechat 데모를 사용하려면 다음이 필요합니다:
- claude.ai 계정으로 설치 및 인증된 Claude Code
- Bun 설치. 사전 빌드된 채널 플러그인은 Bun 스크립트입니다.
bun --version으로 확인하고, 실패하면 Bun을 설치하세요. - Team/Enterprise 사용자: 조직 관리자가 관리 설정에서 채널을 활성화해야 합니다.
1단계: fakechat 채널 플러그인 설치
Claude Code 세션을 시작하고 설치 명령을 실행합니다:
/plugin install fakechat@claude-plugins-official
Fakechat은 대부분의 설정에서 자동으로 추가되는 claude-plugins-official 마켓플레이스에 있습니다. 없는 경우 먼저 /plugin marketplace add anthropics/claude-plugins-official을 실행하세요.
2단계: 채널을 활성화하여 재시작
Claude Code를 종료한 다음, --channels와 함께 설치한 fakechat 플러그인을 전달하여 재시작합니다:
claude --channels plugin:fakechat@claude-plugins-official
fakechat 서버가 자동으로 시작됩니다.
팁:
--channels에 여러 플러그인을 공백으로 구분하여 전달할 수 있습니다.
3단계: 메시지 푸시
http://localhost:8787에서 fakechat UI를 열고 메시지를 입력합니다:
hey, what's in my working directory?
메시지가 <channel source="fakechat"> 이벤트로 Claude Code 세션에 도착합니다. Claude가 이를 읽고 작업을 수행한 다음, fakechat의 reply 도구를 호출합니다. 답변이 채팅 UI에 나타납니다.
사용자가 터미널에서 자리를 비운 동안 Claude가 권한 프롬프트에 도달하면, 로컬에서 승인할 때까지 세션이 일시 중지됩니다. 무인 사용의 경우 --dangerously-skip-permissions로 프롬프트를 건너뛸 수 있지만, 신뢰할 수 있는 환경에서만 사용하세요.
보안
승인된 모든 채널 플러그인은 발신자 허용 목록을 유지합니다: 추가한 ID만 메시지를 푸시할 수 있으며, 그 외의 모든 사람은 자동으로 무시됩니다.
Telegram과 Discord는 페어링을 통해 목록을 초기화합니다:
- Telegram 또는 Discord에서 봇을 찾아 아무 메시지나 보냅니다
- 봇이 페어링 코드로 응답합니다
- Claude Code 세션에서 프롬프트가 나타나면 코드를 승인합니다
- 발신자 ID가 허용 목록에 추가됩니다
추가로, 각 세션에서 --channels로 어떤 서버를 활성화할지 제어하며, Team 및 Enterprise 플랜에서는 조직이 channelsEnabled로 가용성을 제어합니다.
.mcp.json에 있는 것만으로는 메시지를 푸시할 수 없습니다: 서버는 --channels에도 지정되어야 합니다.
엔터프라이즈 제어
채널은 관리 설정의 channelsEnabled 설정으로 제어됩니다.
| 플랜 유형 | 기본 동작 |
|---|---|
| Pro / Max, 조직 없음 | 채널 사용 가능; 사용자가 --channels로 세션별로 옵트인 |
| Team / Enterprise | 관리자가 명시적으로 활성화할 때까지 채널 비활성화 |
조직에서 채널 활성화
관리자는 claude.ai > Admin settings > Claude Code > Channels에서 채널을 활성화하거나, 관리 설정에서 channelsEnabled를 true로 설정할 수 있습니다.
활성화되면 조직의 사용자는 --channels를 사용하여 개별 세션에 채널 서버를 옵트인할 수 있습니다. 설정이 비활성화되거나 설정되지 않은 경우, MCP 서버는 여전히 연결되고 도구가 작동하지만, 채널 메시지는 도착하지 않습니다. 시작 시 경고가 표시되어 관리자에게 설정을 활성화하도록 요청합니다.
리서치 프리뷰
채널은 리서치 프리뷰 기능입니다. 가용성은 점진적으로 확대되고 있으며, --channels 플래그 구문과 프로토콜 규약은 피드백에 따라 변경될 수 있습니다.
프리뷰 기간 동안 --channels는 Anthropic이 관리하는 허용 목록의 플러그인만 수락합니다. claude-plugins-official의 채널 플러그인이 승인된 세트입니다. 목록에 없는 것을 전달하면, Claude Code는 정상적으로 시작되지만 채널이 등록되지 않으며, 시작 안내에서 이유를 알려줍니다.
직접 구축 중인 채널을 테스트하려면 --dangerously-load-development-channels를 사용하세요. 직접 구축한 커스텀 채널 테스트에 대한 자세한 내용은 리서치 프리뷰 중 테스트를 참고하세요.
이슈나 피드백은 Claude Code GitHub 저장소에 보고하세요.
다음 단계
채널이 실행되면 다음 관련 기능을 살펴보세요:
- 직접 채널 구축: 아직 플러그인이 없는 시스템을 위해
- Remote Control: 이벤트를 세션에 전달하는 대신 휴대폰에서 로컬 세션을 제어
- 예약 작업: 푸시된 이벤트에 반응하는 대신 타이머로 폴링