MCP server

Your support inbox and outbound, in Claude.

Connect Userport to Claude, Claude Code, Cursor or any MCP client and work your inbox in plain language: see who is waiting, read a thread, draft and send the answer, close what is done. Then ask it to write the onboarding sequence, send you a test, and tell you where people drop off.

Server URL https://mcp.userport.io/mcp
How to connect

Streamable HTTP with OAuth 2.1: sign in with your Userport account, no API key. On every plan, including the free one.

What you can ask

Ask for the outcome, not the clicks.

Each of these is several tool calls behind the scenes — a list, a thread, a report — put together into one answer.

  • “Who is still waiting for a reply, oldest first?”
  • “Summarise today's unread conversations and draft an answer to each.”
  • “Close everything that's been answered and snooze the rest until Monday.”
  • “Which step of the onboarding sequence loses the most people?”
  • “Write a three-email trial-ending sequence for people who never installed the widget.”
  • “Send me a test of step two before we set it live.”
  • “How did outbound do last month compared with the month before?”
  • “Is anyone from yesterday still without an answer?”

Connect

One URL, then sign in.

Your client registers itself and sends you to a Userport sign-in page. You choose what to allow, and the connection belongs to your account. See and revoke connections in Settings → Connect.

  1. 1 In the Claude app or on claude.ai, open Settings → Connectors → Add custom connector.
  2. 2 Paste the server URL below and save.
  3. 3 Sign in with your Userport account when the authorization page opens, and choose what to allow.
https://mcp.userport.io/mcp
  1. 1 Run this in your terminal, then type /mcp inside Claude Code to authorize.
claude mcp add --transport http userport https://mcp.userport.io/mcp
  1. 1 Add Userport to .cursor/mcp.json in your project, or ~/.cursor/mcp.json globally, then approve the sign-in prompt.
{
    "mcpServers": {
        "userport": {
            "type": "http",
            "url": "https://mcp.userport.io/mcp"
        }
    }
}
  1. 1 Any client that speaks streamable HTTP with OAuth 2.1 can connect. Most of them take this config shape.
{
    "mcpServers": {
        "userport": {
            "type": "http",
            "url": "https://mcp.userport.io/mcp"
        }
    }
}

Tools

8 tools. Reading is one permission, acting is another.

A connection granted read only never sees the tools that act — they are not hidden behind an error, they are not registered for it at all.

userport_workspaces List workspaces Read-only

Every workspace you can reach, with how many conversations are open, unread and snoozed. The call an assistant makes first.

userport_conversations List conversations Read-only

List or search conversations one view at a time, with the field that matters for triage: whether the customer is still waiting for a reply.

userport_conversation Read a conversation Read-only

One conversation end to end, as plain text, with whether a reply can be delivered right now.

userport_outbound Read outbound messages and sequences Read-only

Read outbound messages and sequences, and what an audience can be built from.

userport_outbound_report Read outbound results Read-only

Results by date range: a sequence's funnel step by step, a message's own counts, deliverability, and a preflight of what blocks going live.

userport_reply Reply to a customer Can act

Reply into a conversation, or start a new email thread. Sends immediately, under your name.

userport_conversation_state Change a conversation's state Can act

Close, reopen, snooze, flag as spam, or mark read or unread. Sends nothing to the customer.

userport_outbound_manage Create and change outbound messages and sequences Can act

Create and edit outbound messages and sequences, send yourself a test, and set them live, pause or stop them.

Prompts

Saved methods you pick from your client's prompt menu.

/triage_inbox Triage the support inbox

Go through everything waiting in a workspace and produce a prioritised list: who has been waiting longest, what each thread actually needs, and what can be closed.

/answer_conversation Draft a reply to a customer

Read one conversation in full and draft a reply in the support team's voice — grounded only in what the thread actually says, and stopping short of sending it.

Permissions

What it can and cannot do to your account.

These are the words the consent screen shows when you connect.

Read your support inbox

mcp:use

Every conversation, message and contact in every workspace you own — the same threads you can already open in the inbox — plus your outbound messages, sequences and their results. Nothing can be changed and nothing is sent.

Answer customers on your behalf

mcp:write

Send replies to your customers; close, snooze, reopen or flag conversations; and create, test and launch outbound messages and sequences. A reply goes out immediately, under your name, and cannot be recalled. A sequence goes live only after its checks pass and its name is typed back.

A reply is real, and it is yours to approve.

Replying needs the write permission. A reply goes out the moment it is sent, under your name, with no outbox to catch it, and the server tells the assistant to send only text you have seen and asked it to send.

Saving never sends.

An assistant can draft a whole sequence, but saving writes a draft. Setting it live refuses until the preflight is clean, every warning is acknowledged, and the sequence's exact name is typed back. After that, the same sending limits and bounce and complaint circuit breakers as the dashboard apply.

The same checks as the dashboard.

Tools call the same services the editor does, so a sequence written in Claude is validated exactly like one built by hand. There is no raw database access and no second set of rules.

What it cannot touch.

It does not read or write help center articles, edit contacts or change billing. It reaches only the workspaces you belong to, and every write is recorded against your name.

Frequently asked questions

What is the Userport MCP server?

An MCP (Model Context Protocol) server at https://mcp.userport.io/mcp that connects Claude, Claude Code, Cursor and other MCP clients to your Userport workspaces. An assistant can triage and answer support conversations, and read, write, test and launch outbound messages and sequences.

Is the Userport MCP server free?

Yes. It is available on every plan, including the free one. Paid plans start at $12 a month per workspace.

Do I need an API key?

No. The server uses OAuth 2.1 with dynamic client registration: paste the URL into your client, sign in with your Userport account, and choose what to allow. You can revoke a connection in Settings → Connect.

Can an assistant send messages to my customers?

Only with the write permission, which the consent screen marks separately. Replies send immediately and cannot be recalled. Outbound sequences go live only after their checks pass and their name is typed back.

Which AI clients work with it?

Any client that supports remote MCP servers over streamable HTTP with OAuth: Claude, Claude Code, Cursor, and ChatGPT where custom connectors are available.

How do I get help connecting?

Email [email protected]. It reaches the people who build the server.

What Userport is as a whole: about Userport. The agent-readable summary is at /llms.txt.

You need conversations in it first.

Add the widget or forward your support email, then connect your assistant. Free plan, no credit card.

No credit card. No commitment.