Skip to main content
Glama
j-256

Discord MCP

by j-256

Discord MCP

Discord MCP는 운영자가 소유한 봇을 통해 안전한 Discord 길드(guild) 및 별도로 허용 목록에 등록된 일대일 접근을 제공하는 로컬 stdio Model Context Protocol 서버입니다. 광범위한 유형 커버리지, 정확한 범위 지정, 개인정보 최소화 결과, 검토된 쓰기, 콘텐츠 없는 증거, 명시적 모호성 처리를 결합합니다.

최소 권한. 변경 전 검토. 검증 가능한 결과. Discord 콘텐츠 비보존.

빠른 시작 | 기능 지도 | 안전 모델 | 신뢰 및 검증 | 전체 참조 | 보안

이 커넥터가 필요한 이유

우려 영역

강제 동작

Discord 접근 범위

검증된 애플리케이션 및 봇 ID, 정확한 길드 및 채널 범위, 별도의 정확한 사용자 개인 메시지 범위, 위험 분리된 도구 집합, 읽기 전용 설정 프리셋을 포함하는 단일 엄격한 비밀 미포함 정책 파일

정확한 대상 지정

정식 Discord 점프 링크와 공식 타입 지정 멘션은 이름 조회, Discord 연락, 입력 에코, 보존, 후속 권한 없이 로컬에서 정확한 ID로 변환합니다

읽기 안전

제한된 요청, 무손실 전체 결과 바이트 예산, 엄격한 응답 검증, 개인정보 계층별 프로젝션, 신뢰할 수 없는 콘텐츠 처리, 비공개 채널 탐색 또는 범위 상속 없음

쓰기 안전

정확한 ID 요청, 키가 지정된 새 계획, 서명된 대화형 승인, 최종 새 계획 일치, 작업별 Discord 권한 증명

결과 무결성

보류 중인 콘텐츠 없는 증거, 재시도되지 않는 쓰기, 정확한 재판독, 내구성 있는 조정, 모호성 격리, 제한된 로컬 무효 요청 부하

개인정보 보호

토큰은 호출자가 소유한 비밀 소스에 유지됩니다. Discord 콘텐츠, 프로필, URL, 감사 사유, 원시 작업 키는 보존되지 않습니다

계획 검토

모든 계획 도구는 전체 텍스트와 구조화된 증거를 반환하며 MCP Apps 호스트에서 표시 전용, 권한 없는 검토를 추가할 수 있습니다

릴리스 무결성

정확한 종속성 및 베이스 이미지 고정, 자격 증명 없는 계약 지문, 재현 가능한 패키지 및 강화된 OCI 검사, SPDX SBOM, 서명된 릴리스 자동화

전체 참조는 모든 도구 계열, 정책 게이트, 권한 경계, 개인정보 계층, 리소스, 프롬프트, Gateway 모드, 운영자 명령, 알려진 제한 사항을 문서화합니다.

Related MCP server: Discord MCP Server

빠른 시작

요구 사항:

  • Node.js 22 이상

  • 봇 사용자가 있는 Discord 애플리케이션

  • 단일 엄격한 비밀 미포함 JSON 정책 파일

  • 환경 변수 또는 보호된 파일을 통해 사용할 수 있는 봇 토큰

  • 선택한 읽기 또는 검토 후 쓰기 범위에 필요한 Discord 권한만

각 배포는 해당 운영자가 제어하는 Discord 애플리케이션과 봇을 사용합니다. Discord MCP는 공유 봇, 호스팅 릴레이 또는 공유 토큰을 제공하지 않습니다. 직접 애플리케이션을 만들고, 그 봇을 운영자가 제어하는 길드에만 초대하고, 자격 증명을 로컬 런처 또는 비밀 저장소에 보관하세요.

봇에 Administrator를 부여하지 마세요. 읽기 전용 프리셋에서 정확한 초기 권한 부여를 생성한 다음, 카테고리 또는 채널 재정의로 설치된 봇 역할을 좁히세요. 봇 설정 가이드는 봇 소유권, 선택적 intents, 이후 기능별 권한을 설명합니다.

연결 전에 검사

정확한 게시 버전의 경우, 토큰이나 Discord 요청 없이 실제 프로덕션 계약과 권장 읽기 전용 프리셋을 검사하세요:

npx --yes @j-256/discord-mcp@0.1.1 catalog --check
npx --yes @j-256/discord-mcp@0.1.1 catalog --html ./discord-mcp-contract.html
npx --yes @j-256/discord-mcp@0.1.1 preset show server-observer

catalog --check는 자격 증명이 없고 실행이 비활성화된 MCP 서버를 시작하고, 실제 도구, 프롬프트, 리소스, 템플릿, 완성(completion) 기능, 선택적 계획 검토 MCP App을 협상하며, 반환 식별자가 없음을 확인하며 모든 정책 완성 경로를 검증하고, 앱의 정확한 HTML과 권한 경계를 지문화하고, 모든 도구 호출이 카탈로그 전용 가드에 의해 차단되는지 검증합니다.

