Skip to main content
Glama

Discord MCP 서버

90개 이상의 도구를 갖춘 경량 멀티 길드 Discord MCP 서버

npm License Node Discord.js MCP

discord-mcp MCP server

Claude Desktop, Claude Code, Cursor, VS Code Copilot 또는 모든 MCP 호환 클라이언트에서 Discord 서버 전체를 관리하세요. 자연어를 통해 메시지, 채널, 역할, 권한, 관리, 포럼, 웹훅 등을 제어할 수 있습니다.


왜 이 서버인가요?

  • 90개 이상의 도구 — 메시지, 채널, 역할, 권한, 관리, 포럼, 웹훅, 예약된 이벤트, 초대, DM, 임베드 등

  • 멀티 길드 — 여러 서버에서 작동하며 GUILD_ID에 종속되지 않음

  • 경량 — TypeScript + Node.js, 약 25kB 패키지, 약 73MB Docker 이미지 (Java 대안의 400MB+ 대비)

  • 모듈형 — 깔끔한 아키텍처, 새로운 도구로 쉽게 확장 가능

  • 두 가지 설치 방법 — npm 또는 Docker 중 선택 가능


빠른 시작

MCP 클라이언트 설정에 다음을 추가하고 YOUR_TOKEN_HERE를 봇 토큰으로 바꾸세요:

{
  "mcpServers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@pasympa/discord-mcp"],
      "env": {
        "DISCORD_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

설치가 필요 없습니다 — npx가 모든 것을 처리합니다.

아직 봇이 없나요? Discord 봇 만들기를 참조하세요.


설정

위 설정을 claude_desktop_config.json에 추가하세요:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

저장 후 Claude Desktop을 다시 시작하세요.

claude mcp add discord -e DISCORD_TOKEN=YOUR_TOKEN_HERE -- npx -y @pasympa/discord-mcp

위 설정을 ~/.cursor/mcp.json에 추가하세요. 자세한 내용은 Cursor MCP 문서를 참조하세요.

.vscode/mcp.json에 추가하세요:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "discord-token",
      "description": "Discord Bot Token",
      "password": true
    }
  ],
  "servers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@pasympa/discord-mcp"],
      "env": {
        "DISCORD_TOKEN": "${input:discord-token}"
      }
    }
  }
}

자세한 내용은 VS Code MCP 문서를 참조하세요.

