tufu
Start free
Docs menu

Human handoff

tufu in your own Claude

Work your support from Claude Code, Claude Desktop, Cursor or any MCP client: see what's waiting, read a conversation, reply, and answer what your bots couldn't.

On this page

tufu has an MCP server, so the AI tools you already use can work your support with you. Ask Claude "What's waiting for me in tufu?", read the conversation, and have it draft a reply you send from there. Your reply reaches the visitor wherever they wrote from: the chat on your site, email, Slack, Discord or Telegram. It's part of the Team plan.

Make a key#

  1. In tufu, open Settings → API keys.
  2. Give the key a name, like "Claude Code on my laptop", and tick what it can do.
  3. Press Make the key. Copy it now: it's shown once, inside the configs on the same page.

A key acts as you, in that team only. It does only what you ticked, and it stops working when you revoke it or leave the team. Each teammate makes their own.

What it can do Tools Who
Read the inbox needs_you, get_conversation everyone
Reply and resolve reply, resolve everyone
Read reports and knowledge gaps report_summary, list_gaps admins
Answer gaps and add questions and answers answer_gap, add_qa, list_gaps admins

Only reading the inbox is ticked to start with. Tick Reply and resolve only for a key you'll use to answer visitors: a reply goes to them as you.

Add it to your client#

The server is https://tufu.ai/mcp/. It takes your key as a bearer token.

Claude Code, in a terminal (add --scope user to have tufu in every project):

Text
claude mcp add --transport http tufu https://tufu.ai/mcp/ --header "Authorization: Bearer YOUR_TUFU_KEY"

Claude Desktop: open Settings → Developer → Edit Config, add this to claude_desktop_config.json, and restart Claude. It runs the server through mcp-remote, so it needs Node.js.

Text
{
  "mcpServers": {
    "tufu": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://tufu.ai/mcp/",
        "--header",
        "Authorization:${TUFU_AUTH}"
      ],
      "env": {
        "TUFU_AUTH": "Bearer YOUR_TUFU_KEY"
      }
    }
  }
}

Cursor: add this to ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one project).

Text
{
  "mcpServers": {
    "tufu": {
      "url": "https://tufu.ai/mcp/",
      "headers": {
        "Authorization": "Bearer YOUR_TUFU_KEY"
      }
    }
  }
}

Put your key where it says YOUR_TUFU_KEY. Other MCP clients that speak streamable HTTP work the same way: the address above, and an Authorization: Bearer header with your key.

What you can ask#

  • "What needs me?" needs_you lists the conversations waiting for a person, newest first, with the handoff's summary.
  • "Show me that one." get_conversation reads it: the visitor, the page they were on, the messages and your team's notes, and the suggested reply when there is one.
  • "Reply that we've refunded it." reply sends it as you, through your inbox, so your team sees it there too (marked "via mcp"). As in the inbox, a reply starting with // is a note only your team sees, /send sends the suggested reply, and a saved reply's /name sends that.
  • "Close it." resolve marks it resolved. If the visitor writes again, the bot answers.
  • "What couldn't the bot answer this week?" list_gaps shows the knowledge gaps, most asked first, and answer_gap writes the answer into the bot's knowledge.
  • "Add that our hours are 9 to 5." add_qa adds a question and its answer to the bot's Questions and answers.
  • "How did support go this month?" report_summary gives the numbers from Reports.

Your client asks before it calls a tool unless you've allowed it, so you see a reply before it goes.

Limits#

A key can make 60 calls a minute, and 10 of them can change something (a reply, a resolve, an answer). Past that, the server asks the client to wait a minute.

Questions#

Does it work in claude.ai? Not yet: claude.ai's connectors sign in a different way, which tufu doesn't offer yet. Claude Code, Claude Desktop and Cursor work today.

Can a key see another team? No. A key belongs to one team. If you're on two, make a key in each.

I lost my key. Revoke it in Settings → API keys and make a new one. tufu keeps only a scrambled copy, so it can't show it again.