Discord MCP-Server

Experte

Dies ist ein Building Blocks, AI, IT Ops-Bereich Automatisierungsworkflow mit 16 Nodes. Hauptsächlich werden DiscordTool, HttpRequestTool, McpTrigger und andere Nodes verwendet, kombiniert mit KI-Technologie für intelligente Automatisierung. Discord-Bot über einen MCP-Server mit natürlicher Sprache steuern

Voraussetzungen
  • Discord Bot Token oder Webhook
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "ly8aZhPk5ZI8uB0Y",
  "meta": {
    "instanceId": "8931e7db592c2960ce253801ea290c1dc66e447734ce3d968310365665cefc80",
    "templateCredsSetupCompleted": true
  },
  "name": "Discord MCP Server",
  "tags": [],
  "nodes": [
    {
      "id": "6e87d612-3006-4683-b978-87718f89257d",
      "name": "Discord-Nachricht an Kanal senden",
      "type": "n8n-nodes-base.discordTool",
      "position": [
        360,
        280
      ],
      "webhookId": "90b1dca9-c742-4c7e-aef3-ba5a47c5f86d",
      "parameters": {
        "content": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
        "guildId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Server', ``, 'string') }}"
        },
        "options": {},
        "resource": "message",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Channel', ``, 'string') }}"
        }
      },
      "credentials": {
        "discordBotApi": {
          "id": "SJhr2V3Xw4B3fVqW",
          "name": "Gopher"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "32a17a73-8953-4474-a49f-9d1cc0cc3eb2",
      "name": "Rolle zu Mitglied hinzufügen",
      "type": "n8n-nodes-base.discordTool",
      "position": [
        -200,
        560
      ],
      "webhookId": "e41a85ec-3f16-44fc-ad87-4617c0d0f1c0",
      "parameters": {
        "role": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Role', ``, 'string') }}",
        "userId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('User', ``, 'string') }}"
        },
        "guildId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Server', ``, 'string') }}"
        },
        "resource": "member",
        "operation": "roleAdd"
      },
      "credentials": {
        "discordBotApi": {
          "id": "SJhr2V3Xw4B3fVqW",
          "name": "Gopher"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "688ea823-b8ea-4bbf-96cb-a64925fc29a9",
      "name": "Rolle von Mitglied entfernen",
      "type": "n8n-nodes-base.discordTool",
      "position": [
        -20,
        560
      ],
      "webhookId": "e41a85ec-3f16-44fc-ad87-4617c0d0f1c0",
      "parameters": {
        "role": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Role', ``, 'string') }}",
        "userId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('User', ``, 'string') }}"
        },
        "guildId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Server', ``, 'string') }}"
        },
        "resource": "member",
        "operation": "roleRemove"
      },
      "credentials": {
        "discordBotApi": {
          "id": "SJhr2V3Xw4B3fVqW",
          "name": "Gopher"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "1d8a14f1-8e63-4112-8076-15b4408c844f",
      "name": "Discord MCP-Server-Trigger",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        20,
        -280
      ],
      "webhookId": "404f083e-f3f4-4358-83ef-9804099ee253",
      "parameters": {
        "path": "404f083e-f3f4-4358-83ef-9804099ee253"
      },
      "typeVersion": 1
    },
    {
      "id": "67602807-3126-4564-8fed-912551eb824b",
      "name": "Kanäle des Servers nach Server-ID abrufen",
      "type": "n8n-nodes-base.discordTool",
      "position": [
        420,
        20
      ],
      "webhookId": "73c49e13-24e9-4481-902d-a5f3e1f50032",
      "parameters": {
        "guildId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Server', ``, 'string') }}"
        },
        "options": {},
        "operation": "getAll",
        "returnAll": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}"
      },
      "credentials": {
        "discordBotApi": {
          "id": "SJhr2V3Xw4B3fVqW",
          "name": "Gopher"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "5f1c3039-7042-48b8-997c-12bcaa6a1256",
      "name": "Mitglieder des Servers nach Server-ID abrufen",
      "type": "n8n-nodes-base.discordTool",
      "position": [
        -80,
        20
      ],
      "webhookId": "ebd6d7dd-bcfa-4546-b48d-5e7862129caa",
      "parameters": {
        "after": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('After', ``, 'string') }}",
        "guildId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Server', ``, 'string') }}"
        },
        "options": {},
        "resource": "member",
        "returnAll": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}"
      },
      "credentials": {
        "discordBotApi": {
          "id": "SJhr2V3Xw4B3fVqW",
          "name": "Gopher"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "ece7a065-36bb-4667-aa61-610e54f0b22d",
      "name": "DM senden und auf Antwort warten",
      "type": "n8n-nodes-base.discordTool",
      "position": [
        -280,
        280
      ],
      "webhookId": "90b1dca9-c742-4c7e-aef3-ba5a47c5f86d",
      "parameters": {
        "sendTo": "user",
        "userId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('User', ``, 'string') }}"
        },
        "guildId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Server', ``, 'string') }}"
        },
        "message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
        "options": {},
        "resource": "message",
        "operation": "sendAndWait",
        "responseType": "freeText"
      },
      "credentials": {
        "discordBotApi": {
          "id": "SJhr2V3Xw4B3fVqW",
          "name": "Gopher"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "c37d0478-5b00-4d21-b0fd-7e2fa34708ec",
      "name": "An Kanal senden und auf Antwort warten",
      "type": "n8n-nodes-base.discordTool",
      "position": [
        580,
        280
      ],
      "webhookId": "90b1dca9-c742-4c7e-aef3-ba5a47c5f86d",
      "parameters": {
        "guildId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Server', ``, 'string') }}"
        },
        "message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
        "options": {},
        "resource": "message",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Channel', ``, 'string') }}"
        },
        "operation": "sendAndWait",
        "responseType": "freeText"
      },
      "credentials": {
        "discordBotApi": {
          "id": "SJhr2V3Xw4B3fVqW",
          "name": "Gopher"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "fb8091b5-114b-422e-be5a-6413d9aec599",
      "name": "DM an Benutzer senden",
      "type": "n8n-nodes-base.discordTool",
      "position": [
        -60,
        280
      ],
      "webhookId": "90b1dca9-c742-4c7e-aef3-ba5a47c5f86d",
      "parameters": {
        "sendTo": "user",
        "userId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('User', ``, 'string') }}"
        },
        "content": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
        "guildId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Server', ``, 'string') }}"
        },
        "options": {},
        "resource": "message"
      },
      "credentials": {
        "discordBotApi": {
          "id": "SJhr2V3Xw4B3fVqW",
          "name": "Gopher"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "6f61b18a-8d96-4acb-994a-45ef32c10f16",
      "name": "Discord-Server-IDs abrufen",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        180,
        -60
      ],
      "parameters": {
        "url": "https://discord.com/api/v10/users/@me/guilds",
        "options": {},
        "authentication": "predefinedCredentialType",
        "toolDescription": "Retrieves the ID of each discord server the bot is in.",
        "nodeCredentialType": "discordBotApi"
      },
      "credentials": {
        "discordBotApi": {
          "id": "SJhr2V3Xw4B3fVqW",
          "name": "Gopher"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "3fe9b9ab-d9c8-4414-b3a4-01dace75da77",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        100,
        -60
      ],
      "parameters": {
        "height": 600,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\nThis gets all of the servers that your discord bot is currently in. If you have a bot in more than one server, you will need to let it know or at least hint at which server it is, or it may get stuck. If you specify a channel through your natural language request, then the model may keep trying to get servers' channels via the get channel node or it may give up before getting to the right one).\n\nNote: This is a custom API call using the same Discord bot auth, not a built-in \"Discord tool\" - I encourage you to go well beyond the 15 included tools that n8n provides for you. It is *easy* to do, and there are, literally, no limits to what you can do with n8n!"
      },
      "typeVersion": 1
    },
    {
      "id": "c886422d-f034-49dc-ad77-bc6e1cd495a8",
      "name": "Haftnotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        360,
        280
      ],
      "parameters": {
        "width": 300,
        "height": 240,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\nThese nodes either send a basic message from your bot to a channel or sends a message and waits for a response from a human (HITL)."
      },
      "typeVersion": 1
    },
    {
      "id": "36d5bcc3-f9f2-4161-83d8-d76083ea9e8c",
      "name": "Haftnotiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -280,
        280
      ],
      "parameters": {
        "width": 300,
        "height": 240,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\nThese nodes either send a basic message from your bot to a user via DM or sends a DM and waits for a response from the human (HITL)."
      },
      "typeVersion": 1
    },
    {
      "id": "65b6d13e-6f97-4b4c-9a0d-85b07b666c81",
      "name": "Haftnotiz3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -200,
        560
      ],
      "parameters": {
        "width": 520,
        "height": 360,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\nProgrammatic role addition and removal are just two examples of the many, many tools/API calls that you can make to Discord.\n\nYou could monitor for spam, mod abuse, or anything else you wanted and respond automatically by removing perms until you can check it out.\n\nYou can create amazing workflows that include discord webhooks, your existing other workflows, or anything else you can imagine and have it running on your bot in minutes via a MCP client node in a new or existing workflow!"
      },
      "typeVersion": 1
    },
    {
      "id": "e39211f7-7471-4b0b-a253-79b1e3026354",
      "name": "Haftnotiz4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -280,
        -60
      ],
      "parameters": {
        "width": 280,
        "content": "Once we have the server ID of the server we want to interact with, we can grab all members of the server that the bot can see."
      },
      "typeVersion": 1
    },
    {
      "id": "84f36c6d-c990-48d0-9328-32a40c803956",
      "name": "Haftnotiz5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        420,
        -60
      ],
      "parameters": {
        "width": 280,
        "content": "Once we have the server ID of the server we want to interact with, we can grab all channels the bot can see."
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "bedf1c45-22f0-422c-8d77-ab058c1cceab",
  "connections": {
    "fb8091b5-114b-422e-be5a-6413d9aec599": {
      "ai_tool": [
        [
          {
            "node": "1d8a14f1-8e63-4112-8076-15b4408c844f",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "32a17a73-8953-4474-a49f-9d1cc0cc3eb2": {
      "ai_tool": [
        [
          {
            "node": "1d8a14f1-8e63-4112-8076-15b4408c844f",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "6f61b18a-8d96-4acb-994a-45ef32c10f16": {
      "ai_tool": [
        [
          {
            "node": "1d8a14f1-8e63-4112-8076-15b4408c844f",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "688ea823-b8ea-4bbf-96cb-a64925fc29a9": {
      "ai_tool": [
        [
          {
            "node": "1d8a14f1-8e63-4112-8076-15b4408c844f",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "ece7a065-36bb-4667-aa61-610e54f0b22d": {
      "ai_tool": [
        [
          {
            "node": "1d8a14f1-8e63-4112-8076-15b4408c844f",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "6e87d612-3006-4683-b978-87718f89257d": {
      "ai_tool": [
        [
          {
            "node": "1d8a14f1-8e63-4112-8076-15b4408c844f",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "5f1c3039-7042-48b8-997c-12bcaa6a1256": {
      "ai_tool": [
        [
          {
            "node": "1d8a14f1-8e63-4112-8076-15b4408c844f",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "c37d0478-5b00-4d21-b0fd-7e2fa34708ec": {
      "ai_tool": [
        [
          {
            "node": "1d8a14f1-8e63-4112-8076-15b4408c844f",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "67602807-3126-4564-8fed-912551eb824b": {
      "ai_tool": [
        [
          {
            "node": "1d8a14f1-8e63-4112-8076-15b4408c844f",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - Bausteine, Künstliche Intelligenz, IT-Betrieb

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes16
Kategorie3
Node-Typen4
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Autor
David Ashby

David Ashby

@cfomodz

A hacker by nature, programmer by trade ⚒️ I'm looking to collaborate on things that save human labor 📫 How to reach me Github👇 -> Discord

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34