Skip to content

Feature: Add slack_update_draft and slack_delete_draft MCP tools #93

Description

@TomZaiger

Summary

Please expose draft update and delete tools on the hosted Slack MCP server (https://mcp.slack.com/mcp), alongside the existing create path (slack_send_message_draft).

Today agents can create a draft for review, but cannot revise or discard it via MCP without either:

  • asking the human to delete it in Slack Drafts & Sent, then creating again, or
  • sending via slack_send_message with draft_id (deletes only as a side effect of sending).

Current surface

Capability Tool
Create draft slack_send_message_draft
Delete draft without sending ❌ none
Update draft text in place ❌ none
Delete draft after send slack_send_message optional draft_id

Proposed tools

slack_update_draft

  • Inputs: draft_id (required), message (required), optionally channel_id / thread_ts if needed for validation
  • Behavior: Replace the body of an existing unsent draft; return the same draft_id + channel link
  • Errors: draft_not_found, channel_not_found, auth failures

slack_delete_draft

  • Inputs: draft_id (required), optionally channel_id
  • Behavior: Discard an unsent draft without posting
  • Errors: draft_not_found, auth failures

Motivation

Agent workflows routinely prepare a draft for human review, then iterate on wording before send. Without update/delete:

  1. Duplicate creates are unsafe (see companion bug: false success when a draft already exists).
  2. Humans must manually delete drafts in the Slack UI to unblock a rewrite.
  3. The only MCP “delete” path forces sending (draft_id on slack_send_message).

Token / API note

Internal Slack client methods (drafts.update, drafts.delete, drafts.list) reportedly exist but may require client/session token types beyond standard OAuth user tokens used by the MCP. If that is the blocker, please document it on the create tool and keep create’s draft_already_exists behavior honest so agents do not silently no-op.

If OAuth can support update/delete, exposing them would close a large hole in the draft lifecycle for AI clients (Cursor, Claude Code, etc.).

Related

Fix lives on the hosted MCP at mcp.slack.com; this repo is the public place to track it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:mcpMCP server, tools, OAuth, and workspace connectivityenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions