How to post to Discord from Claude

Claude has no Discord access of its own: it writes the post, and a connector does the posting. With PostWire in Claude's connector directory you press Connect, paste your channel's webhook URL once, and ask "post the v2.4 announcement to Discord": Claude writes it with generate_posts (Discord allows 2,000 characters), shows it to you, and sends it with post_to_social or queues it with schedule_post. There is no bot to create, host or invite: PostWire posts through the channel's own webhook, which can write to that one channel and nothing else. PostWire is already in Claude's connector directory. The free plan includes Discord: 1 business, 10 posts a month, 5 AI drafts a day, 2 networks per post, no card.

It works in Claude on the web, on the desktop and on your phone. A scheduled announcement goes out from PostWire's servers, so Claude and your computer can be closed when the hour comes, and the same request can carry the Telegram, Bluesky or LinkedIn version of the news.

Updated . Written from PostWire's own code; vendor prices read on Oct 30, 2026. Live networks: TikTok, Instagram, YouTube, LinkedIn (personal profiles), Facebook Pages, Bluesky, Mastodon, Telegram, Discord, and X on paid plans.

Set it up and post, step by step

Prompt to copy once Discord is connected: Here are our release notes. Write a Discord announcement with the three changes people will notice, show it to me, and post it to the channel at 5pm today.

  1. Add PostWire to Claude

    Open PostWire in Claude's connector directory and press Connect; it works in Claude on the web, on the desktop and on your phone. In Claude Code, run claude mcp add --transport http postwire https://postwire.io/api/mcp. A sign-in window asks for your email and a 6-digit code, which also creates a free PostWire account if you have none: no password and no card.

  2. Copy the channel's webhook URL

    In Discord, open the channel → Edit Channel → Integrations → Webhooks → New Webhook → Copy Webhook URL. You need permission to manage that channel (server owner or admin). The link looks like https://discord.com/api/webhooks/<id>/<token>; the name and avatar you give the webhook are what the channel shows on each message.

  3. Connect Discord

    Ask "connect my Discord". Claude calls create_connect_link and gives you a one-hour link; open it, choose Discord and paste the link into Webhook link. There is no sign-in screen. PostWire checks that it is a Discord webhook and asks Discord whether it exists before saving it, so a link copied without its end is refused on that page, not at the first post.

  4. Ask for the announcement

    "Write the Discord announcement." generate_posts returns a draft and publishes nothing: short and friendly, in a community tone, emojis and links welcome, under Discord's 2,000 characters. Ask for the Telegram or LinkedIn version in the same sentence and each comes back written for its own network.

  5. Add an image or a video, if you want one

    A file attached to the chat does not reach a connector, so Claude gives you an upload page instead (create_upload_link, valid 24 hours, up to 100 MB on the free plan and 1 GB on paid plans). Pick the image or the video there and Claude attaches it to the post. A public https link works too. PostWire puts the file's link on its own line under the text, and Discord shows it as an embed.

  6. Post now, or schedule it

    Say "post it" and Claude calls post_to_social. Say "schedule it for 5pm" and it calls schedule_post, up to 365 days ahead, or with run_at: "next_slot" for your next free posting hour. This is the call:

    {
      "name": "schedule_post",
      "arguments": {
        "platforms": ["discord"],
        "per_platform": { "discord": {
          "text": "🚀 v2.4 is out! Dark mode, 2x faster sync and 14 fixes.\nFull notes: https://example.com/changelog"
        } },
        "photo_url": "https://postwire.io/m/…/release.png",
        "run_at": "2026-11-03T17:00:00-05:00"
      }
    }
  7. Check that it went out

    The result lists Discord with ok and the id of the message. If Discord refuses it, the result carries what happened and the fix; a webhook someone deleted in Discord shows up in the dashboard as "reconnect" before a scheduled post is due.

"What's scheduled on Discord?" calls list_scheduled_posts and "cancel the 5pm announcement" calls cancel_scheduled_post; the same queue is on the dashboard's Queue page. Prefer to set it up by hand first? Open the dashboard, connect the account under Accounts and copy your key under API & MCP.

Ways to post to Discord from Claude, side by side

How each service gets into Claude and reaches Discord, and what it costs to start, read on its own Claude, MCP and pricing pages on Oct 30, 2026.

ServiceHow it gets into ClaudeHow it reaches DiscordDiscord on the free startCheapest paid plan
PostWireClaude's connector directory: Connect, then email and a 6-digit codeA channel webhook, checked with Discord before it is savedYes — free plan: 1 business, 10 posts a month, 5 AI drafts a day, 2 networks per post, no card$19/mo — 3 businesses, every network in each post
PostizA custom connector with mcp.postiz.com/mcp-oauth-dynamic (its Claude Cowork guide)The Postiz Discord bot7-day free trial$29/mo — 5 channels
Upload-PostIts hosted MCP server mcp.upload-post.com/mcp, with an API key or OAuthA channel webhookFree plan of 10 uploads a month; its list of free-plan networks does not name Discord$24/mo — 5 profiles

Checked on Oct 30, 2026 (2026-10-30) on each vendor's own pricing or docs page, linked in the first column and below. Monthly billing in USD unless noted. "Not listed" means we could not find it on their page, not that it is missing.