catalog --html FILE은 동일하게 협상된 계약에 대한 결정적(deterministic) 독립 실행형 탐색기를 작성합니다. 로컬에서 열어 모든 도구를 검색하고 필터링하고, 정확한 입력 및 출력 스키마를 검사하고, 프롬프트, 리소스, 정책 완성 경로, 전체 계획 검토 앱 소스를 검토하고, 포함된 계약, 안전, 앱 다이제스트를 비교하세요. 내보내기에는 자격 증명 또는 식별자 완성 값이 없고, 외부 자산을 사용하지 않으며, 네트워크 요청을 하지 않고, 기존 파일을 대체하지 않습니다.

정확한 릴리스 이미지는 토큰 없이 동일한 안전한 카탈로그를 노출하며, 운영 서비스 대신 카탈로그 모드를 기본값으로 사용합니다:

docker run --rm -i \
  --network=none \
  --read-only \
  --cap-drop=ALL \
  --security-opt=no-new-privileges:true \
  --pids-limit=64 \
  ghcr.io/j-256/discord-mcp:0.1.1 catalog --check

운영자가 관리하는 봇 설치

Developer Portal에서 Discord 애플리케이션과 봇을 만들고, 공개 Application ID와 대상 Server ID를 복사한 후, 권장 프리셋에서 길드와 최소 권한 권한 부여가 파생되는 콜백 없는 설치 링크를 생성하세요:

npx --yes @j-256/discord-mcp@0.1.1 preset install server-observer \
  --application-id YOUR_APPLICATION_ID \
  --guild-id YOUR_GUILD_ID \
  --html ./discord-mcp-onboarding.html

해당 서버를 관리할 수 있는 권한이 있는 멤버로 로그인한 상태에서 인쇄된 URL을 여세요. server-observer에 대해 View Channel만 요청하고, 서버 선택기를 제공된 ID로 고정하며, 사용자 토큰을 요청하지 않고, 봇 토큰을 커넥터 명령에 절대 보내지 않습니다. 다른 사람이 애플리케이션을 설치할 수 있어야 하는 경우가 아니면 Public Bot을 비활성화 상태로 유지하세요. View ChannelRead Message History를 요청하려면 대신 channel-reader를 사용하세요. 그 계획은 또한 Message Content를 권장 Developer Portal intent로 식별합니다.

선택적 --html FILE 출력은 정확히 검증된 설치 계획에서 파생된 결정적 독립 실행형 가이드입니다. 토큰을 수락하거나, 외부 자산을 로드하거나, 백그라운드 요청을 하거나, 브라우저 상태를 저장하거나, 브라우저를 열거나, 기존 파일을 대체하지 않으면서 메모리 내 체크리스트, 비밀 없는 복사 컨트롤, 명시적 Discord 설치 탐색, 엄격한 정책 명령, 정확한 계획 증거를 제공합니다. HTML이 필요하지 않은 경우 터미널 계획은 완전하게 유지됩니다.

가장 안전한 최초 구성 생성

토큰을 비밀 지원 실행 환경에 보관하고, 정확한 길드 하나를 검증하고, 완전한 비밀 미포함 정책을 파일 하나에 저장하고, 전체 MCP 경로를 테스트하세요:

export DISCORD_BOT_TOKEN="YOUR_DISCORD_BOT_TOKEN"
npx --yes @j-256/discord-mcp@0.1.1 setup \
  --config ./discord-mcp.json \
  --preset server-observer \
  --guild-id YOUR_GUILD_ID
npx --yes @j-256/discord-mcp@0.1.1 config validate ./discord-mcp.json
npx --yes @j-256/discord-mcp@0.1.1 doctor --config ./discord-mcp.json --online
npx --yes @j-256/discord-mcp@0.1.1 smoke --config ./discord-mcp.json

PowerShell에서는 동일한 명령을 실행하기 전에 현재 프로세스에 토큰을 설정하세요:

$env:DISCORD_BOT_TOKEN = "YOUR_DISCORD_BOT_TOKEN"

런처, 컨테이너 런타임 또는 오케스트레이터가 토큰을 파일로 마운트하는 경우 해당 입력을 대신 선택하세요. 경로는 절대 경로여야 하고, 검증된 설정을 위해 파일이 이미 존재해야 하며, --token-file--token-env 또는 주변의 DISCORD_BOT_TOKEN과 결합할 수 없습니다:

npx --yes @j-256/discord-mcp@0.1.1 setup \
  --config ./discord-mcp.json \
  --preset server-observer \
  --guild-id YOUR_GUILD_ID \
  --token-file /run/secrets/discord_bot_token

server-observer 프리셋은 길드 메타데이터, 역할, 권한 진단, 커넥터 상태, 콘텐츠 없는 활동, 도구 검색을 노출합니다. 쓰기, Gateway, telemetry 내보내기, 활동 보존 또는 Message Content 액세스를 활성화할 수 없습니다. 설정은 토큰 값이 아닌 자격 증명 참조와 검증된 공용 ID를 저장하고, 호환되는 MCP 클라이언트를 위한 이식 가능한 stdio 실행 설명자를 출력합니다. route_discord_goal은 프롬프트 지원 클라이언트에 하나의 안전한 진입점을 제공합니다: 표준 카탈로그 검색, 제한된 읽기, 그리고 쓰기의 경우 기껏해야 검토된 계획뿐이며 절대 변경(mutation)은 없습니다.

