Plain logoMCP server · Support

Plain MCP server

Plain in any MCP client, through Memtro: Plain does not publish this server. Memtro's Plain connector reads Plain through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.

What the model can do

Plain customer support: threads by status, priority, customer and label, full-text thread search, a thread's timeline of messages and notes, customers with their companies, and label types. Can reply to a thread, email a customer or reply to their email, start a thread, mark a thread Done or Todo, snooze, assign, unassign, reprioritise or rename it, add or remove labels, add an internal note, create or update an internal task, and permanently delete a thread.

Reads

  • plain_list_threadsPlain support threads, newest first: title, status (TODO, SNOOZED, DONE), priority, customer, assignee, labels and a preview.
  • plain_search_threadsFull-text search across Plain thread titles, message contents and customer names and emails.
  • plain_get_threadOne Plain thread with its timeline: the messages, notes and status changes, each with who and when, as Plain renders them in plain text.
  • plain_list_customersPlain customers with email, external id and the companies they belong to.
  • plain_list_label_typesThe label types threads are tagged with in Plain (Bug, Feature request, Billing…), with their ids for filtering plain_list_threads.

Acts, when you ask

These change something in Plain. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.

  • plain_add_labelsAdds labels to a Plain thread (Bug, Feature request…).
  • plain_create_taskCreates an internal Plain task (a to-do for the support team, not a thread and never sent to a customer)…
  • plain_create_noteAdds an internal note in Plain, on a customer or pinned to one of their threads.
  • plain_reply_to_threadReplies to the customer on a Plain thread, by the thread's own channel (email, Slack or form, whichever the customer last wrote on…
  • plain_send_new_emailEmails a Plain customer from the workspace's support address: a new thread unless thread_id is given.
  • plain_reply_to_emailReplies to one email in a Plain thread, threaded in the customer's mail client.
  • plain_create_threadStarts a new Plain thread for a customer, in Todo.
  • plain_mark_thread_doneMarks a Plain thread Done (nothing left for the team to do now).
  • plain_mark_thread_todoMoves a Plain thread back to Todo: reopens a Done thread or unsnoozes a snoozed one.
  • plain_snooze_threadSnoozes a Plain thread, either for a number of minutes or until the customer replies.
  • plain_assign_threadAssigns a Plain thread to one teammate (a user) or machine user, replacing whoever is its primary assignee now.
  • plain_unassign_threadRemoves the primary assignee from a Plain thread, leaving it unassigned.
  • plain_change_thread_prioritySets a Plain thread's priority, 0 (urgent) to 3 (low).
  • plain_update_thread_titleRenames a Plain thread (replaces its title).
  • plain_remove_labelsRemoves labels from a Plain thread, named by their label type ids (from plain_list_label_types).
  • plain_update_taskUpdates an internal Plain task: only the fields given change (title, description, status, priority, company account, assignee).
  • plain_delete_threadPermanently deletes a Plain thread and everything in it (messages, notes, labels).

Connect it

First connect Plain on Dashboard → Connections, then add Memtro to your client once. The Plain tools appear alongside the tools of everything else you have connected; nothing is configured per connector.

Claude Code

The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.

claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...

Cursor

Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.

{
  "mcpServers": {
    "memtro": {
      "url": "https://platform.memtro.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk-memtro-..."
      }
    }
  }
}

Claude Desktop

Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…

OpenCode

A remote server in opencode.json.

{
  "mcp": {
    "memtro": {
      "type": "remote",
      "url": "https://platform.memtro.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk-memtro-..."
      }
    }
  }
}

Pi

One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.

Any other client

Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.

Who may use it

The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Plain connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.

Ask it like this

  • › What is open in support right now, by priority?
  • › Which threads from Acme have come in this month?
  • › Has anyone reported the export timeout error this week?
  • › Reply to thread T-123 that the fix ships on Thursday
  • › Label that thread as Bug and assign it to Dan Fletcher

Questions

Is this an official Plain MCP server?
No. It is Memtro's MCP server with Memtro's Plain connector behind it: the connector reads Plain through its API with the credentials you connect on Dashboard → Connections, and Plain publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
What does it cost?
Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
Can it change anything in Plain?
Only when you ask, and only what it has been granted: add an internal note to a customer or one of their threads; add labels to a thread; create an internal task for the support team; reply to the customer on a thread; email a customer, as a new thread or on an existing one; reply to a customer's email; start a new thread for a customer; mark a thread Done; move a thread back to Todo; snooze a thread; assign a thread to a teammate; unassign a thread; change a thread's priority; rename a thread; remove labels from a thread; update an internal task; permanently delete a thread. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
Which clients work?
Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.

Other MCP servers · Support

Where agents remember your company

Sign in, add a provider key, create an API key and point your tools at Memtro. It takes about five minutes.

7-day free trial · card on file, nothing charged until it ends · cancel any time