Discord Raw API MCP 서버
이 MCP 서버는 단일의 유연한 도구를 통해 원시 Discord API 액세스를 제공합니다. REST API 호출과 슬래시 명령 구문을 모두 지원합니다.
설치
Smithery를 통해 설치
Smithery 를 통해 Claude Desktop용 Discord Raw API를 자동으로 설치하는 방법:
지엑스피1
수동 설치
Discord 봇을 설정하세요:
패키지를 복제하고 설치합니다.
# Clone the repository
git clone https://github.com/hanweg/mcp-discord-raw.git
cd mcp-discord-raw
# Create and activate virtual environment
uv venv
.venv\Scripts\activate
### If using Python 3.13+ - install audioop library: `uv pip install audioop-lts`
# Install the package
uv pip install -e .
구성
claude_desktop_config.json 에 이것을 추가하세요
"discord-raw": {
"command": "uv",
"args": [
"--directory",
"PATH/TO/mcp-discord-raw",
"run",
"discord-raw-mcp"
],
"env": {
"DISCORD_TOKEN": "YOUR-BOT-TOKEN"
}
}
용법
REST API 스타일
{
"method": "POST",
"endpoint": "guilds/123456789/roles",
"payload": {
"name": "Bot Master",
"permissions": "8",
"color": 3447003,
"mentionable": true
}
}
슬래시 명령 스타일
{
"method": "POST",
"endpoint": "/role create name:Bot_Master color:blue permissions:8 mentionable:true guild_id:123456789"
}
예시
역할 생성:
{
"method": "POST",
"endpoint": "/role create name:Moderator color:red permissions:moderate_members guild_id:123456789"
}
메시지 보내기:
{
"method": "POST",
"endpoint": "channels/123456789/messages",
"payload": {
"content": "Hello from the API!"
}
}
서버 정보 얻기:
{
"method": "GET",
"endpoint": "guilds/123456789"
}
추천사항:
모델에 이러한 내용을 다시 상기시킬 필요가 없도록 서버, 채널, 사용자 ID와 몇 가지 예를 프로젝트 지식에 추가하고, 시작하기 위해 다음과 같은 내용을 추가하세요.
Discord 원시 API 도구를 효과적으로 사용하는 방법은 다음과 같습니다. 도구의 이름은 discord_api이며 세 가지 매개변수를 사용합니다.
메서드: HTTP 메서드("GET", "POST", "PUT", "PATCH", "DELETE")
엔드포인트: Discord API 엔드포인트(예: "guilds/{guild.id}/roles")
payload: 요청 본문에 대한 선택적 JSON 객체 내가 사용한 주요 예:
역할 생성:
discord_api
method: POST
endpoint: guilds/{server_id}/roles
payload: {
"name": "Role Name",
"color": 3447003, // Blue color in decimal
"mentionable": true
}
카테고리 및 채널 만들기:
// Category
discord_api
method: POST
endpoint: guilds/{server_id}/channels
payload: {
"name": "Category Name",
"type": 4 // 4 = category
}
// Text channel in category
discord_api
method: POST
endpoint: guilds/{server_id}/channels
payload: {
"name": "channel-name",
"type": 0, // 0 = text channel
"parent_id": "category_id",
"topic": "Channel description"
}
채널을 카테고리로 이동:
discord_api
method: PATCH
endpoint: channels/{channel_id}
payload: {
"parent_id": "category_id"
}
메시지 보내기:
discord_api
method: POST
endpoint: channels/{channel_id}/messages
payload: {
"content": "Message text with emojis \ud83d\ude04"
}
역할 할당:
discord_api
method: PUT
endpoint: guilds/{server_id}/members/{user_id}/roles/{role_id}
payload: {}
이 도구는 전체 Discord API를 지원하므로 Discord API 설명서에서 더 많은 엔드포인트와 기능을 확인할 수 있습니다. 응답에는 후속 요청에 사용할 수 있는 ID 및 기타 메타데이터가 포함됩니다. 전문가 팁:
후속 요청에서 사용할 생성 요청에서 반환된 ID를 저장합니다.
~~유니코드 이모티콘을 메시지 내용에 직접 포함할 수 있나요~~? 모델에게 :champagne_glass:와 같은 디스코드 이모티콘을 사용하라고 알려주세요. - 유니코드 이모티콘이 포함된 메시지는 Claude Desktop에서 멈춥니다.
채널 유형: 0 = 텍스트, 2 = 음성, 4 = 카테고리, 13 = 무대
역할 색상은 10진수 형식입니다(16진수 아님)
대부분의 수정 엔드포인트는 PATCH 방법을 사용합니다.
빈 페이로드는 null이 아닌 {}이어야 합니다.
특허
MIT 라이센스