버전이 지정된 파일이 유일한 정책 경계입니다. 신원, 읽기 범위, 도구, 기능, 기능 범위, 제한, 로컬 저장 경로, Gateway 동작, 런타임 설정, 프라이버시 안전 관측성을 다룹니다. 일반적인 배포에는 두 개의 입력이 있습니다: JSON 정책 파일 하나와 외부 봇 토큰 비밀 하나. 봇 토큰은 환경 변수 또는 엄격히 검증된 파일을 통해 참조될 수 있습니다. 선택적 인증 수집기 헤더는 환경 참조로 유지됩니다. 체크인된 JSON Schema는 편집기 검증을 지원하며, config showconfig explain은 비밀 없는 검사를 제공합니다. 사용자별 개인 저장이 선호되는 경우 관리형 프로필이 동일한 문서를 사용합니다.

limits.mcpReadResponseMaxBytes는 압축된 UTF-8 JSON 바이트 기준으로 하나의 완전한 비식별 처리된(redacted) MCP 애플리케이션 읽기 결과를 제한합니다. 기본값은 1 MiB이며 64 KiB에서 8 MiB까지 허용합니다. 크기가 초과된 도구 읽기는 고정된 콘텐츠 없는 response-too-large 오류를 반환하고, 크기가 초과된 리소스 또는 프롬프트는 고정된 프로토콜 오류로 실패합니다. 커넥터는 구조화된 JSON을 잘라내거나, 미리보기를 내보내거나, 보류된 데이터를 누출하거나, 측정된 크기를 보고하지 않습니다. Discord가 이미 변경되었을 수 있으므로 변경 가능한 도구의 최종 결과는 항상 보존됩니다. 프로토콜 발견 및 알림은 이 결과 경계 밖에 있습니다. 도구 집합과 점진적 발견을 사용하여 카탈로그 크기를 제어하세요.

자격 증명 인증 Incoming-webhook 메시지는 기존의 표준 프로세스 소유 0700 디렉터리인 storage.webhookCredentialRoot을 사용합니다. 커넥터가 생성한 자격 증명은 별도로 게이트된 정확한 조회, 제한된 일반 텍스트 전달, 편집, 검토 후 삭제를 통해 사용할 수 있으며, 독점 0600 파일과 내구성 있는 디렉터리 동기화를 사용합니다. MCP는 자격 증명, 실행 URL, 경로, 신원 재정의, 스레드 대상, 리치 페이로드, 파일, 컴포넌트, 폴링 또는 원시 웹훅 페이로드를 수락하지 않습니다. scopes.webhookMessageChannelIds에서 직접 텍스트 또는 공지 채널을 허용 목록에 추가한 다음, 필요한 웹훅 메시지 기능만 활성화하세요.

운영 명령에는 --config FILE, --profile NAME 또는 비밀 미포함 DISCORD_MCP_CONFIG_FILE 선택자가 필요합니다. 환경 정책 변수는 거부되며 대체 환경 정책 또는 마이그레이션 모드는 없습니다. 프리셋 없이 setup을 실행하면 기존 정책을 다시 쓰지 않고 검증하며, 프리셋은 선택한 대상을 명시적으로 생성하거나 교체합니다.

오프라인 doctor는 비밀이 마운트되기 전이나 참조된 파일을 사용할 수 없을 때 유용합니다. 자격 증명 가용성을 별도의 실패로 보고하면서 엄격한 정책, 신원 고정, 범위, 도구 노출 범위, 유효 읽기 응답 예산, 안전 게이트 검증을 계속합니다. doctor --online은 실제 선택된 자격 증명을 사용할 수 있을 때만 Discord에 연락합니다.

정책 교체 검토

별도의 후보를 편집하는 동안 활성 정책을 변경하지 않은 상태로 유지한 다음, 정확히 새로운 계획만 검토하고 적용하세요:

npx --yes @j-256/discord-mcp@0.1.1 config workbench \
  ./discord-mcp.json \
  --html ./discord-mcp-workbench.html
npx --yes @j-256/discord-mcp@0.1.1 config plan \
  ./discord-mcp.json \
  ./discord-mcp.candidate.json
npx --yes @j-256/discord-mcp@0.1.1 config apply \
  ./discord-mcp.json \
  ./discord-mcp.candidate.json \
  --plan-digest SHA256_FROM_THE_PLAN \
  --confirm ACTIVE_POLICY_NAME

선택적 워크벤치는 활성 schema-v2 문서를 검증한 다음 독점적인 프라이빗 독립 실행형 편집기를 작성합니다. 공개 Discord ID, 로컬 경로, 외부 비밀 참조 이름을 포함한 완전한 비밀 미포함 정책을 내장하므로 HTML을 비공개로 취급하세요. 편집 내용은 명시적 후보 다운로드 전까지 브라우저 메모리에 유지됩니다. 페이지에는 비밀 필드, 네트워크 또는 외부 탐색 권한, 브라우저 영속성, Discord 액세스, 활성 파일 쓰기 또는 승인 권한이 없으며 브라우저를 자동으로 열지 않습니다. 로컬 검사와 예비 영향 라벨은 참고용일 뿐입니다.

