Skip to main content
Glama

get_member_info

Retrieve detailed Discord server member information using guild and user IDs to manage user data and permissions.

Instructions

Get detailed information about a specific member

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
guildIdYesThe ID of the server (guild)
memberIdYesThe ID of the member (user ID)

Implementation Reference

  • Primary implementation of the get_member_info tool. This server.tool() call registers the tool, defines its input schema (guildId and memberId), and provides the handler function that uses the Discord client to fetch guild and member data, compiles comprehensive member information including roles, permissions, timestamps, and manageability flags, handles errors, and returns JSON-formatted response.
    server.tool( 'get_member_info', 'Get detailed information about a specific member', { guildId: z.string().describe('The ID of the server (guild)'), memberId: z.string().describe('The ID of the member (user ID)'), }, async ({ guildId, memberId }) => { const result = await withErrorHandling(async () => { const client = await getDiscordClient(); const guild = await client.guilds.fetch(guildId); const member = await guild.members.fetch(memberId); return { id: member.id, username: member.user.username, displayName: member.displayName, nickname: member.nickname, discriminator: member.user.discriminator, joinedAt: member.joinedAt?.toISOString(), premiumSince: member.premiumSince?.toISOString(), communicationDisabledUntil: member.communicationDisabledUntil?.toISOString(), pending: member.pending, isBot: member.user.bot, avatar: member.displayAvatarURL(), banner: member.user.bannerURL(), roles: member.roles.cache.map((r) => ({ id: r.id, name: r.name, color: r.hexColor, position: r.position, })), permissions: member.permissions.toArray(), highestRole: { id: member.roles.highest.id, name: member.roles.highest.name, }, isOwner: member.id === guild.ownerId, manageable: member.manageable, kickable: member.kickable, bannable: member.bannable, moderatable: member.moderatable, }; }); if (!result.success) { return { content: [{ type: 'text', text: result.error }], isError: true }; } return { content: [{ type: 'text', text: JSON.stringify(result.data, null, 2) }] }; } );
  • src/index.ts:56-56 (registration)
    In the createMcpServer() function, calls registerMemberTools(server) to register all member management tools including get_member_info on the MCP server instance.
    registerMemberTools(server);
  • src/index.ts:13-13 (registration)
    Imports the registerMemberTools function used to register the get_member_info tool.
    import { registerMemberTools } from './tools/member-tools.js';
  • Zod schema definition for get_member_info tool inputs: guildId and memberId as strings.
    guildId: z.string().describe('The ID of the server (guild)'), memberId: z.string().describe('The ID of the member (user 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/scarecr0w12/discord-mcp'

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