Skip to main content
Glama
DiversioTeam

ClickUp MCP Server

by DiversioTeam

find_user_by_name

Locate ClickUp users by entering their name or email address to identify team members for task assignments and collaboration.

Instructions

Find a user by name or email

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName or email to search for
workspace_idNoWorkspace ID (optional, uses default if not provided)

Implementation Reference

  • The main handler function implementing the find_user_by_name tool. It fetches workspace members via the client and searches for matches by name or email (case-insensitive).
    async def find_user_by_name(
        self, name: str, workspace_id: Optional[str] = None
    ) -> Dict[str, Any]:
        """Find a user by name or email."""
        members = await self.client.get_workspace_members(workspace_id)
    
        # Search by username or email (case-insensitive)
        name_lower = name.lower()
        matches = []
    
        for member in members:
            username = member.get("username", "").lower()
            email = member.get("email", "").lower()
    
            if name_lower in username or name_lower in email:
                matches.append(
                    {
                        "id": member.get("id"),
                        "username": member.get("username"),
                        "email": member.get("email"),
                        "initials": member.get("initials"),
                        "color": member.get("color"),
                        "profilePicture": member.get("profilePicture"),
                    }
                )
    
        if not matches:
            return {"error": f"No user found matching '{name}'", "matches": []}
    
        return {
            "matches": matches,
            "count": len(matches),
            "found": True,
        }
  • The input schema and description for the find_user_by_name tool defined in get_tool_definitions().
    Tool(
        name="find_user_by_name",
        description="Find a user by name or email",
        inputSchema={
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name or email to search for",
                },
                "workspace_id": {
                    "type": "string",
                    "description": "Workspace ID (optional, uses default if not provided)",
                },
            },
            "required": ["name"],
        },
    ),
  • Registration of the find_user_by_name handler in the ClickUpTools class's _tools dictionary during __init__.
    self._tools: Dict[str, Callable] = {
        "create_task": self.create_task,
        "get_task": self.get_task,
        "update_task": self.update_task,
        "delete_task": self.delete_task,
        "list_tasks": self.list_tasks,
        "search_tasks": self.search_tasks,
        "get_subtasks": self.get_subtasks,
        "get_task_comments": self.get_task_comments,
        "create_task_comment": self.create_task_comment,
        "get_task_status": self.get_task_status,
        "update_task_status": self.update_task_status,
        "get_assignees": self.get_assignees,
        "assign_task": self.assign_task,
        "list_spaces": self.list_spaces,
        "list_folders": self.list_folders,
        "list_lists": self.list_lists,
        "find_list_by_name": self.find_list_by_name,
        # Bulk operations
        "bulk_update_tasks": self.bulk_update_tasks,
        "bulk_move_tasks": self.bulk_move_tasks,
        # Time tracking
        "get_time_tracked": self.get_time_tracked,
        "log_time": self.log_time,
        # Templates
        "create_task_from_template": self.create_task_from_template,
        "create_task_chain": self.create_task_chain,
        # Analytics
        "get_team_workload": self.get_team_workload,
        "get_task_analytics": self.get_task_analytics,
        # User management
        "list_users": self.list_users,
        "get_current_user": self.get_current_user,
        "find_user_by_name": self.find_user_by_name,
    }
  • MCP server registration point where list_tools handler returns tool definitions including find_user_by_name.
    @self.server.list_tools()
    async def list_tools() -> List[Tool]:
        """List all available tools."""
        return self.tools.get_tool_definitions()

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/DiversioTeam/clickup-mcp'

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