계획(Planning)은 계속해서 권위 있는 원본으로 남는다. 두 개의 보호된 비밀 아닌 문서를 읽고, 모든 정확한 필드 변경, 그 권한 또는 운영 영향, 공식 도구 추가 및 제거, 경고, 두 문서 다이제스트, 전체 후보, 그리고 구조화된 적용 후 검사를 보고한다. 참조된 비밀을 절대 해석하지 않으며 Discord에 연락하지 않는다. 적용은 두 파일을 다시 읽고, 정확한 다이제스트와 활성 정책 이름 확인을 요구하며, 정체성 드리프트 또는 두 문서 중 하나라도 오래된 경우를 거부하고, 복구 가능한 백업을 보존하며, 후보를 그대로 둔다. 활성 문서만이 유일한 정책 소스로 남는다. 레거시 환경 폴백이나 마이그레이션 계층은 없다.

Discord 요청을 하거나 해당 자격 증명을 해석하지 않고, 동일한 선택된 정책에서 최근 쓰기 결과와 지속적인 프로세스 간 클레임을 검토하십시오:

npx --yes @j-256/discord-mcp@0.1.1 activity \
  --config ./discord-mcp.json \
  --html ./discord-mcp-activity.html

범위가 제한된 검토는 각 활동 ID를 가장 최신의 현재 결과로 축약하면서, 이전 기록은 대체된 역사로 유지한다. 보류 중, 불확실, 실패, 드리프트, 잘못된 형식, 검토 필요 증거는 깨끗한 실행처럼 보이지 않고 경고 종료 상태를 생성한다. 일치하는 검토된 작업은 해당 콘텐츠 없는 작업 키 해시와 계획 다이제스트를 모두 통해서만 지속적인 클레임에 결합된다. 범위가 제한된 창에서 일치하는 항목이 없는 클레임은 명시적으로 레이블이 지정된 채 유지된다. 다이제스트는 정확히 수집된 보고서를 바인딩하며, 독립 읽기 표시는 별도의 로컬 파일이 하나의 전역 상태 잠금 아래 캡처되었음을 암시하지 않는다. 선택적인 비공개 독립 실행형 탐색기는 검색과 필터를 추가하지만, Discord에 연락하거나, 클레임을 해석하거나, 작업을 재시도하거나, 브라우저 상태를 유지하거나, 선택된 활동 파일 경로를 노출할 수 없다. 소유 프로세스를 중지하고 정확한 Discord 상태와 감사 로그를 확인한 후에만 별도의 정확 확인 coordination resolve 명령을 사용하십시오.

기능 정책은 동일한 문서 형태를 사용한다. 대량 차단, 대량 멤버 역할 변경, 길드 정리 및 기타 검토된 기능은 각각 별도의 기능, 정확한 범위, 제한된 한계, 문서화된 도구 세트를 가진다. 단일 멤버 권한은 일괄 권한을 결코 부여하지 않는다. 환경-정책 인터페이스, 레거시 별칭, 폴백 파서 또는 마이그레이션 계층은 존재하지 않는다.

제한된 메시지 기록과 네이티브 검색이 필요할 때만 channel-reader를 사용하십시오. 정확한 채널이 하나 이상 필요하다:

npx --yes @j-256/discord-mcp@0.1.1 setup \
  --config ./discord-reader.json \
  --preset channel-reader \
  --guild-id YOUR_GUILD_ID \
  --channel-id YOUR_CHANNEL_ID

검토를 통해 정책 확장하기

첫 설정은 읽기 전용으로 유지하고, 쓰기 워크플로가 필요할 때 추가형 레시피를 계획하십시오. guild-builder는 목표 또는 청사진을 저장하지 않고 길드 구조, 프로필, 설정, Community, Welcome Screen, 온보딩, 단계적 AutoMod, 정적 게시물을 위한 모델 중립적이고 호출자가 유지하는 작성(authoring)과 2단계 캡처를 추가한다. 해당 설정, Community, 온보딩 증거는 이벤트 피드를 변경하지 않고 비특권 GUILDS 전용 레이아웃 증거 연결을 사용한다. incident-response는 Gateway나 특권 인텐트 없이 개인정보 최소화된 인시던트 감사와 검토된 시간 제한 잠금 변경을 추가한다. channel-publisher는 제한된 텍스트, 정적 Components V2, 원격 없는 리치 임베드 게시를 추가하고 필요한 Message Content 인텐트를 보고한다. direct-messenger는 정확한 사용자 읽기와 검토된 텍스트 및 정적 Components V2 전송, 동일 형식 편집, 삭제를 추가한다. 선택적인 비공개 파일 전송에는 별도의 기능과 소유된 첨부 파일 루트가 필요하다. 레시피는 이를 부여하지 않는다. 비공개 메시징은 길드 권한, 특권 인텐트, Gateway 피드, 그룹 DM, 수신자 검색, 원격 파일 가져오기, 인터랙티브 콜백 또는 즉시 쓰기 경로를 추가하지 않는다.

