MCP Server logo

MCP Server

by retain-so

Connects AI agents to Retain for churn-risk analysis, customer profiles, revenue metrics, and alert updates.

Install MCP Server

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "mcp-server-155": {
      "command": "npx",
      "args": [
        "-y",
        "@retain-so/mcp-server"
      ],
      "env": {
        "RETAIN_API_KEY": "YOUR_VALUE_HERE",
        "RETAIN_API_URL": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Automated check passed— started and listed 7 tools correctly (7d ago).

Overview

The retain-so/mcp-server MCP server connects AI agents to Retain's customer analytics and churn-prevention platform. It translates MCP tool calls into HTTP requests against Retain's public agent API, providing read access to risk, customer, alert, and churn data. With a read-and-write agent key, it can also mark alerts as contacted or archive resolved alerts. Use it when an MCP client needs Retain data or limited retention workflow actions without opening the Retain dashboard.

Use cases

  • Identify customers at critical or high churn risk
  • Review MRR exposure from active churn alerts
  • Inspect a customer's full Retain health profile
  • Summarize churn and net revenue retention metrics
  • Record outreach or archive resolved alerts

Key features

  • Query customers by churn-risk category
  • Retrieve customer profiles by ID or name
  • Report MRR at risk and alert counts
  • Inspect active alerts and outreach state
  • Read churn and retention metrics
  • Update alert contact and archive status

Tools7

What MCP Server lets your agent do. Expand a tool for its parameters.

Verified live~644 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

8/8 checks healthy over the last 51d

What it can do

From the 7 tools this server returned when we ran it.

Read-only tools · 7
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceNot published
Package age138 days
Maintainers1

Observed 2026-10-21 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 2h ago via OSV.dev · @retain-so/mcp-server (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
npm downloads118Package downloads in the last 30 days.
Last commit2mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed7Callable tools this server registers over MCP.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Server works

What retain-so/mcp-server MCP server does

The retain-so/mcp-server MCP server exposes Retain data and selected alert actions through the Model Context Protocol. It is intended for agents that need to answer questions about customer churn risk, revenue exposure, customer health, and outreach status.

Read operations cover customers in four risk categories: Critical, High, Stable, and Healthy. Risk results are ordered by MRR, and the customer query defaults to Critical and High customers. An agent can also retrieve a complete customer profile using an ID or name, inspect active alerts, and review churn and retention metrics.

The retain-so/mcp-server MCP server also includes two write operations. An agent can mark an alert as contacted or archive an alert that has been resolved. These operations require a Retain agent key with read-and-write permissions.

How it works

The package runs as an MCP server and acts as a translation layer rather than an independent data store. It receives tool calls from an MCP client and sends corresponding HTTP requests to Retain's public /agent/* API. The server contains no business logic and does not maintain a database.

A typical interaction combines tools. For example, an agent can first retrieve total MRR at risk and alert counts, then request the highest-value at-risk customers for more detail. It can also list active alerts with their priority, risk factors, and outreach state before updating an alert after a customer contact.

Setup and configuration

Create an agent key in Retain under Settings → Agent keys. Choose read access for query-only use, or read and write access if the agent must update alerts. The key is displayed once and must be supplied through the RETAIN_API_KEY environment variable.

The package can be launched with npx -y @retain-so/mcp-server. Claude Code uses an claude mcp add command, while Claude Desktop, Cursor, and Windsurf can define the command and environment variable in their MCP configuration files. Restart the client after adding the configuration.

RETAIN_API_URL is optional and defaults to https://api.retain.so. It can point the server at another API base URL, such as a self-hosted or staging endpoint.

Tools and capabilities

The retain-so/mcp-server MCP server provides these tools:

  • get_at_risk_customers: Filters customers by churn-risk level and orders them by MRR. The default levels are Critical and High.
  • get_customer_details: Retrieves the full profile for a customer identified by ID or name.
  • get_mrr_at_risk: Returns total MRR at risk and active-alert counts grouped by risk level.
  • get_active_alerts: Lists active alerts by priority, including risk factors and outreach state.
  • get_churn_metrics: Reports churn rate, churned MRR, expansion, contraction, and net revenue retention.
  • mark_alert_contacted: Records that an alert has been contacted.
  • archive_alert: Archives a resolved alert.

The first five tools provide read access. The final two change alert state and therefore require a read-and-write key.

Limitations and notes

The server only exposes the tools listed above.

The server depends on Retain's API and a valid agent key. It does not itself calculate churn metrics, store customer records, or implement a separate database. Write actions are limited to marking alerts contacted and archiving alerts; broader customer or outreach mutations are not documented.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Server

retain-so/mcp-server is an MCP server that connects AI agents to Retain's churn-prevention and customer analytics platform. Its main tools query at-risk customers, customer profiles, MRR at risk, active alerts, and churn metrics, while read-and-write keys also enable marking alerts contacted and archiving resolved alerts.

Install it by running `npx -y @retain-so/mcp-server` from an MCP client configuration. Add a Retain agent key as `RETAIN_API_KEY`, then use the client-specific setup for Claude Code, Claude Desktop, Cursor, or Windsurf and restart the client.

Only `RETAIN_API_KEY` is required. Create the key in Retain under Settings → Agent keys and choose read or read-and-write permissions. `RETAIN_API_URL` is optional and defaults to `https://api.retain.so`; use it to override the API base URL.

Yes, with a read-and-write agent key. The server can mark an alert as contacted and archive a resolved alert. A read-only key supports the query tools but does not authorize these two write operations.

Yes. Configure it in Cursor's `.cursor/mcp.json` with the `npx -y @retain-so/mcp-server` command and `RETAIN_API_KEY` environment variable, then restart Cursor.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/mcp-server-155?style=directory)](https://allmcps.com/mcp/mcp-server-155)
HTML Embed
<a href="https://allmcps.com/mcp/mcp-server-155"><img src="https://allmcps.com/api/badge/mcp-server-155?style=directory" alt="MCP Server on AllMCPs" /></a>