Where PostWire is ahead

  • In Claude's connector directory: one Connect button on the web, the desktop and the phone, with no URL to paste. Postiz's Claude guide adds it as a custom connector by URL.
  • Discord on the free plan: 10 posts a month, no card and no time limit. Postiz starts with a 7-day trial; Upload-Post's free-plan network list does not name Discord.
  • The cheapest paid plan here: $19 a month for 3 businesses. Upload-Post $24, Postiz $29.
  • The announcement is written for Discord: generate_posts writes a short community-tone message under 2,000 characters and, from the same news, the Telegram, Bluesky and LinkedIn versions in one call.
  • The webhook is checked before it is saved, and again later: a link copied without its end is refused when you connect, and a deleted webhook shows as "reconnect" before a scheduled announcement is due.
  • A person approves what Claude queued: on paid plans, approval rules hold the post until you approve it from an emailed link.
Sources, all read on Oct 30, 2026:
  • Postiz — Post to Discord from Claude Cowork (Customize → Connectors → Add custom connector, https://mcp.postiz.com/mcp-oauth-dynamic; "Cowork sends it through the Postiz Discord bot"): postiz.com/claude-cowork/discord
  • Postiz pricing ("Start with a 7-day free trial"; Standard $29 a month, 5 channels): postiz.com/pricing
  • Upload-Post — Discord MCP server ("Start free, no card"; get an API key first; works with ChatGPT, Claude, Gemini, Cursor, Copilot, OpenCode): www.upload-post.com/mcp/discord/
  • Upload-Post llms-full.txt (Free 10 uploads a month, "no credit card required"; free-plan platforms "Instagram, LinkedIn, YouTube, Facebook, X, Threads, Pinterest, Reddit, Bluesky"; Basic $24 a month, 5 profiles; hosted MCP https://mcp.upload-post.com/mcp, API key or OAuth; Discord "via channel webhook"; its list of supported MCP clients): www.upload-post.com/llms-full.txt
  • Discord developer docs — Execute Webhook (content "up to 2000 characters"): discord.com/developers/docs/resources/webhook

Why post to Discord from Claude

  • The news is already in the chat: paste the release notes, a doc or the event details, and Claude writes the announcement from them, in your community's tone, and shows it before anything is sent.
  • One piece of news, every community: "announce it on Discord and Telegram" is one request with a version written for each. On the free plan one post reaches 2 networks; paid plans (from $19 a month) add Bluesky, LinkedIn, X and the rest in the same request.
  • Announcements on a schedule: "every Monday at 9, post this week's office hours to Discord" calls create_recurring_post, and PostWire repeats it with Claude closed.
  • A person can have the last word: on paid plans, a brand's approval rules hold what Claude queues until you approve it from an emailed link.

Source: PostWire's MCP server, Discord integration and plans, read Oct 30, 2026.

Discord's rules Claude works within

  • 2,000 characters per message, Discord's limit for a webhook message. Longer text is cut there, so ask for a summary with a link to the full notes.
  • One webhook, one channel: the webhook belongs to the channel it was created in, and PostWire posts there and nowhere else. It cannot read messages, see members or act anywhere else on the server.
  • One image or video per message, sent as a link that Discord embeds.
  • Posted by the webhook, under the name and avatar you gave it in Discord, not by your personal account.

Discord's limit: Execute Webhook, read Oct 30, 2026.

What it does not do

PostWire is not a Discord bot. It does not read or search messages, answer mentions, send direct messages, moderate, or manage roles and channels, and it does not list your server's channels: each connection is the one channel behind the webhook you pasted. It does not attach a file to the message itself; images and videos go as links Discord embeds.

Questions people ask

Can Claude post to Discord?

Not by itself. Claude writes the announcement, and a connector posts it. With PostWire connected from Claude's connector directory and a channel webhook pasted once, Claude posts or schedules Discord messages after you approve each one.

Do I need to create or host a Discord bot?

No. A channel webhook is enough: Edit Channel → Integrations → Webhooks → New Webhook → Copy Webhook URL, and paste it when Claude gives you the connect link. There is no bot token, nothing to invite and nothing to host.

How long can a Discord message from Claude be?

Up to 2,000 characters, Discord's limit for a webhook message. generate_posts keeps the draft under it; for long release notes, ask for the three main changes and a link to the full notes.

Can Claude post an image to Discord?

Yes, as a link under the text, which Discord shows as an embed. A file attached to the chat does not reach a connector, so Claude gives you an upload page (up to 100 MB on the free plan and 1 GB on paid plans); pick the file there and Claude adds it to the message.

Can Claude schedule a Discord announcement?

Yes. It calls schedule_post with a time up to 365 days ahead, or "next_slot" for your next free posting hour, and PostWire posts it at that time with Claude closed. The free plan keeps 3 posts waiting at once; paid plans have no such limit.

Can it post to several Discord channels?

Each connection is one channel's webhook. To announce in a second channel or another server, connect that channel's webhook under another brand (Starter has 3 businesses, Pro 10) and post to that brand too.

How much does it cost?

The free plan includes Discord and the MCP server: 1 business, 10 posts a month, 5 AI drafts a day, 2 networks per post, no card. Starter is $19 a month for 3 businesses and Pro $29 for 10, with every network in each post; paid plans have a 14-day refund.