npx --yes @j-256/discord-mcp@0.1.1 recipe list
npx --yes @j-256/discord-mcp@0.1.1 recipe plan guild-builder ./discord-mcp.json \
  --guild-id YOUR_GUILD_ID
npx --yes @j-256/discord-mcp@0.1.1 recipe apply guild-builder ./discord-mcp.json \
  --guild-id YOUR_GUILD_ID \
  --plan-digest SHA256_FROM_THE_PLAN \
  --confirm guild-builder
npx --yes @j-256/discord-mcp@0.1.1 recipe plan direct-messenger ./discord-mcp.json \
  --user-id EXPECTED_RECIPIENT_USER_ID
npx --yes @j-256/discord-mcp@0.1.1 recipe apply direct-messenger ./discord-mcp.json \
  --user-id EXPECTED_RECIPIENT_USER_ID \
  --plan-digest SHA256_FROM_THE_PLAN \
  --confirm direct-messenger

계획은 비밀을 해석하거나 Discord에 연락하지 않고 완전한 제안된 비밀 아닌 문서, 정확한 필드 변경, 권한, 인텐트, 위험, 경고, 경로에 바인딩된 다이제스트를 출력한다. 적용은 그 계획을 다시 계산하고, 정확한 다이제스트와 레시피 이름 확인을 요구하며, 동시 소스 변경을 거부하고, 복구 가능한 백업을 보존하며, 그 자체로는 여전히 Discord 권한을 부여하지 않는다. 적용 후 출력된 오프라인 검증, 온라인 닥터, 스모크 검사를 실행하십시오. 레시피는 정책만 추가한다. 기존 기능, 범위 또는 도구 세트를 절대 제거하지 않는다.

온라인 닥터는 정체성, 제한된 길드 구성원 자격, 애플리케이션 상태를 확인한다. 스모크는 실제 serve 엔트리포인트를 통해 선택된 정책을 시작하고, stdio를 통한 안정적인 MCP를 협상하며, 카탈로그, 주석, 읽기 전용 상태를 검증하고, Discord에 아무것도 쓰지 않는다. 구성된 선택적 런타임은 자식과 함께 시작하고 중지된다. 운영자 참조를 참조하십시오.

소스에서 빌드

git clone https://github.com/j-256/discord-mcp.git
cd discord-mcp
npm run deps:locked
npm run build
node dist/cli.js catalog --check

정확한 설치, 운영자 CLI, 구성 참조는 독립 실행형 구성, 관리 프로필, OCI 바인드 마운트, 점진적 발견, 도구 세트, 허용 목록, 선택적 Gateway 모드, 관찰 가능성, 그리고 모든 독립적으로 게이트된 기능을 다룬다.

기능 맵

영역

선택된 기능

발견 및 읽기

점프 링크 및 입력된 멘션의 로컬 정확 ID 변환, 길드, 채널, 허용 목록에 등록된 정확한 1:1 비공개 메시지, 음성 지역 및 일시적 채널 상태, 역할, 유효 권한, 멤버 안전 감사, 메시지 기록, 검색, 개인정보 안전 집계 활동, 스레드, 포럼, 투표, 반응, 감사 기록, 통합, 초대, 템플릿, 길드 및 애플리케이션 소유 이모지, 스티커, 사운드보드, 이벤트, Stage 인스턴스, 온보딩, Welcome Screen, 프로필, 설정, Community 라우팅, 인시던트 작업, 채널 웹훅

메시지 및 커뮤니티

멱등적인 길드 봇 전송 및 편집, 검토된 정확 수신자 비공개 메시지 일반 텍스트 또는 정적 Components V2 전송, 답장, 동일 형식 편집, 삭제 및 수신 확인, 비공개 자격 증명을 가진 Incoming-webhook 메시지 조회, 일반 텍스트 전달, 정확한 편집 및 검토된 삭제, 정확한 핀, 반응, 공지 크로스포스트 및 구독, 불변 전달, 첨부 파일, 검토 및 재시작 검증 가능한 정적 Components V2 및 원격 없는 리치 임베드, 포럼 게시물, 스레드 생성, 네이티브 투표, 정확한 삭제

길드 구조

모델 중립적 작성 및 호출자가 유지하는 길드 청사진으로의 2단계 캡처 - 추가 구조, 프로필, 설정, 단조 Community, 완전한 Welcome Screen 및 온보딩, 단계적 AutoMod, 순서가 있는 재시작 검증 가능한 정적 Components V2 게시물; 추가 채널 및 역할; 검토된 정확 채널 및 표준 역할 폐기; 재개 가능한 스캐폴드; 원자적 채널 복제; 상대적 채널 및 역할 순서; 부스트 인식 음성 및 Stage 채널 메타데이터; 연결에 민감한 음성 채널 상태 변경; 권한 덮어쓰기; 포럼 태그; 검토된 로컬 또는 유니코드 아이콘이 있는 정확한 역할 구성

멤버 및 중재

개인정보 최소화된 멤버 및 차단 읽기; 정확한 닉네임, 명명된 Membership Screening 우회, 역할, 음성, 스레드 멤버십, 추방, 차단, 차단 해제, 타임아웃 워크플로; 대상별 증거, 체크포인트, 승인된 재개가 있는 검토된 정확 역할 일괄 처리; 완전한 대상 집합 증거와 대상별 읽기 반환이 있는 검토된 네이티브 대량 차단; 보호된 정체성 역할 보호막과 개수 전용 결과만 있는 제한된 비정확 길드 정리

