Tandem·DocsSign in

Integrations

Connect to Claude.ai

Tandem connects to Claude.ai as an MCP (Model Context Protocol) server. Once connected, you can manage your entire book of business through natural language — no tab switching, no copy-pasting.

What you can do

Ask Claude things like:

  • "Show me my Acme plan" — pull the full plan including phases, milestones, tasks, and stakeholders
  • "What are my biggest risks this week?" — search signals across your entire portfolio and surface critical blockers
  • "Create a plan for Globex — 500-person SaaS, 6-month implementation" — spin up a new plan in seconds
  • "Mark the SCIM provisioning task complete on Acme and add a security review milestone" — update plans directly from your conversation
  • "What's on my brief today?" — get your daily morning brief with key items, risks, and recommended actions
  • "Add Dev Kulkarni as a stakeholder on the Acme plan — he's the IT lead" — manage stakeholders without leaving Claude

Why it matters

Works in any conversation. No context switching. Ask Claude about your accounts while drafting emails, prepping for QBRs, or analysing data.

Full portfolio awareness. Claude can see all your plans, risks, and signals — and reason across your entire book of business.

Actions, not just answers. Claude can create plans, complete tasks, add stakeholders, and log notes — directly from the conversation.

Set up in 3 steps

Claude Connector settingsSS-027 · Settings Claude Connector page with MCP URL and setup steps

  1. Open Claude.ai Settings → Connectors (or Integrations)
    Click "Add connector" and paste your MCP Server URL. You can find the URL in Tandem at Settings → Claude Connector.

  2. Authorise Tandem
    You'll be redirected to Tandem to approve access. Sign in if needed, then click "Allow access".

  3. Start a conversation
    Claude now has access to your plans in every conversation. Try "show me my plans" to start.

Your MCP server URL is: https://www.tandemplan.xyz/api/mcp

Claude.ai conversation with TandemSS-028 · Claude.ai conversation showing Tandem tool response

Available tools

ToolDescriptionScope
list_plansList all your plans with status, health, and key timestampsread
get_planFull plan detail — phases, tasks, stakeholders, signals, healthread
search_signalsSearch risks/alerts/opportunities; filter by plan, severity, rule, dateread
get_portfolio_summarySingle-call portfolio rollup — health/status counts, signals, overdue tasks, upcoming go-livesread
get_morning_briefToday's pre-generated brief — curated items and recommended actionsread
create_planCreate a new customer success planwrite
update_plan_metadataUpdate account, go-live date, lifecycle status, or healthwrite
archive_planSoft-delete a plan (reversible via restore_plan)write
restore_planReturn an archived or completed plan to activewrite
add_phaseAdd a phase to a planwrite
add_milestoneAdd a milestone to a phasewrite
update_milestoneUpdate milestone fieldswrite
add_taskAdd a task to a milestonewrite
update_taskUpdate task fieldswrite
complete_taskMark a task done (records who and when) or reopen itwrite
add_stakeholderAdd a stakeholder to a planwrite
update_stakeholderUpdate stakeholder detailswrite
dismiss_signalDismiss a signal (reversible — sets dismissed_at, doesn't delete)write
log_noteAdd a free-form note to a plan's activity logwrite

Plan status vs. health

update_plan_metadata exposes two independent fields:

  • status — lifecycle state, set explicitly by you. One of active, complete, archived. Controls whether a plan appears in the active portfolio or the archived list.
  • health — the CSM traffic light, your assessment of how the engagement is going. One of healthy, watch, at_risk, unset. An active plan can be at_risk; pass unset to clear a previously-set health.

Both fields are optional and can be updated together. Examples:

  • "Mark Acme as at-risk"update_plan_metadata(plan_id='…', health='at_risk')
  • "Archive the Globex plan"archive_plan(plan_id='…')
  • "Wrap Acme up — complete and back to healthy"update_plan_metadata(plan_id='…', status='complete', health='healthy')

Example prompts

Ask ClaudeTool used
"What's the state of my portfolio?"get_portfolio_summary
"What's at risk this week?"search_signals(severity='critical', since='…')
"What's on Globex?"get_plan(account_name='Globex')
"Set Acme to at-risk"update_plan_metadata(health='at_risk')
"Archive the Stark plan"archive_plan
"Dismiss the stale-health signal on Acme"dismiss_signal
"Add a security review milestone to Acme's onboarding phase"get_planadd_milestone
"What's on my brief today?"get_morning_brief

Tool naming conventions

  • list_* / get_* — read operations
  • search_* — filtered/paginated reads
  • create_* — new top-level entities (plans, etc.)
  • add_* — new child entities (phase, milestone, task, stakeholder)
  • update_* — modify an existing entity in place
  • complete_* / archive_* / restore_* / dismiss_* — reversible state transitions

What's UI-only (not exposed via MCP)

Some operations are intentionally available only in the Tandem UI to prevent destructive AI-mediated mistakes:

  • Hard delete of plans, phases, milestones, tasks, or stakeholders. Use archive_plan (reversible) when the user wants a plan out of their active list.
  • Reordering of phases/milestones — low-stakes but adds little value via natural-language interfaces.
  • Reviews and exports — generated through dedicated UI flows.

If a user asks for one of these, point them to the Tandem UI rather than attempting a workaround.

Security & privacy

  • OAuth 2.1 with PKCE — standard secure authorisation, no passwords shared
  • Tokens expire after 1 hour and rotate on refresh
  • All tool calls are logged to your plan activity feed
  • Revoke access at any time from Settings → Claude Connector
  • Rate limited: 200 read calls / hour, 30 write calls / hour

Tandem only shares data from plans you own. Claude never sees your password.

Troubleshooting

Connection appears to fail after clicking "Allow access"
Make sure you're signed in to Tandem before starting the OAuth flow. If the connection shows as "expired" immediately, try disconnecting and reconnecting from Claude.ai.

Claude can't see my plans
Verify the connection is active at Settings → Claude Connector. If no active connections are listed, reconnect from Claude.ai.

Rate limit errors
Read operations are limited to 200/hour and write operations to 30/hour per user. When the limit is hit Tandem returns a structured 429 response so Claude can explain what happened and decide whether to wait:

{
  "error": "rate_limit_exceeded",
  "message": "You've used all 30 write operations this hour. Limit resets at … (NN minutes from now).",
  "limit_type": "writes_per_hour",
  "limit": 30,
  "operations_used": 30,
  "operations_remaining": 0,
  "retry_after_seconds": NN,
  "reset_at": "…"
}

If you hit limits frequently as a power user, contact support — trusted users can be granted higher caps.

Tool call fails with "Plan not found"
Ensure the plan name or ID you're referencing belongs to your account. Claude is scoped to your plans only.

Related

Was this helpful?

Last updated May 6, 2026