How to connect Plain MCP to Claude

Connect Claude Web, Desktop and Cowork to Plain MCP. Summarize unresolved plain support threads, find customers with overdue support replies, and more using natural language, with authentication handled for you.

Plain MCP logoPlain MCP
Dcr Oauth

Plain MCP is Plain's hosted support platform for threads, customers, tenants, and help-center content. It gives teams a secure, centralized way to manage customer support operations.

80 Tools

Introduction

Claude is Anthropic's AI assistant, available on the web, in the desktop app, and on mobile. Cowork is its agent for knowledge work, and it runs on all of those surfaces too. Connected to your apps, Claude can work with your files and services to accomplish complex tasks on your behalf.

This guide walks you through the easiest and most secure way to connect your Plain account to Claude via Composio Connect, enabling it to summarize unresolved Plain support threads, find customers with overdue support replies, review recent Sidekick sessions and outcomes, and more such actions on your behalf without compromising your account security.

Setup is the same on Claude Web, Desktop, and Cowork, and you only need to do it once. The connector is tied to your account, so it's available in all three.

Also integrate Plain MCP with

Connecting Plain to Claude Web, Desktop, and Cowork

Two ways to add the Composio connector. Pick whichever you prefer.

1. Add with one click

Click the button. Claude opens with the Composio connector filled in. Click Add, then go to step 2.

Add to Claude

Add manually

In Claude Desktop, click Customize in the left sidebar, then select Connectors and click the + icon at the top.

Claude Desktop connectors screen with Add custom connector selected

Click Add custom connector and paste in the Composio MCP server URL:

bash
https://connect.composio.dev/mcp
Add custom connector dialog with Composio MCP server URL

2. Authorize in your browser

Click Connect. You'll be redirected to a browser window where you can authorize Composio to continue.

Composio authorization screen for Claude Web, Desktop, and Cowork

3. Connect your Plain account

Back in Claude, ask it to connect to Plain or give it any Plain-related task.

For example, ask Claude to:

  • "Summarize unresolved Plain support threads"
  • "Find customers with overdue support replies"
  • "Review recent Sidekick sessions and outcomes"

It will prompt you to authenticate and authorize access.

That's it. Composio's tools are now available in Claude, and your Plain account is ready to use.

What is the Plain Claude Connector, and what's possible with it?

The Plain MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Plain account. It provides structured and secure access to Plain support threads, customers, broadcasts, help-center content, Sidekick sessions, and workspace details, so your agent can read and update support work, manage customer conversations, publish and inspect broadcasts, and retrieve help-center content on your behalf.

  • Support thread management: Have your agent create threads, assign them, change priority, add labels and internal notes, suggest replies, update custom fields, and link them to external records.
  • Customer conversation lookup: Let the agent list customers, fetch customer details, and review the threads connected to each customer.
  • Broadcast coordination: Direct your agent to create and manage broadcasts for Slack channels, organize reusable audiences, review send history and delivery results, or remove outdated broadcasts.
  • Help-center content access: Instruct your agent to find help centers, article groups, and articles, then retrieve specific articles by their ID or slug.
  • Workspace and Sidekick assistance: Have your agent check workspace and user details, read snippets and labels, and poll Sidekick sessions for their status, latest messages, or pending approvals.

Troubleshooting

1. Why does Claude not use the Composio connector for Plain?

The connector can show as connected, but Claude must use it in each Plain conversation.

  • Click + at the lower left of the chat, or type /.
  • Hover Connectors.
  • Turn on Composio.
  • Ask Claude to connect to Plain again.

2. Why does Claude show an MCP server error before Plain connects?

Claude can show Couldn't reach the MCP server or Authorization with the MCP server failed when you add the connector for Plain.

  • Check that the connector URL is https://connect.composio.dev/mcp.
  • Connectors run from Anthropic's cloud, so your device network is usually not the problem.
  • Add the connector again from Customize > Connectors, then ask Claude to connect Plain.
  • If it fails again, send the error and the ofid_ reference id to support@composio.dev.