Community 구성

애플리케이션 명령, 연결된 역할, SKU, 수혜자 자격, 구독 감사; 테스트 부여 및 소모성 소비; 검토된 길드 및 전역 명령 수명 주기; 네이티브 명령 관리; 검토된 애플리케이션 스키마 및 인텐트 변경; 검토된 Community 활성화 및 라우팅; 길드 템플릿; 통합; 유한한 역할 인식 비공개 파일 초대; 기능 안전 초대 감사 및 철회; 자격 증명 안전 웹훅 및 비공개 메시지; 온보딩; Welcome Screen; 인증된 위젯 설정; 시간 제한 인시던트 작업; 애플리케이션 소유 이모지; 길드 표현; 사운드보드; AutoMod; 예약 이벤트; Stage 수명 주기

운영

전체 또는 점진적 도구 발견, 리소스, 프롬프트, 정책 인식 정확 ID 완성, 선택적 표시 전용 MCP 검토, 엄격한 비밀 아닌 정책 파일 및 관리 프로필, 비공개 오프라인 정책 워크벤치, 결정적 읽기 전용 사전 설정, 검토 우선 추가형 정책 레시피, 개인정보 안전 애플리케이션 상태, 명령, 연결된 역할 스키마, SKU 카탈로그 및 길드 웹훅 노출 감사, 선택적 비공개 HTML이 있는 다이제스트 바인딩 콘텐츠 없는 활동 검토, 지속적인 프로세스 간 쓰기 조정, 인증된 정확 경로 희소 샤딩이 있는 선택적 개인정보 안전 Gateway 이벤트, 공유 세션 시작 사전 점검, 샤드별 아웃바운드 예산, 네이티브 Interaction 수신, 로컬 또는 W3C 기반 OpenTelemetry 진단

기능은 해당 도구 세트와 정책 게이트가 선택된 경우에만 노출된다. 도구 세트는 호출 가능한 표면을 좁히지만 Discord 또는 로컬 쓰기 권한을 절대 부여하지 않는다. 정확한 도구 참조, 리소스, 프롬프트를 살펴보십시오.

안전 모델

Discord 권한이 외부 경계이다. 커넥터 정책은 그 권한을 더욱 좁힌다.

  • 프로덕션 트래픽은 고정된 Discord REST 및 검증된 Gateway 출처를 사용하며, 런타임 구성은 자격 증명을 리디렉션할 수 없습니다.

  • 각 Gateway 샤드는 모든 성공적인 아웃바운드 이벤트를 하나의 롤링 연결 예산으로 계산하여 호출자 명령 압력을 예약된 수명주기 용량 아래로 제한하고, 모든 연결 경계에서 대기 중인 정확한 ID 요청을 폐기합니다.

  • 정확한 길드, 채널, 역할, 멤버 및 기능 허용 목록이 각 표면을 독립적으로 제한합니다.

  • 모든 길드 도구는 직접 및 그룹 직접 채널을 거부합니다. 전용 비공개 메시지 도구는 대신 독립적인 정확한 일반 사용자 허용 목록과 호출자가 알고 있는 일대일 채널 ID를 요구하며, 일반 텍스트 또는 제한된 정적 Components V2만 지원하고, 모든 멘션을 억제하며, 고정된 안티스팸 제한을 사용하고, 검색, 대량 타겟팅, 대화형 구성 요소, 임의의 임베드 URL 또는 Gateway 피드를 제공하지 않습니다.

  • Discord 이름, 메시지, 임베드, 구성 요소, 파일 이름, URL 및 기타 원격 텍스트는 지침이 아닌 신뢰할 수 없는 데이터로 취급됩니다.

  • Discord 콘텐츠는 명시적으로 요청된 경우 일시적으로 반환될 수 있지만, 커넥터에 의해 캐시, 저널링, 내보내기 또는 영구 저장되지 않습니다.

  • 새 초대 코드와 URL은 호출자가 선택한 전용 비공개 파일을 통해서만 전달됩니다. MCP 결과, 수명주기 레코드, 오류, 로그 및 텔레메트리는 bearer 권한이 없는 상태로 유지됩니다.

  • 수신 웹훅 자격 증명은 전용 정확한 ID 비공개 파일에 유지됩니다. MCP는 웹훅 및 메시지 ID만 허용하며, 영구 활동, 수신 확인, 오류, 로그 및 텔레메트리는 자격 증명 및 콘텐츠가 없는 상태로 유지됩니다.

  • 자격 부여 쓰기는 별도로 범위가 지정됩니다. 테스트 삭제에는 생성 증명이 필요하며, 소비는 이행 참조 해시만 저장합니다.

  • 모든 중대한 쓰기는 도메인별 권한, 신선도, 승인, 감사, 읽기 확인 및 불확실성 게이트를 유지합니다.

  • 메시지 삭제는 정확한 메시지 ID만 허용하며 모든 독립적인 삭제 게이트를 유지합니다.

  • 채널 삭제에는 허용 목록에 등록된 정확히 하나의 채널, 완전한 종속성 및 권한 증거, 명시적인 되돌릴 수 없는 콘텐츠 손실 확인, 서명된 검토 및 더 새로운 완전한 Gateway 부재 증명이 필요합니다. 영향 추정을 위해 메시지 콘텐츠를 읽지 않습니다.

  • 역할 삭제에는 허용 목록에 등록된 보유되지 않은 정확히 하나의 표준 역할, 완전한 보유자, 계층, 권한 및 발견 가능한 종속성 증거, 명시적인 되돌릴 수 없는 역할 손실 확인, 서명된 검토 및 최신 부재 및 생존자 보존 증명이 필요합니다.

  • 길드 정리에는 별도의 정확한 길드 허용 목록, 선택적 정확한 포함 역할 허용 목록, Discord가 후보 ID를 공개하지 않는다는 명시적 확인, 보호된 신원 역할 보호막, 요청된 상한과 구성된 상한 모두 아래의 최신 네이티브 추정치, 서명된 검토 및 엄격한 개수 전용 결과 증거가 있는 재시도되지 않는 단일 요청이 필요합니다.

  • 길드 인시던트 작업에는 허용 목록에 등록된 정확히 하나의 길드, 완전한 알려진 MANAGE_GUILD 또는 소유자 증거, 24시간 이내의 향후 마감 기한, 서명된 검토, 재시도되지 않는 단일 스파스 쓰기 및 정확한 응답과 최신 읽기 확인이 필요합니다. 보호 조기 해제는 파괴적인 것으로 취급됩니다.

  • 권한 있는 의도 활성화는 엄격한 정책이 해당 의도가 필요하거나 권장됨을 증명하는 경우 Guild Members 또는 Message Content만 허용하며, 관찰된 모든 비대상 애플리케이션 플래그를 보존하고, Presence, 비활성화, 일반 애플리케이션 편집 및 자동 수정을 제외합니다.

