mcpField
K
Kordi

Kordi

Remote
kordiapp.comFinance0Updated 20w ago

About Kordi

Kordi is a hosted remote MCP server from a subscription management platform, allowing MCP clients to read and analyze a user's streaming and SaaS subscriptions. It can also record new subscriptions and generate pause or cancellation links, with token-based access.

Key features

  1. 01List tracked subscriptions
  2. 02Assess billing health
  3. 03Find price hikes and savings
  4. 04Record new subscriptions
  5. 05Generate pause or cancellation links

Use cases

  1. 01Review monthly subscription spending
  2. 02Spot expiring trials or price hikes
  3. 03Pause or cancel services on explicit request
  4. 04Add discovered subscriptions to an account

MCP support

The remote MCP server provides tools and a `subscription-pulse` resource over Streamable HTTP, with Bearer-token authentication. MCP clients can read, analyze, and update account subscriptions and generate pause or cancellation links.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://kordiapp.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://kordiapp.com/mcpAuth required

Tools

Details

From the project README

Kordi MCP Server

smithery badge

Track, analyze, and act on your streaming & SaaS subscriptions — from any AI agent.

Kordi is a subscription intelligence platform. This Model Context Protocol server lets any MCP-speaking AI client — Claude Desktop, Cursor, Raycast, or your own agent — read a user's tracked subscriptions, score their billing health, surface savings, generate cancel/pause links, and push newly discovered subscriptions in.

It's a hosted, remote MCP server. There's nothing to install or run locally — you connect to a URL with a token.


Quick start

1. Get a token

Sign in at kordiapp.com and generate an API token at kordiapp.com/token. Tokens are valid for 90 days and grant read/write access to your own subscriptions only.

2. Connect your client

Claude Desktop — add this to your claude_desktop_config.json (see examples/):

{
  "mcpServers": {
    "kordi": {
      "type": "streamable-http",
      "url": "https://kordiapp.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN_HERE"
      }
    }
  }
}

Any client / raw HTTP — pass the token as a Bearer header (preferred — it never lands in logs, Referer, or history):

# List the available tools
curl -X POST "https://kordiapp.com/mcp" \
  -H "Authorization: Bearer YOUR_TOKEN_HERE" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

A legacy ?token=<token> query-string form is also accepted for back-compat, but prefer the header.

3. Ask away

"What am I paying for each month?" "Which subscriptions could I pause to save money?" "Do I have any price hikes or trials ending soon?" "I just signed up for Apple TV+ at $9.99/mo — track it."


Tools

ToolWhat it does
kordi_list_subscriptionsList the user's tracked subscriptions. Paginated (offset/limit), optional include_paused. Sensitive card fields are never returned.
kordi_analyze_billing_healthScore billing health 0–100: price hikes vs. market, dormant services, savings potential, billing-date clustering.
kordi_get_cancellation_routeGenerate a deep link to cancel or pause a service, and record the intent. Call only on explicit user request.
kordi_ingest_subscriptionPush a discovered subscription into Kordi (used by discovery sources like email/on-screen agents). Dedupes by name; returns a signed pause link.
kordi_get_top_showsMost-swiped / most-liked shows across all Kordi users. Aggregate only, no PII.

Plus a resource:

ResourceURIWhat it is
subscription-pulsekordi://subscription-pulseA proactive billing-health snapshot (expiring trials, next bill, monthly spend, savings, price alerts) for ambient feeds.

A platform-analytics tool (kordi_get_analytics) also exists but is restricted to administrators.

Tool detail
kordi_list_subscriptions — read

Args

  • include_paused (boolean, default false) — include paused subscriptions
  • offset (number, default 0) — pagination start
  • limit (number, 1–100, default 50) — page size

Returns

{
  "subscriptions": [ { "id": "netflix", "name": "Netflix", "price": 15.99, "billingDate": 12, "state": "ACTIVE" } ],
  "count": 1,
  "total_count": 1,
  "offset": 0,
  "limit": 50,
  "has_more": false,
  "total_monthly": 15.99
}
kordi_analyze_billing_health — read

Takes no arguments. Returns total monthly spend, active/paused counts, price_hikes, unused_services, savings_potential, top_savings_candidate, billing_clusters, and a health_score (0–100, higher is healthier).

kordi_get_cancellation_route — action

Args

  • service_id (string, required) — the exact id from kordi_list_subscriptions
  • reason (too_expensive | not_using | switching_service | finished_content, optional)

Returns { "success": true, "service": "Netflix", "cancellation_url": "https://…" }. Call only when the user explicitly asks to cancel or pause.

kordi_ingest_subscription — write

Args

  • name (string, required) — e.g. "Disney+"
  • amount (number, required) — monthly amount in USD
  • bill_date (number 1–31, or ISO date string) — billing day or date
  • source (qira | screenpipe | manual, optional) — discovery-source attribution

Dedupes by name (re-calling updates amount/bill date). Returns { status, subscription, pause_link, dashboard_url }.

kordi_get_top_shows — read

Args

  • limit (number, 1–50, default 10)
  • sort_by (swipes | likes | like_rate, default swipes)

Returns a cross-user popularity leaderboard. Aggregate only — no per-user data.


Auth & identity model

  • Your token resolves server-side to your Kordi account. Every tool call is scoped to your account — you can only ever see and act on your own subscriptions.
  • Identity is bound once per session at the edge; a session cannot be re-bound to a different user mid-stream.
  • Sensitive card fields (PAN, CVV, expiry, raw token) are stripped from every response — they never leave the server.
  • Tokens are short-to-medium-lived (90 days). Treat them as secrets. You can rotate at kordiapp.com/token at any time.

Limits

  • Rate limit: 20 tool calls per 60 seconds per session. Over the limit, tools return a back-off message instead of hitting the database — your agent should wait, not retry-loop.
  • Response size: large list responses are capped (~25k chars); page with offset/limit for big accounts.
  • Pause/cancel links are signed and expire after 7 days.

For integration partners

Discovery sources (email-intelligence agents, on-screen detection pipes, etc.) can push subscriptions into a user's Kordi account via kordi_ingest_subscription, or provision brand-new users via the public POST /api/guest-ingest endpoint. See kordiapp.com/developers for the partner provisioning flow, source attribution, and the x-partner-key model.

Links

License

Documentation and the registry manifest in this repository are released under the MIT License. The Kordi server, brand, and backend are proprietary; this repo does not contain server source code.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.