# Cancel My Sub

> How to cancel US and UK subscriptions, the last safe day to cancel, and what a card charge is.

- name: io.github.GoodTurnStudio/cancelmysub
- version: 1.3.0
- connection class: R0 (autonomous)
- trust: 89/100 flags: duplicate-repo
- quality: 91/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.GoodTurnStudio%2Fcancelmysub
- tools: https://api.protogrid.dev/v1/servers/io.github.GoodTurnStudio%2Fcancelmysub/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "cancelmysub": {
      "type": "http",
      "url": "https://goodturn-mcp.pages.dev/cancelmysub/mcp"
    }
  }
}
```


## Trust

- hygiene: 60
- liveness: 100
- freshness: 100
- provenance: 90
- drivers: +repository +namespace-matches-repo +website +reachable +uptime-100% +updated-22d-ago -duplicate-repo(28 names)
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 91/100 (strong)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 4 of 4 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 933 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 4 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 4, about 933 tokens to load them all
- tool set hash: ddb2d8e7cf0b871f3e97a0f757ff050c
- tools last changed: 2026-09-29T05:09:12.114Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.GoodTurnStudio/cancelmysub.svg)](https://protogrid.dev/servers/io.github.GoodTurnStudio/cancelmysub)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-09-29 `list_services` changed (description, inputSchema, annotations)
  - before: Every subscription Cancel My Sub covers. Use for "which subscriptions can you help me cancel?" or "what gyms do you know?". Also returns the current status of the FTC click-to-cancel rule and the UK rules (uk_rules)
  - after: Every subscription Cancel My Sub covers. For requests like "which subscriptions can you help me cancel?" or "what gyms do you know?". Also returns the current status of the FTC click-to-cancel rule and the UK rules (uk_rules)
- 2026-09-29 `get_cancel_reminder` changed (description, inputSchema, annotations)
  - before: Calendar reminder for the last safe day to cancel. Returns a calendar file (.ics) with an all-day event on the cancel-by day, the steps and the official link, with alerts at 9am the day before and 9am on the day. Nothing is stored. /v1/cancel gives this link as add_to_calendar whenever renews_on is given and the day hasn't passed
  - after: Calendar reminder for the last safe day to cancel. Returns a calendar file (.ics) with an all-day event on the cancel-by day, the steps and the official link, with alerts at 9am the day before and 9am on the day. Nothing is stored. get_cancel_steps gives this link as add_to_calendar whenever renews_on is given and the day hasn't passed.
- 2026-09-29 `identify_charge` changed (description, annotations)
  - before: Which subscription is this charge?. Use for "what is this APPLE.COM/BILL charge?", "I see AMZN Digital on my statement", "what is DD *DOORDASH DASHPASS?". Returns the likely service, or for Apple, Amazon, Google and Microsoft the few it could be and where to check, or match: purchase when it looks like a one-off order (marketplace, a ride, a restaurant through a delivery app). Then call getCancelSteps
  - after: Which subscription is this charge? For requests like "what is this APPLE.COM/BILL charge?", "I see AMZN Digital on my statement", "what is DD *DOORDASH DASHPASS?". Returns the likely service, or for Apple, Amazon, Google and Microsoft the few it could be and where to check, or match: purchase when it looks like a one-off order (marketplace, a ride, a restaurant through a delivery app). Then call get_cancel_steps.
- 2026-09-29 `get_cancel_steps` changed (description, annotations)
  - before: How to cancel one subscription. Use for "how do I cancel Netflix?", "cancel my Planet Fitness membership", "how do I leave Sky?", "cancel my PureGym", "what's the cheapest way to keep Spotify?", "stop my Audible". Returns the official page, steps, catches and a cheaper option. UK answers add region ("UK") and uk_rules; a US-only service asked about from the UK has region "US only".
  - after: How to cancel one subscription. For requests like "how do I cancel Netflix?", "cancel my Planet Fitness membership", "how do I leave Sky?", "cancel my PureGym", "what's the cheapest way to keep Spotify?", "stop my Audible". Returns the official page, steps, catches and a cheaper option. UK answers add region ("UK") and uk_rules; a US-only service asked about from the UK has region "US only".

Full history: https://api.protogrid.dev/v1/servers/io.github.GoodTurnStudio%2Fcancelmysub/changes

## Remotes

- https://goodturn-mcp.pages.dev/cancelmysub/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (4)

- `get_cancel_reminder`: Calendar reminder for the last safe day to cancel. Returns a calendar file (.ics) with an all-day event on the cancel-by day, the steps and the official link, with alerts at 9am the day before and 9am on the day. Nothing is stored. get_cancel_steps gives this link as add_to_calendar whenever renews_on is given and the day hasn't passed.
- `get_cancel_steps`: How to cancel one subscription. For requests like "how do I cancel Netflix?", "cancel my Planet Fitness membership", "how do I leave Sky?", "cancel my PureGym", "what's the cheapest way to keep Spotify?", "stop my Audible". Returns the official page, steps, catches and a cheaper option. UK answers add region ("UK") and uk_rules; a US-only service asked about from the UK has region "US only".
- `identify_charge`: Which subscription is this charge? For requests like "what is this APPLE.COM/BILL charge?", "I see AMZN Digital on my statement", "what is DD *DOORDASH DASHPASS?". Returns the likely service, or for Apple, Amazon, Google and Microsoft the few it could be and where to check, or match: purchase when it looks like a one-off order (marketplace, a ride, a restaurant through a delivery app). Then call get_cancel_steps.
- `list_services`: Every subscription Cancel My Sub covers. For requests like "which subscriptions can you help me cancel?" or "what gyms do you know?". Also returns the current status of the FTC click-to-cancel rule and the UK rules (uk_rules)