공통 검토된 쓰기 시퀀스는 다음과 같습니다:

exact request -> fresh keyed plan -> human review -> signed approval
             -> final fresh-plan match -> pending content-free evidence
             -> one non-retried write -> exact readback or quarantine

이미 최신인 요청은 Discord 작업이 해당 증명을 허용하는 경우 레코드 없는 no-op입니다. 알려진 클라이언트 거부는 실패로 확정됩니다. 전송 실패, 서버 실패, 잘못된 형식의 성공 응답 또는 누락된 읽기 확인은 불확실하며 맹목적으로 재시도해서는 안 됩니다. 지속적 클레임은 안전한 수신 증거 또는 명시적인 운영자 해결이 무엇을 진행할 수 있는지 증명할 때까지 영향을 받는 정확한 대상을 커넥터 프로세스 전반에 걸쳐 격리된 상태로 유지합니다.

쓰기 표면을 활성화하기 전에 전체 안전 모델보안 정책을 읽으십시오.

신뢰 및 검증

명령

증명 내용

Discord 액세스

discord-mcp catalog --check --json

정확한 프로덕션 MCP 인벤토리, 스키마, 주석, 정책 완료 매니페스트 및 제로 값 카탈로그 증명, 계획 검토 앱 바이트 및 권한, 고정 실행 가드, 안정적인 계약, 안전 및 앱 다이제스트

없음

discord-mcp catalog --html FILE

스키마, 워크플로 및 위험 필터, 완료 경로, 앱 소스, 지침, 리소스 및 안전 지침을 포함한 해당 정확한 협상 계약의 검색 가능한 독립 실행형 렌더링

없음

discord-mcp preset show server-observer --json

권장 프리셋에 대한 정확한 읽기 전용 도구, 범위 요구 사항, 의도 및 제로 쓰기 경계

없음

discord-mcp preset install server-observer --application-id ID --guild-id ID [--html FILE]

고정 출처, 길드 잠금 봇 권한 부여 계획 및 정확한 다이제스트와 설치 후 명령이 포함된 선택적 자격 증명 없는 독립 실행형 체크리스트

없음

discord-mcp config workbench ACTIVE --html FILE

검증된 단일 schema-v2 정책에 대한 비공개 오프라인 인메모리 편집기 및 명시적 후보 다운로드, 활성 파일 쓰기 또는 승인 권한 없음

없음

discord-mcp config plan ACTIVE CANDIDATE --json

완전한 후보 정책, 정확한 의미론적 변경 사항, 권한 영향, 도구 노출, 경고, ID 잠금 및 최신 경로 바인딩 다이제스트

없음

discord-mcp config apply ACTIVE CANDIDATE --plan-digest DIGEST --confirm ACTIVE_NAME

오래된 파일 거부, 원자적 게시 및 복구 가능한 이전 버전이 포함된 정확한 최신 로컬 정책 교체

없음

discord-mcp recipe show guild-builder --json

정확한 추가 기능, 범위, 도구 세트, 권한, 의도, Gateway 증거 및 위험 계약

없음

discord-mcp recipe plan guild-builder FILE --guild-id ID --json

