The
get_chat_channels
tool returns DM channels with only
type
,
visibility
,
creator
, and
created_at
— there is no
members
or counterparty field. For an agent, this makes it impossible to identify which DM channel corresponds to which user without probing
messages in every channel.
Repro:
1. Authenticate against
mcp.clickup.com/mcp
as a user with several DMs
2. Call
clickup_get_chat_channels
3. All DM entries list the viewer as
creator
with no indication of the other party
Impact:
- An agent cannot send a DM to a named user without enumerating every DM channel and checking its messages for a
user_id
match.
- Today's workaround: the user manually seeds a DM in the ClickUp UI, then the agent probes each DM's messages looking for the one with fresh activity.
- Scales poorly (O(n) API calls per user lookup), and is brittle on empty or cold DMs.
Suggested fixes (pick any):
1. Include
members: [user_id, …]
(or an explicit
counterparty_user_id
for DMs) in the
get_chat_channels
response.
2. Add a
clickup_find_or_create_dm_channel
tool that takes a user ID and returns the DM channel ID (creating it if missing).
3. Allow
clickup_send_chat_message
to accept a
recipient_user_id
alongside (or instead of)
channel_id
, auto-resolving/creating the DM. This mirrors Slack's
chat.postMessage
, which accepts a user ID as
channel
and auto-opens the DM.
Context: Hit while integrating the first-party
mcp.clickup.com/mcp
server into an internal MCP Manager. Happy to test any proposed fix.