3. Why does the Plain authorization link not work?

The Composio connector is one server. Your Plain account connects separately when Claude asks for it.

  • If the browser does not open, or the link expires, ask Claude to retry the Plain connection.
  • Composio creates a fresh Plain authorization link.
  • Open that link in your browser and finish the Plain sign-in.

4. Why do Plain actions fail after they worked before?

The Plain connection can expire or lose permission.

  • Ask Claude to inspect the Plain connection.
  • If the connection is unhealthy, disconnect it when Claude prompts you.
  • Reconnect the Plain account and retry the action.
  • If Claude shows a permission prompt, approve it before Claude changes data in Plain.
  • If the action still fails with a permission error, check that the connected account has that permission in Plain itself.

5. How do I switch to a different Plain account?

Claude can manage the Plain connection for you.

  • Ask Claude to disconnect or delete the current Plain account.
  • Ask Claude to connect Plain again.
  • Open the new Composio authorization link for Plain.
  • Sign in with the other Plain account in the browser.
  • After the account connects, ask Claude to retry the Plain task.

6. Why is my Plain connection missing in Claude Desktop or on a Team plan?

The connector belongs to your Claude account, so your Plain connection works in Claude Web, Desktop, and Cowork.

  • In Claude Desktop, open Customize > Connectors.
  • Next to Composio, click ⋮ and click Clear cache.
  • If Plain tools still do not appear, click ⋮, disconnect, remove the connector, and add it again.
  • On Team or Enterprise, an Owner or Primary Owner must enable the connector before you can connect Plain.
TOOLS

Supported Tools

Every Plain MCP action and event your agent gets out of the box.

Addgeneratedreply

Add an AI-generated reply suggestion to a thread.

Addlabels

Add labels to a thread by label type IDs.

Archivelabeltype

Archive a label type to hide it from the active label list.

Assignthread

Assign a thread to a user or machine user.

Bulkupsertthreadfields

Bulk upsert (create or update) multiple thread field values in a single operation.

Changethreadpriority

Change the priority of a thread.

Createbroadcast

Create a new broadcast: a message authored once and posted to many Slack channels at once.

Createbroadcastaudience

Create a reusable broadcast audience: a named set of broadcast recipients, resolved to concrete Slack channels at send time rather than when saved.

Createlabeltype

Create a new label type for organizing threads.

Createnote

Create an internal note on a thread.

Createsnippet

Create a new snippet (reusable reply template) in the workspace.

Createthread

Create a new thread for a customer.

Createthreadfieldschema

Create a new thread field schema to capture structured data on threads.

Createthreadlink

