mcpField
D
Discord Raw API MCP Server

Discord Raw API MCP Server

ローカル
github.com/hanwegコミュニケーション990 週間前に更新

Discord Raw API MCP Server について

Discord Raw API MCP Serverは、1つの柔軟なツールを通じてDiscord APIをMCPクライアントに公開します。REST形式とスラッシュコマンド形式に対応し、ロール管理やメッセージ送信などに利用できます。

主な機能

  1. 01単一ツールでDiscord APIを呼び出し
  2. 02RESTリクエストとスラッシュコマンド形式
  3. 03GET、POST、PUT、PATCH、DELETEに対応
  4. 04任意のJSONリクエストペイロード

活用シーン

  1. 01Discordロールの作成や変更
  2. 02Discordチャンネルへのメッセージ送信
  3. 03サーバー情報の取得

MCP 対応

MCPクライアントに、HTTPメソッド、エンドポイント、任意のペイロードでDiscord APIを呼び出す `discord_api` ツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"discord-raw": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@smithery/cli

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Discord Raw API MCP サーバー

smithery badge この MCP サーバーは、柔軟な単一のツールを通じて Discord API に直接アクセスできます。REST API 呼び出しとスラッシュコマンド構文の両方に対応しています。

Discord Raw API Server MCP server

インストール

Smithery 経由でのインストール

Smithery 経由で、Discord Raw API を Claude Desktop に自動でインストールするには:

npx -y @smithery/cli install @hanweg/mcp-discord-raw --client claude
手動インストール
  1. Discord bot をセットアップします:

    • Discord Developer Portal で新しいアプリケーションを作成します
    • bot を作成し、トークンをコピーします
    • 必要な特権インテントを有効にします:
      • MESSAGE CONTENT INTENT
      • PRESENCE INTENT
      • SERVER MEMBERS INTENT
    • OAuth2 URL Generator を使って bot をサーバーに招待します
  2. パッケージをクローンしてインストールします:

# 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"
}

例

  1. ロールを作成します:
{
    "method": "POST",
    "endpoint": "/role create name:Moderator color:red permissions:moderate_members guild_id:123456789"
}
  1. メッセージを送信します:
{
    "method": "POST",
    "endpoint": "channels/123456789/messages",
    "payload": {
        "content": "Hello from the API!"
    }
}
  1. サーバー情報を取得します:
{
    "method": "GET",
    "endpoint": "guilds/123456789"
}

おすすめ:

サーバー、チャンネル、ユーザーの ID といくつかの例をプロジェクトのナレッジに登録しておくと、モデルに何度も伝える手間を省けます。また、使い始める際には、次のような内容を用意しておくと便利です:

「Discord の raw API ツールを効果的に使う方法は次のとおりです: ツール名は discord_api で、次の 3 つのパラメーターを受け取ります:

  1. method:HTTP メソッド("GET"、"POST"、"PUT"、"PATCH"、"DELETE")
  2. endpoint:Discord API のエンドポイント(例:"guilds/{guild.id}/roles")
  3. payload:リクエストボディ用の任意の JSON オブジェクト これまでに使った主な例:
  4. ロールの作成:
discord_api
method: POST
endpoint: guilds/{server_id}/roles
payload: {
    "name": "Role Name",
    "color": 3447003,  // Blue color in decimal
    "mentionable": true
}
  1. カテゴリーとチャンネルの作成:
// 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"
}
  1. チャンネルをカテゴリーに移動:
discord_api
method: PATCH
endpoint: channels/{channel_id}
payload: {
    "parent_id": "category_id"
}
  1. メッセージの送信:
discord_api
method: POST
endpoint: channels/{channel_id}/messages
payload: {
    "content": "Message text with emojis \ud83d\ude04"
}
  1. ロールの割り当て:
discord_api
method: PUT
endpoint: guilds/{server_id}/members/{user_id}/roles/{role_id}
payload: {}

このツールは Discord API 全体に対応しているため、Discord API のドキュメントを参照して、ほかのエンドポイントや機能を確認できます。レスポンスには ID などのメタデータが含まれており、後続のリクエストで使用できます。 便利なヒント:

  • 作成リクエストで返された ID を保存して、後続のリクエストで使用します
  • Unicode 絵文字はメッセージ本文に直接含められます ? モデルには :champagne_glass: のような Discord 絵文字を使うように指示してください - Unicode 絵文字を含むメッセージを送ると Claude Desktop がフリーズしますか?
  • チャンネルタイプ:0 = テキスト、2 = ボイス、4 = カテゴリー、13 = ステージ
  • ロールの色は 16 進数ではなく 10 進数形式です
  • ほとんどの変更用エンドポイントでは PATCH メソッドを使います
  • 空のペイロードには null ではなく {} を指定します」

ライセンス

MIT ライセンス

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。