Discord MCP Server

by v-3
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Enables interaction with Discord channels, allowing for sending messages and reading recent message history through Discord's API.

Discord MCP 서버

LLM이 Discord 채널과 상호작용하여 Discord API를 통해 메시지를 주고받을 수 있도록 하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버를 사용하면 Claude와 같은 LLM은 사용자 제어 및 보안을 유지하면서 Discord 채널과 직접 상호작용할 수 있습니다.

특징

  • Discord 채널에 메시지 보내기
  • 채널의 최근 메시지 읽기
  • 자동 서버 및 채널 검색
  • 채널 이름과 ID 모두 지원
  • 적절한 오류 처리 및 검증

필수 조건

  • Node.js 16.x 이상
  • Discord 봇 토큰
  • 봇은 적절한 권한을 가지고 서버에 초대되어야 합니다.
    • 메시지 읽기/채널 보기
    • 메시지 보내기
    • 메시지 기록 읽기

설정

  1. 이 저장소를 복제하세요:

지엑스피1

  1. 종속성 설치:
npm install
  1. Discord 봇 토큰을 사용하여 루트 디렉토리에 .env 파일을 만듭니다.
DISCORD_TOKEN=your_discord_bot_token_here
  1. 서버를 빌드하세요:
npm run build

Claude for Desktop 사용

  1. Claude for Desktop 구성 파일을 엽니다.
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Discord MCP 서버 구성을 추가합니다.
{ "mcpServers": { "discord": { "command": "node", "args": ["path/to/discordmcp/build/index.js"], "env": { "DISCORD_TOKEN": "your_discord_bot_token_here" } } } }
  1. 데스크톱용 Claude를 다시 시작하세요

사용 가능한 도구

메시지 보내기

지정된 Discord 채널로 메시지를 보냅니다.

매개변수:

  • server (선택 사항): 서버 이름 또는 ID(봇이 여러 서버에 있는 경우 필수)
  • channel : 채널 이름(예: "일반") 또는 ID
  • message : 보낼 메시지 내용

예:

{ "channel": "general", "message": "Hello from MCP!" }

읽은 메시지

지정된 Discord 채널의 최근 메시지를 읽습니다.

매개변수:

  • server (선택 사항): 서버 이름 또는 ID(봇이 여러 서버에 있는 경우 필수)
  • channel : 채널 이름(예: "일반") 또는 ID
  • limit (선택 사항): 가져올 메시지 수(기본값: 50, 최대값: 100)

예:

{ "channel": "general", "limit": 10 }

개발

  1. 개발 종속성 설치:
npm install --save-dev typescript @types/node
  1. 개발 모드로 서버를 시작합니다.
npm run dev

테스트

MCP Inspector를 사용하여 서버를 테스트할 수 있습니다.

npx @modelcontextprotocol/inspector node build/index.js

예시

Discord MCP 서버를 설정한 후 Claude와 시도해 볼 수 있는 몇 가지 상호작용 예시는 다음과 같습니다.

  1. "일반 채널의 마지막 5개 메시지를 읽을 수 있나요?"
  2. "회의가 10분 후에 시작됩니다"라는 메시지를 공지 채널로 보내주세요.
  3. "개발 채널에서 최신 릴리스에 대한 가장 최근의 메시지는 무엇이었나요?"

클로드는 메시지를 보내기 전에 귀하의 승인을 요청하면서 Discord와 상호 작용하기 위해 적절한 도구를 사용합니다.

보안 고려 사항

  • 봇이 작동하려면 적절한 Discord 권한이 필요합니다.
  • 모든 메시지 전송 작업에는 명시적인 사용자 승인이 필요합니다.
  • 환경 변수는 적절하게 보호되어야 합니다.
  • 토큰은 버전 제어에 커밋되어서는 안 됩니다.
  • 채널 액세스는 봇에 액세스 권한이 부여된 채널로 제한됩니다.

기여하다

  1. 저장소를 포크하세요
  2. 기능 브랜치를 생성합니다( git checkout -b feature/amazing-feature )
  3. 변경 사항을 커밋하세요( git commit -m 'Add some amazing feature' )
  4. 브랜치에 푸시( git push origin feature/amazing-feature )
  5. 풀 리퀘스트 열기

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

지원하다

문제가 발생하거나 질문이 있는 경우:

  1. GitHub 문제 섹션을 확인하세요
  2. https://modelcontextprotocol.io 에서 MCP 설명서를 참조하세요.
  3. 자세한 재생산 단계를 담은 새로운 이슈를 열어보세요
-
security - not tested
F
license - not found
-
quality - not tested

Discord API를 통해 메시지를 보내고 읽어서 LLM이 Discord 채널과 상호 작용할 수 있도록 하며, 사용자 제어와 보안을 유지하는 데 중점을 둡니다.

  1. Features
    1. Prerequisites
      1. Setup
        1. Usage with Claude for Desktop
          1. Available Tools
            1. send-message
            2. read-messages
          2. Development
            1. Testing
              1. Examples
                1. Security Considerations
                  1. Contributing
                    1. License
                      1. Support
                        ID: ppamx796eb