{
  "mcpServers": {
    "discord": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "DISCORD_TOKEN=YOUR_TOKEN_HERE",
        "pasympa/discord-mcp:latest"
      ]
    }
  }
}
git clone https://github.com/PaSympa/discord-mcp
cd discord-mcp
npm install && npm run build
{
  "mcpServers": {
    "discord": {
      "command": "node",
      "args": ["/absolute/path/to/discord-mcp/dist/index.js"],
      "env": {
        "DISCORD_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

MCP 설정에 토큰을 전달하는 대신 프로젝트 루트에 .env 파일을 만드세요:

DISCORD_TOKEN=YOUR_TOKEN_HERE

서버는 dotenv를 통해 .env를 자동으로 로드합니다.


Discord 봇 만들기

  1. discord.com/developers/applications로 이동합니다.

  2. New Application > 이름을 지정합니다.

  3. Bot 탭 > Reset Token > 토큰을 복사합니다.

  4. Privileged Gateway Intents를 활성화합니다:

    • Server Members Intent

    • Message Content Intent

  5. OAuth2 > URL Generator:

    • Scopes: bot

    • Permissions: Send Messages, Read Message History, Manage Channels, Manage Roles, Kick Members, Ban Members, Moderate Members, View Audit Log, Manage Messages, Manage Threads, Add Reactions, Manage Guild, Manage Webhooks, Manage Events, Create Instant Invite

  6. 생성된 URL을 복사하여 봇을 서버에 초대합니다.


사용 가능한 도구 (91)

탐색 및 이동

도구

설명

discord_list_guilds

봇이 연결된 모든 서버 나열

discord_get_guild_info

상세 길드 정보 가져오기 (이름, 멤버, 채널, 역할, 부스트)

discord_list_channels

카테고리별로 그룹화된 길드의 모든 채널 나열

discord_find_channel_by_name

이름으로 채널 찾기 (부분 일치)

메시지 (18개 도구)

도구

설명

discord_read_messages

텍스트 채널에서 최근 N개의 메시지 읽기

discord_send_message

일반 텍스트 메시지 보내기

discord_reply_message

특정 메시지에 답장하기

discord_edit_message

봇이 보낸 메시지 수정하기

discord_delete_message

특정 메시지 삭제하기

discord_add_reaction

메시지에 반응 이모지 추가하기

discord_remove_reactions

반응 제거 (전체, 이모지별 또는 사용자별)

discord_get_reactions

특정 이모지로 반응한 사용자 나열

discord_create_thread

메시지에서 또는 독립적으로 스레드 생성

discord_bulk_delete_messages

여러 메시지를 한 번에 삭제 (2-100개)

discord_send_embed

모든 옵션을 포함한 리치 임베드 보내기

discord_edit_embed

봇이 이전에 보낸 임베드 수정하기

discord_send_multiple_embeds

한 메시지에 최대 10개의 임베드 보내기

discord_pin_message

메시지 고정 또는 고정 해제

discord_fetch_pinned_messages

채널의 모든 고정된 메시지 나열

discord_search_messages

키워드로 메시지 검색 (최근 100개)

discord_crosspost_message

공지 채널 팔로워에게 메시지 게시

discord_forward_message

다른 채널로 메시지 전달

채널 (8개 도구)

도구

설명

discord_create_channel

텍스트, 음성 채널 또는 카테고리 생성

discord_delete_channel

채널 삭제

discord_edit_channel

이름, 주제, 슬로우모드, NSFW 플래그 수정

discord_move_channel

채널을 카테고리로 이동/제거

discord_clone_channel

권한을 포함하여 채널 복제

discord_set_channel_position

카테고리 내 표시 위치 설정

discord_follow_announcement_channel

공지 채널 팔로우

discord_lock_channel_permissions

상위 카테고리와 권한 동기화

채널 권한 (6개 도구)

도구

설명

discord_get_channel_permissions

채널의 모든 권한 덮어쓰기 나열

discord_set_role_permission

채널에서 역할에 대한 권한 허용/거부

discord_set_member_permission

채널에서 멤버에 대한 권한 허용/거부

discord_reset_channel_permissions

모든 덮어쓰기 제거 (상속으로 재설정)

discord_copy_permissions

한 채널에서 다른 채널로 덮어쓰기 복사

discord_audit_permissions

모든 채널에 대한 전체 권한 감사

멤버 (11개 도구)

도구

설명

discord_list_members

역할과 함께 길드 멤버 나열

discord_get_member_info

상세 멤버 정보 (역할, 권한, 가입일)

discord_search_members

사용자 이름 또는 별명으로 멤버 검색

discord_set_nickname

멤버의 별명 설정 또는 삭제

discord_kick_member

멤버 추방

discord_ban_member

멤버 차단 (선택적으로 최근 메시지 삭제)

discord_unban_member

사용자 차단 해제

discord_bulk_ban

여러 사용자를 한 번에 차단 (레이드 방지)

discord_list_bans

차단된 모든 사용자 나열

discord_timeout_member

멤버 타임아웃 (0은 제거)

discord_prune_members

비활성 멤버 제거 (드라이 런 포함)

역할 (9개 도구)

도구

설명

discord_list_roles

권한 및 멤버 수를 포함한 모든 역할 나열

discord_create_role

새 역할 생성

discord_edit_role

역할 수정 (이름, 색상, 권한, 호이스트, 언급 가능 여부)

discord_delete_role

역할 삭제

discord_add_role

멤버에게 역할 할당

discord_remove_role

멤버에게서 역할 제거

discord_get_role_members

특정 역할을 가진 모든 멤버 나열

discord_set_role_position

계층 구조에서 역할 위치 변경

discord_set_role_icon

역할에 사용자 지정 아이콘 또는 유니코드 이모지 설정

포럼 (10개 도구)

도구

설명

discord_get_forum_channels

길드의 모든 포럼 채널 나열

discord_create_forum_channel

새 포럼 채널 생성

discord_create_forum_post

포럼에 게시물/스레드 생성

discord_get_forum_post

게시물 세부 정보 및 메시지 가져오기

discord_list_forum_threads

스레드 나열 (활성 + 보관됨)

discord_reply_to_forum

포럼 게시물에 답장

discord_delete_forum_post

포럼 스레드 삭제

discord_get_forum_tags

사용 가능한 태그 가져오기

discord_set_forum_tags

포럼 태그 설정/업데이트

discord_update_forum_post

제목, 보관, 잠금, 태그 업데이트

웹훅 (8개 도구)

도구

설명

discord_create_webhook

채널에 웹훅 생성

discord_send_webhook_message

웹훅을 통해 보내기 (사용자 지정 이름/아바타, 임베드)

discord_edit_webhook

웹훅의 이름, 아바타 또는 채널 수정

discord_delete_webhook

웹훅 삭제

discord_list_webhooks

채널 또는 길드의 웹훅 나열

discord_edit_webhook_message

웹훅이 보낸 메시지 수정

discord_delete_webhook_message

웹훅이 보낸 메시지 삭제

discord_fetch_webhook_message

특정 웹훅 메시지 가져오기

예약된 이벤트 (7개 도구)

도구

설명

discord_list_scheduled_events

길드의 모든 예약된 이벤트 나열

discord_get_scheduled_event

예약된 이벤트에 대한 상세 정보 가져오기

discord_create_scheduled_event

음성, 스테이지 또는 외부 이벤트 생성

discord_edit_scheduled_event

기존 예약된 이벤트 수정

discord_delete_scheduled_event

예약된 이벤트 삭제

discord_get_event_subscribers

"관심 있음"으로 표시한 사용자 가져오기

discord_create_event_invite

이벤트에 연결된 초대 생성

다이렉트 메시지

도구

설명

discord_send_dm

사용자 ID로 사용자에게 다이렉트 메시지 보내기

초대 (5개 도구)

도구

설명

discord_list_invites

길드의 모든 활성 초대 나열

discord_list_channel_invites

특정 채널에 대한 초대 나열

discord_get_invite

코드로 초대 세부 정보 가져오기

discord_create_invite

채널에 대한 초대 링크 생성

discord_delete_invite

초대 취소

관리 및 심사

도구

설명

discord_get_audit_log

길드 감사 로그 가져오기

discord_get_membership_screening

멤버십 심사 양식 가져오기

discord_update_membership_screening

새 멤버에 대한 심사 규칙 업데이트

통계

도구

설명

discord_get_server_stats

서버 통계: 멤버, 채널, 역할, 부스트 레벨


사용 예시

"List all servers the bot is in"
"Read the last 10 messages in #general"
"Send 'Hello everyone!' to the announcements channel"
"Create a forum channel called 'feedback' with tags Bug, Feature, Question"
"Show the full permission audit for the server"
"Create a webhook on #notifications and send a test message"
"Ban user 112233445566 and delete their messages from the last 3 days"
"Create an event called 'Game Night' for next Friday at 8pm"
"List all upcoming events in the server"
"Create a permanent invite for #general"
"List all active invites and delete expired ones"
"Send a DM to user 112233445566 saying 'Your build passed!'"
"Search for members named 'john'"
"List all banned users in the server"
"Show all pinned messages in #general"
"Forward that message to #announcements"

Discord ID 찾기

Discord에서 개발자 모드를 활성화하세요: 설정 > 고급 > 개발자 모드

그런 다음 서버, 채널 또는 사용자를 마우스 오른쪽 버튼으로 클릭 > ID 복사를 선택하세요.


프로젝트 구조

discord-mcp/
├── src/
│   ├── index.ts             ← Entry point (MCP server + transport)
│   ├── client.ts            ← Discord client + shared helpers
│   ├── constants.ts         ← Shared constants (limits, defaults)
│   └── tools/
│       ├── index.ts         ← Tool registry
│       ├── types.ts         ← Shared TypeScript interfaces
│       ├── discovery.ts     ← Guild/channel discovery
│       ├── messages.ts      ← Message CRUD, reactions, threads, embeds
│       ├── channels.ts      ← Channel management
│       ├── permissions.ts   ← Permission overwrites
│       ├── members.ts       ← Member management
│       ├── roles.ts         ← Role CRUD and assignment
│       ├── moderation.ts    ← Audit log
│       ├── screening.ts     ← Membership screening
│       ├── stats.ts         ← Server statistics
│       ├── forums.ts        ← Forum channels, posts, tags
│       ├── webhooks.ts      ← Webhook management
│       ├── scheduledEvents.ts ← Scheduled events
│       ├── invites.ts        ← Invite management
│       └── dm.ts             ← Direct messages
├── .github/workflows/       ← CI/CD (build check + auto release)
├── Dockerfile
├── .dockerignore
├── .env.example
├── package.json
├── tsconfig.json
├── CHANGELOG.md
├── CONTRIBUTING.md
├── SECURITY.md
└── README.md

새로운 도구 추가하기

  1. src/tools/에 새 파일 생성 (예: events.ts)

  2. definitions (도구 스키마) 및 handle() (도구 로직) 내보내기

  3. src/tools/index.tsmodules 배열에 가져와서 추가하기


보안

  • Discord 토큰을 Git에 커밋하지 마세요

  • 환경 변수나 .env 파일(버전 관리 제외)을 사용하세요

  • 봇에게 필요한 권한만 부여하세요


기여하기

기여를 환영합니다!

  1. 저장소를 포크하세요

  2. 기능 브랜치 생성 (git checkout -b feature/my-feature)

  3. 모듈형 구조를 따르세요 — 새로운 도구 추가하기 참조

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/PaSympa/discord-mcp'

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