Skip to main content
Glama
hanweg

mcp-discord

by hanweg

list_members

Retrieve a list of members from a specified Discord server, with optional limits to customize the number of results returned.

Instructions

Get a list of members in a server

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of members to fetch
server_idYesDiscord server (guild) ID

Implementation Reference

  • The handler function for the 'list_members' tool. Fetches members from the specified Discord guild up to a given limit, collects their ID, name, nick, join date, and roles, then returns a formatted text list.
    elif name == "list_members":
        guild = await discord_client.fetch_guild(int(arguments["server_id"]))
        limit = min(int(arguments.get("limit", 100)), 1000)
        
        members = []
        async for member in guild.fetch_members(limit=limit):
            members.append({
                "id": str(member.id),
                "name": member.name,
                "nick": member.nick,
                "joined_at": member.joined_at.isoformat() if member.joined_at else None,
                "roles": [str(role.id) for role in member.roles[1:]]  # Skip @everyone
            })
        
        return [TextContent(
            type="text",
            text=f"Server Members ({len(members)}):\n" + 
                 "\n".join(f"{m['name']} (ID: {m['id']}, Roles: {', '.join(m['roles'])})" for m in members)
        )]
  • Registration of the 'list_members' tool in the @app.list_tools() handler, defining the tool name, description, and input schema requiring server_id (optional limit).
    Tool(
        name="list_members",
        description="Get a list of members in a server",
        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/hanweg/mcp-discord'

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