co.churnkey/churnkey

Official registry Finance and payments

Read and manage Churnkey cancel flows, retention metrics, and payment recovery

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http churnkey 'https://mcp.churnkey.co/mcp'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "churnkey": {
            "type": "http",
            "url": "https://mcp.churnkey.co/mcp"
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Churnkey SDK
  2. Packages
  3. Quick start
  4. Documentation and resources
  5. Repo layout
  6. Local development
  7. License

Churnkey SDK

A production-ready cancel flow for React. Open source. Optionally connects to Churnkey for analytics and AI-powered retention.

Packages

PackageDescription
@churnkey/reactThe cancel flow. Drop-in component, headless hook, or core state machine. React 18 and 19.
@churnkey/nodeServer-side token generation. Only needed if Churnkey is handling billing actions for you, or if you're using the hosted embed.
@churnkey/mcpModel Context Protocol server. Lets Claude, Cursor, and other AI agents query your Churnkey data (sessions, analytics, DSR) using a Data API key.

Quick start

npm install @churnkey/react
import { CancelFlow } from '@churnkey/react'
import '@churnkey/react/styles.css'

<CancelFlow
  steps={[
    {
      type: 'survey',
      title: 'Why are you leaving?',
      reasons: [
        {
          id: 'expensive',
          label: 'Too expensive',
          offer: { type: 'discount', couponId: 'STRIPE_SAVE20', percentOff: 20, durationInMonths: 3 },
        },
        { id: 'not-using', label: 'Not using it enough', offer: { type: 'pause', months: 2 } },
        { id: 'missing', label: 'Missing features' },
      ],
    },
    { type: 'feedback', title: 'Anything else?' },
    { type: 'confirm' },
  ]}
  handleDiscount={async (offer) => myBilling.applyCoupon(offer.couponId)}
  handlePause={async (offer) => myBilling.pause({ months: offer.months })}
  handleCancel={async () => myBilling.cancel()}
  onClose={() => setOpen(false)}
/>

Documentation and resources

Repo layout

sdk/
├── packages/
│   ├── react/      @churnkey/react
│   ├── node/       @churnkey/node
│   └── mcp/        @churnkey/mcp
├── apps/
│   └── playground/ internal dev playground
└── scripts/        release + tooling helpers

Local development

pnpm install
pnpm --filter @churnkey/react build
pnpm --filter @churnkey/react test

To work against the playground:

pnpm --filter @churnkey/react dev    # rebuilds on change
pnpm --filter @churnkey/playground dev   # runs the playground app

License

MIT

Frequently asked questions

What is co.churnkey/churnkey?

Read and manage Churnkey cancel flows, retention metrics, and payment recovery

How do I install co.churnkey/churnkey?

It runs as a remote server. In Claude Code: claude mcp add --transport http churnkey 'https://mcp.churnkey.co/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does co.churnkey/churnkey need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is co.churnkey/churnkey open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains co.churnkey/churnkey?

It is published by churnkey. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.