Skip to main content
Glama
fmarcac

discord-mcp

by fmarcac

discord-mcp

실행 중인 데스크톱 클라이언트를 통해 Discord를 읽고 조작합니다: 채널 메시지, 다이렉트 메시지, 그룹 채팅, 스레드, 포럼 게시물, 검색.

작동 방식

Discord 데스크톱 앱은 Electron 기반입니다. --remote-debugging-port로 시작하면 렌더러가 Chrome DevTools Protocol을 통해 접근 가능해집니다. discord-mcp는 해당 렌더러에 연결하여 클라이언트가 자체 API 호출에서 이미 보내는 헤더를 관찰하고, 같은 페이지 내부에서 요청을 발행합니다.

따라서 모든 요청은 실제 클라이언트 프로세스, 실제 세션, 실제 지문으로부터 발생합니다. 탐지할 두 번째 클라이언트가 없으며, 토큰은 Discord의 저장소에서 읽히지 않습니다: 클라이언트가 이미 보내고 있던 요청에서 관찰될 뿐입니다.

Related MCP server: discord-user-mcp

사용 전에 읽어야 할 사항

이것은 Discord의 서비스 약관을 위반합니다. 사용자 계정을 자동화하는 것은 세션을 어떻게 얻었든 금지되어 있으며, 섹션 11은 클라이언트 수정을 별도로 금지합니다.

실질적인 위험은 Vencord 같은 클라이언트 모드와 같은 범주에 있습니다. Discord는 이들을 공개적으로 우선순위를 낮췄으며 2026년 현재 확인된 밴은 없습니다. 이는 단속하지 않는 패턴이지 약속이 아닙니다. 위험은 읽기가 아니라 쓰기에 집중되어 있습니다.

봇 토큰을 사용하면 완전히 규정을 준수하겠지만, 봇은 당신의 다이렉트 메시지를 절대 읽을 수 없습니다. 바로 그 한계가 이 프로젝트가 존재하는 이유입니다.

설정

npm install
npm run build

Discord는 단일 인스턴스 잠금을 사용하므로 디버깅 플래그는 시작 시에만 적용됩니다. 실행 중인 클라이언트를 먼저 종료하세요.

node dist/cli/main.js launch      # starts Discord on a random loopback port
node dist/cli/main.js doctor      # verifies attach, capture and a real read

doctor는 계정, 길드 수, 다이렉트 메시지 수를 출력해야 합니다.

첫 번째 연결은 렌더러를 한 번 새로고침합니다. 유휴 클라이언트는 헤더를 관찰할 REST 요청을 만들지 않기 때문입니다. 캡처는 포트별로 12시간 동안 ~/.local/state/discord-mcp/headers.json에 저장되므로, 이후 실행은 약 1초 만에 연결되고 클라이언트를 건드리지 않습니다.

MCP 클라이언트에 연결하기

{
  "mcpServers": {
    "discord": {
      "command": "node",
      "args": ["/path/to/discord-mcp/dist/cli/main.js", "serve"]
    }
  }
}

도구

기본적으로 18개의 도구가 노출됩니다: 읽기 12개, 쓰기 6개.

도구

등급

용도

guild_list

읽기

이 계정이 속한 길드

guild_channels

읽기

한 길드의 채널

guild_roles

읽기

길드에 정의된 역할

channel_get

읽기

채널 또는 스레드 설명

channel_history

읽기

메시지 한 페이지, 양방향 페이징

channel_pins

읽기

고정된 메시지

message_get

읽기

ID로 메시지 하나

dm_list

읽기

다이렉트 및 그룹 대화

thread_list

읽기

채널의 열린 스레드, 포럼 게시물을 읽는 방식

thread_archived

읽기

보관된 스레드, 조용한 포럼 게시물이 모이는 곳

search_guild

읽기

한 길드 검색

search_channel

읽기

한 채널 또는 대화 검색

message_send

쓰기

메시지 또는 답장 보내기

message_edit

쓰기

이 계정이 보낸 메시지 수정

message_react

쓰기

반응 추가

message_ack

쓰기

메시지까지 채널을 읽음으로 표시

thread_create

쓰기

스레드 시작, 선택적으로 기존 메시지에서

forum_post

쓰기

시작 메시지와 함께 포럼 게시물 생성

포럼 읽기는 포럼 채널의 스레드를 나열하는 방식으로 작동합니다. 각 게시물은 게시물을 연 메시지와 적용된 태그와 함께 반환되므로, 두 번째 호출 없이 게시물을 읽을 수 있습니다.

파괴적 도구

7개의 추가 작업이 존재하며 해당 카테고리가 활성화되지 않는 한 전혀 등록되지 않습니다. 도구 목록에 나타나지 않으므로 어떤 호스트나 모델도 접근할 수 없습니다.

도구

카테고리

message_delete

messages

thread_delete

threads

channel_delete

channels

guild_leave

guilds

member_kick, member_ban

members

member_roles

roles

필요한 것만 활성화하세요:

{ "destructive": ["messages", "threads"] }
node dist/cli/main.js serve --config /path/to/policy.json

이것이 핵심 제어입니다. 호스트 승인 프롬프트는 두 번째 계층입니다. 호스트 동작이 다양하고 일부 호스트는 자동으로 승인하기 때문입니다. 각 파괴적 도구는 작업한 대상을 확인하여 반환하므로 결과는 snowflake만 내놓는 대신 채널 이름을 명시합니다.

보안

열린 DevTools 포트는 로컬 인증 우회입니다: 당신으로 실행되는 모든 프로세스가 2단계 인증을 포함해 세션을 제어할 수 있습니다. discord-mcp는 루프백에만 바인딩하고 기본 9222 대신 무작위 높은 포트를 선택합니다. 사용하지 않을 때는 포트가 열린 상태로 클라이언트를 실행해 두지 마세요.

헤더 캐시는 활성 토큰을 보유합니다. 캡처를 재사용한다는 것은 그것을 유지한다는 뜻이므로 ~/.local/state/discord-mcp/headers.json에는 만료될 때까지 Authorization 헤더가 포함됩니다. 소유자 전용, 모드 0600으로 작성되며 그 옆의 실행 상태도 마찬가지입니다. 새 캡처를 강제하려면 파일을 삭제하세요:

rm ~/.local/state/discord-mcp/headers.json

매번 캡처하고 토큰을 저장하지 않으려면 캐시 경로 없이 실행하세요. 대신 연결할 때마다 렌더러가 새로고침됩니다.

구조

src/attach/     CDP connection, target selection, launch, state
src/bridge/     header capture, request execution, rate limiting
src/api/        typed wrappers over Discord REST v9
src/normalize/  reduce Discord's wire format to what a reader needs
src/policy/     operation tiers and the destructive gate
src/tools/      MCP tool registration
src/cli/        launch, doctor, serve

의존성은 아래로만 흐릅니다. normalize/policy/는 순수하며 아무것도 의존하지 않으며, 테스트 스위트의 대부분이 여기에 있습니다.

npm test         # 152 tests, no Discord required
npm run typecheck

브리지 설계를 이끈 Spike 0 발견 사항을 포함한 설계 문서는 docs/superpowers/specs/에 있습니다.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Discord using personal user tokens instead of bot applications, allowing for seamless message management and server exploration. It provides tools for reading history, sending messages, and searching across channels and DMs directly through MCP-compatible clients.
    6
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables interaction with Discord through natural language, including reading and sending messages, managing servers, and user actions.

View all related MCP servers

Related MCP Connectors

  • Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.

  • Eyes and hands on real Windows PCs — observe, click, type via Glasswarp API.

  • Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fmarcac/discord-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server