Skip to main content
Glama
wowjinxy
by wowjinxy

list_members

Retrieve and display members from a Discord server with options to filter bots and set result limits.

Instructions

List members of a Discord server.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
server_idNo
limitNo
include_botsNo

Implementation Reference

  • The core handler function that fetches and formats the list of server members, including roles, join dates, bot/human classification, with configurable limit.
        @staticmethod
        async def handle_list_members(discord_client, arguments: Dict[str, Any]) -> List[TextContent]:
            """List server members"""
            guild = await discord_client.fetch_guild(int(arguments["server_id"]))
            limit = min(int(arguments.get("limit", 50)), 1000)
            
            members_info = []
            count = 0
            
            async for member in guild.fetch_members(limit=limit):
                if count >= limit:
                    break
                    
                roles = [role.name for role in member.roles if role.name != "@everyone"]
                
                members_info.append({
                    "name": member.display_name,
                    "username": str(member),
                    "id": member.id,
                    "joined": member.joined_at.strftime('%Y-%m-%d') if member.joined_at else "Unknown",
                    "roles": roles,
                    "is_bot": member.bot
                })
                count += 1
            
            # Format the member list
            member_list = []
            humans = 0
            bots = 0
            
            for member in members_info:
                if member["is_bot"]:
                    bots += 1
                    member_type = "🤖"
                else:
                    humans += 1
                    member_type = "👤"
                
                roles_str = ", ".join(member["roles"][:3])  # Limit to first 3 roles
                if len(member["roles"]) > 3:
                    roles_str += f" (+{len(member['roles'])-3} more)"
                
                member_list.append(
                    f"{member_type} **{member['name']}** ({member['username']})\n"
                    f"   Joined: {member['joined']} | Roles: {roles_str or 'None'}"
                )
            
            result = f"""**Members in {guild.name}** (Showing {len(members_info)} of {guild.member_count})
    
    **Summary:** {humans} humans, {bots} bots
    
    {chr(10).join(member_list)}"""
            
            return [TextContent(type="text", text=result)]
  • Registers the 'list_members' tool with its input schema (server_id required, optional limit) in the MCP server's list_tools() function.
    Tool(
        name="list_members",
        description="Get a list of members in a server with roles and activity",
        inputSchema={
            "type": "object",
            "properties": {
                "server_id": {
                    "type": "string",
                    "description": "Discord server (guild) ID"
                },
                "limit": {
                    "type": "number",
                    "description": "Maximum number of members to fetch",
                    "minimum": 1,
                    "maximum": 1000
                }
            },
            "required": ["server_id"]
        }
    ),
  • Input schema definition for the list_members tool, specifying server_id as required and limit as optional with bounds.
        inputSchema={
            "type": "object",
            "properties": {
                "server_id": {
                    "type": "string",
                    "description": "Discord server (guild) ID"
                },
                "limit": {
                    "type": "number",
                    "description": "Maximum number of members to fetch",
                    "minimum": 1,
                    "maximum": 1000
                }
            },
            "required": ["server_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/wowjinxy/mcp-discord'

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