Skip to main content
Glama

discord_update_membership_screening

Configure membership screening forms to require new members to review rules and answer questions before joining a Discord server.

Instructions

Update the membership screening form: set a description and rules/questions that new members must agree to before joining.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
guild_idYes
descriptionNoWelcome message shown at the top of the screening form.
form_fieldsNoList of rules/questions. Each item has: label (the rule title), values (array of rule lines), required (boolean).

Implementation Reference

  • Implementation of the `discord_update_membership_screening` tool handler, which fetches current screening state and patches it with new description/fields.
    case "discord_update_membership_screening": {
      const guildId = validateId(args.guild_id, "guild_id");
      const current = await discord.rest.get(`/guilds/${guildId}/member-verification`) as Record<string, unknown>;
      const body: Record<string, unknown> = { version: current.version };
      if (args.description !== undefined) body.description = args.description as string;
      if (args.form_fields !== undefined) {
        const fields = args.form_fields as { label: string; values: string[]; required?: boolean }[];
        body.form_fields = fields.map((f) => ({
          field_type: "TERMS",
          label: f.label,
          values: f.values,
          required: f.required ?? true,
        }));
      }
      const updated = await discord.rest.patch(`/guilds/${guildId}/member-verification`, { body });
      return { content: [{ type: "text", text: `✅ Membership screening updated.\n${JSON.stringify(updated, null, 2)}` }] };
    }
  • Input schema definition for the `discord_update_membership_screening` tool.
    {
      name: "discord_update_membership_screening",
      description: "Update the membership screening form: set a description and rules/questions that new members must agree to before joining.",
      inputSchema: {
        type: "object",
        properties: {
          guild_id: { type: "string" },
          description: { type: "string", description: "Welcome message shown at the top of the screening form." },
          form_fields: {
            type: "array",
            description: "List of rules/questions. Each item has: label (the rule title), values (array of rule lines), required (boolean).",
            items: {
              type: "object",
              properties: {
                label: { type: "string", description: "Title/question for this field." },
                values: { type: "array", items: { type: "string" }, description: "Array of rule lines or answer options." },
                required: { type: "boolean", description: "Whether this field is required (default true)." },
              },
              required: ["label", "values"],
            },
          },
        },
        required: ["guild_id"],
      },
    },

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/PaSympa/discord-mcp'

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