완전한 제안 정책, 정확한 변경 사항, 요구 사항, 경고 및 소스, 경로, 요청 및 계약 바인딩 다이제스트

없음

discord-mcp activity --config FILE [--html FILE] [--json]

제한된 현재 쓰기 수명주기, 대체된 기록, 정확한 콘텐츠 없는 증거 및 운영자 주의가 필요할 때 경고 상태가 있는 상관된 지속적 클레임

없음

discord-mcp doctor --config FILE

비밀을 사용할 수 있기 전에도 로컬 Node.js, 자격 증명 가용성, ID 핀, 정책, 범위, 도구 표면, 무손실 읽기 응답 예산, Gateway, 관찰 가능성 및 쓰기 게이트 진단

없음

discord-mcp doctor --config FILE --online

엄격한 정책, 고정된 애플리케이션 및 봇 ID, 의도 플래그 및 제한된 길드 멤버십

읽기 전용

discord-mcp smoke --config FILE

선택된 정책을 통한 생성된 stdio 협상, 발견, 주석 및 커넥터 ID

읽기 전용

npm run container:verify

고정 베이스 빌드, 비루트 파일시스템 및 프로세스 제한, 비밀 없는 메타데이터, 결정적 카탈로그 ID, MCP 동작 및 안전한 자격 증명 실패

없음

npm run container:index:verify

정확한 다중 아키텍처 인덱스, 플랫폼 구성 및 blob, 플랫폼별 출처 및 SBOM 레코드

공개 이미지 레지스트리만

npm run pack:verify

재현 가능한 아카이브, 정확한 패키지 내용, 격리된 설치, 설치된 CLI, 결정적 카탈로그 증거 및 HTML, 콘텐츠 없는 MCP 핸드셰이크

없음

npm run security:check

종속성 취약점, 레지스트리 서명 및 증명

공개 패키지 레지스트리만

catalog --check --json은 독립적인 비교를 위해 설계되었습니다. 자격 증명이 필요 없고, 주변 커넥터 권한을 무시하며, 완료 식별자를 반환하지 않고, Discord 작업을 실행하지 않으며, Gateway를 열지 않고, 텔레메트리를 내보내지 않으며, 활동 레코드를 생성하지 않습니다. 일치하는 계약 다이제스트는 일치하는 정규화된 MCP 지침, 서버 기능, 정책 완료 바인딩, 도구 스키마 및 주석, 프롬프트 선언, 리소스 선언, 템플릿, 안전 응답, 계획 검토 앱 응답 및 실행 가드를 식별합니다.

릴리스 워크플로는 소스에서 후보를 다시 빌드하고, 두 번 패킹하고, 수명주기 스크립트 없이 설치하고, 지원되는 Node.js 라인 전반에 걸쳐 비교하고, 정확한 버전의 다중 아키텍처 OCI 이미지를 빌드하고, 기능이나 네트워크가 없는 읽기 전용 루트 파일시스템에서 이미지를 테스트하고, SPDX SBOM을 생성하고, 서명된 출처, SBOM 및 카탈로그 증명을 보존합니다. 릴리스 런북은 인간이 제어하는 게시 게이트와 독립적인 검증 경로를 문서화합니다.

아키텍처

stdio 전송, Discord REST 클라이언트, 범위 정책, 도메인 서비스, 검토된 계획, 지속적 조정, 활동 로그, 관찰 가능성, Gateway 및 MCP 어댑터는 분리된 상태로 유지됩니다. 프로덕션은 네이티브 fetch, TypeScript ESM 및 작고 정확히 고정된 종속성 세트를 사용합니다.

이렇게 하면 전송, 권한 증거, 로컬 권한, 검토된 쓰기, 지속성, MCP 프레젠테이션을 각각 독립적으로 테스트할 수 있습니다. 새로운 기능은 일반적인 Discord 디스패처를 추가하기보다 이러한 경계에 맞아야 합니다.

문서

개발

변경 사항은 CONTRIBUTING.md를, 설정 및 운영자 관련 질문은 SUPPORT.md를 참조하세요. 기본 테스트는 주입된 전송을 사용하며 Discord에 접속하지 않습니다:

npm run metadata:check
npm run config:schema:check
npm run typecheck
npm test
npm run test:coverage
npm run build
npm run pack:verify
npm run container:verify
npm run container:index:verify
npm run security:check

라이브 프로브는 기본적으로 명시적이며 읽기 전용입니다. 기본 검증 명령은 메시지 콘텐츠를 가져오거나 Discord에 변경을 가하지 않습니다.

라이선스

AGPL-3.0-only

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityNo data
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables LLMs to interact with Discord channels by sending and reading messages through Discord's API, with a focus on maintaining user control and security.
    37
    227
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables interaction with Discord through the Model Context Protocol, providing access to all Discord features like channels, messages, threads, reactions, and roles. Supports secure Discord bot operations with rate limiting, caching, and comprehensive API coverage for OpenAI, LangChain, and other MCP clients.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with Discord through the REST API and real-time events, supporting message management, user info, channel operations, and more with security controls.
    24
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables Discord server inspection, structural editing, blueprint-based setup and audit, with read/write tools and dry-run safety.
    107
    MIT

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/j-256/guildcontrol'

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