Link a thread to an external entity (e.

Createworkspaceslackintegrationfromauth

Connect workspace Slack notifications using a Slack connection the workspace already has.

Deletebroadcast

Soft-delete a broadcast.

Deletebroadcastaudience

Soft-delete a broadcast audience.

Deletethreadfieldschema

Delete a thread field schema from the workspace.

Deletethreadlink

Remove a link between a thread and an external entity.

Getattachmentdownloadurl

Generate a short-lived download URL for an attachment on a thread.

Getbroadcastaudiencedetails

Fetch a single broadcast audience by its ID, or null if no audience with that ID exists.

Getbroadcastaudiences

Fetch a paginated list of the workspace's broadcast audiences, newest first.

Getbroadcastdetails

Fetch a single broadcast by its ID, including its authored content and who it is targeted at.

Getbroadcasts

Fetch a paginated list of the workspace's broadcasts, newest first.

Getbroadcastsenddeliveries

Fetch the individual recipients of one broadcast send — which channel got the message, which did not, and why.

Getbroadcastsends

Fetch the send history of one broadcast, newest first.

Getcustomerdetails

Fetch detailed information about a specific customer by their ID.

Getcustomers

Fetch a paginated list of customers from Plain.

Getcustomerthreads

Fetch first 10 threads for a specific customer.

Gethelpcenterarticle

Fetch detailed information for a specific help-center article by ID.

Gethelpcenterarticlebyslug

Fetch detailed information for a specific help-center article by slug.

Gethelpcenterarticlegroups

Fetch a paginated list of article groups for a specific help center.

Gethelpcenterarticles

Fetch a paginated list of articles for a specific help center.

Gethelpcenters

Fetch a paginated list of help centers.

Getlabels

Fetch a paginated list of label types from Plain.

Getmyassignedthreads

Fetch first 10 threads assigned to a specific user in Plain.

Getmyuser

Get the currently authenticated user's details.

Getmyworkspace

Get the currently authenticated user's workspace details.

Getsidekicksession

Poll a Sidekick session: read its status, its newest messages, and any approval it is blocked on.

Getsnippet

Fetch a single snippet by ID, including soft-deleted snippets (where `isDeleted` is true).

Getsnippets

Fetch a paginated list of snippets from the workspace.

Gettenantdetails

Fetch detailed information about a specific tenant by their ID.

Gettenants

Fetch a paginated list of tenants from Plain.

Getthreaddetails

Fetch complete details for a specific thread including first 50 timeline entries.

Getthreadfieldschemas

Fetch a paginated list of thread field schemas from Plain.

Getthreadknowledgesourcecitations

Fetch the knowledge sources cited by AI agent replies on a thread.

Getthreads

Fetch threads with flexible filtering options.

Getuserbyemail

Look up a Plain user by their email address.

Listsidekicksessions

List Sidekick sessions in the workspace, most recent activity first.

Markcustomerasspam

Flag a customer as spam.

Markthreadasdone

Mark a thread as done (resolved).

Markthreadastodo

Mark a thread as todo (reopen or set as active).

Mergethread

Merge one Plain thread into another (a `MERGED_INTO` native thread link).

Movelabeltype

Move a label type to a different position in the label hierarchy.

Removelabels

Remove labels from a thread by label IDs.

Reorderthreadfieldschemas

Reorder multiple thread field schemas in a single operation.

Replytothread

Reply to the last message in a thread.

Resolvesidekickapproval

Approve or deny a Sidekick tool-call approval request.

Searchbroadcasts

Search broadcasts by name.

Searchcustomers

Search for customers by name, email, short name, or external ID.

Searchtenants

Search for tenants by name or external ID.

Searchthreadlinkcandidates

Search a connected issue tracker for external entities that can be linked to a thread via `createThreadLink`.

Searchthreads

Search threads by text content in title, description, or messages.

Sendsidekickmessage

Send a follow-up message into an existing Sidekick session.

Sendtestbroadcast

Send a test copy of a broadcast to Slack channels you name, so you can see what recipients will get before the real audience does.

Snoozethread

Snooze a thread for a specified duration.

Startsidekicksession

Start a new Sidekick session and return the handle used by every other Sidekick tool.

Unarchivelabeltype

Unarchive a previously archived label type to make it available again.

Unassignthread

Unassign a thread, removing the current assignee.

Unmarkcustomerasspam

Clear the spam flag from a customer, restoring their threads to the inbox and metrics.

Updatebroadcast

Update one or more fields of an existing broadcast.

Updatebroadcastaudience

Update a broadcast audience's name, filters, or both.

Updatelabeltype

Update an existing label type's properties.

Updatethreadfieldschema

Update an existing thread field schema's properties.

Updatethreadtitle

Update the title (subject line) of an existing thread.

Upsertcustomer

Create or update a customer.

Upserthelpcenterarticle

Create or update a help-center article.

Upserttenant

Create or update a tenant.

Upserttenantfield

Create or update a tenant field.

Upsertthreadfield

Upsert (create or update) a thread field value on a thread.

FAQ

Frequently asked questions

With a standalone Plain MCP server, the agents and LLMs can only access a fixed set of Plain tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Plain and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. Claude Cowork fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Plain tools.

Yes, absolutely. You can configure which Plain scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Plain data and credentials are handled as safely as possible.

Start with Plain MCP.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Plain MCP tool your agent needs.Free to start.

Start building