Summary
Nextcloud Talk already has a Reaction API (/ocs/v2.php/apps/spreed/api/v1/reaction/{token}/{messageId}). Agents using MCP today can talk_send_message (with reply_to) but cannot leave or inspect emoji reactions.
Proposal
Add MCP tools (scope talk.read / talk.write):
talk_list_reactions(token, message_id, reaction?) — who reacted, keyed by emoji
talk_react(token, message_id, reaction) — POST reaction
talk_delete_reaction(token, message_id, reaction) — DELETE own reaction
Optional enrichment on TalkMessage from chat API: parent, reactions, reactionsSelf so talk_get_messages already shows thread + counts.
Why
Office / multi-agent workflows use reactions as lightweight ACK/vote signals without posting another chat message. Same pattern as humans in Talk UI.
Prior art
Related: #1166 / PR #1167 (talk_create_conversation). We also use talk_add_participant in a fork for group invites.
Happy to open a PR against current main if useful.
Summary
Nextcloud Talk already has a Reaction API (
/ocs/v2.php/apps/spreed/api/v1/reaction/{token}/{messageId}). Agents using MCP today cantalk_send_message(withreply_to) but cannot leave or inspect emoji reactions.Proposal
Add MCP tools (scope
talk.read/talk.write):talk_list_reactions(token, message_id, reaction?)— who reacted, keyed by emojitalk_react(token, message_id, reaction)— POST reactiontalk_delete_reaction(token, message_id, reaction)— DELETE own reactionOptional enrichment on
TalkMessagefrom chat API:parent,reactions,reactionsSelfsotalk_get_messagesalready shows thread + counts.Why
Office / multi-agent workflows use reactions as lightweight ACK/vote signals without posting another chat message. Same pattern as humans in Talk UI.
Prior art
Related: #1166 / PR #1167 (
talk_create_conversation). We also usetalk_add_participantin a fork for group invites.Happy to open a PR against current main if useful.