# Task Checkpoint (pypi · task-checkpoint-mcp)

MCP server that checkpoints long agent tasks: roll back to any step, resume in a new session.

- Trust score: 81/100 (high trust)
- Change this week: +15
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-04

## Components

- pypi · `task-checkpoint-mcp`: 81/100 (this document), [markdown](https://verifymcp.io/servers/qddfxp-task-checkpoint-mcp/task-checkpoint-mcp.md), [page](https://verifymcp.io/servers/qddfxp-task-checkpoint-mcp/task-checkpoint-mcp)

## Channel facts

- Registry: `pypi`
- Package: `task-checkpoint-mcp`
- Version: `0.1.7`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-04.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 37 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 68/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 847 tokens (~84/item across 10 items; 10 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 100/100
  - No destabilizing schema changes in the last 30 days.
- **Tool Coverage**: 95/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 82% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 10 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the Task Checkpoint MCP server?

Task Checkpoint runs locally as a PyPI package, launched with uvx task-checkpoint-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add qddfxp-task-checkpoint-mcp -- uvx task-checkpoint-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "qddfxp-task-checkpoint-mcp": {
      "command": "uvx",
      "args": [
        "task-checkpoint-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "qddfxp-task-checkpoint-mcp": {
      "command": "uvx",
      "args": [
        "task-checkpoint-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add qddfxp-task-checkpoint-mcp -- uvx task-checkpoint-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "qddfxp-task-checkpoint-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "task-checkpoint-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add qddfxp-task-checkpoint-mcp --command uvx --arg task-checkpoint-mcp
```

### Hermes

```yaml
mcp_servers:
  qddfxp-task-checkpoint-mcp:
    command: "uvx"
    args: ["task-checkpoint-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "qddfxp-task-checkpoint-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "task-checkpoint-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add qddfxp-task-checkpoint-mcp -t stdio -c uvx -a task-checkpoint-mcp
```

### Other

```json
{
  "mcpServers": {
    "qddfxp-task-checkpoint-mcp": {
      "command": "uvx",
      "args": [
        "task-checkpoint-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-03 (score 81, 0)

- [security] Stability: 0.97 → pass

### 2026-11-02 (score 81, 0)

- [functional] Stability: pass → 0.97

### 2026-10-31 (score 81, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-10-26 (score 66, −15)

- [security regression] Malware scan: pass → unverified
- [security] Stability: 0.97 → pass

### 2026-10-25 (score 81, +1)

No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-23 (score 80, +1)

No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-21 (score 79, +1)

No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-19 (score 78, +1)

No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (10)

### `tc_init` (~120 tokens)

创建任务。已有活动任务会挂起而不是关闭。

Input parameters:

- `constraints` (string): 约束
- `exclude` (array): 额外的排除模式，按单个名字段匹配（目录名或路径第一段），如 ["config", "*.local"]
- `goal` (string): 任务目标
- `name` (string, required): 任务名
- `root` (string, required): 工作区根目录
- `store` (string): 存档目录；省略时用工作区内 .checkpoints

Output parameters:

- `exclude` (array)
- `name` (string): 任务名
- `note` (string): 存档位置提示
- `prev_suspended` (string|null)
- `store` (string): 存档目录
- `store_is_external` (boolean)
- `task_id` (string): 新任务 id

### `tc_switch` (~47 tokens)

切换活动任务。closed 任务会被拒绝。

Input parameters:

- `root` (string, required): 工作区根目录
- `task_id` (string, required): 要激活的任务 id

Output parameters:

- `status` (string): open
- `task_id` (string): 任务 id。省略时使用当前活动任务

### `tc_save` (~138 tokens)

保存一个任务层步骤。close=true 时关闭任务且不再接受保存。

Input parameters:

- `close` (boolean)
- `conclusion` (string): 这一步的结论
- `description` (string): 为什么这么做
- `next` (string): 下一步
- `open_questions` (array)
- `paths` (array): 预留路径范围参数；当前必须为空数组
- `root` (string, required): 工作区根目录
- `task_id` (string): 任务 id。省略时使用当前活动任务
- `title` (string, required): 步骤标题
- `verified` (array)

Output parameters:

- `active_task_changed` (boolean): 本次调用是否把活动任务切走了（传了 task_id 且不是当前活动任务时会发生）
- `closed` (boolean)
- `git` (object): 这一步的 git 指针。git 是增强：ok 为 false 或 reason 说明没建 ref（不是仓库、TC_GIT=off、ref 重名等）时存档仍然有效
- `groups` (array)
- `idempotent` (boolean)
- `index` (integer)
- `skipped_paths` (array): skipped paths (e.g. symlinks pointing outside the workspace)
- `status` (string): open / suspended / closed
- `task_id` (string): 任务 id。省略时使用当前活动任务
- `title` (string): 步骤标题

### `tc_capture` (~31 tokens)

立即记录当前文件变化，不等静默期。

Input parameters:

- `root` (string, required): 工作区根目录

Output parameters:

- `captured` (boolean)
- `drift_id` (string|null)
- `partial` (boolean)
- `reads` (integer)
- `skipped_paths` (array): skipped paths (e.g. symlinks pointing outside the workspace)
- `waiting` (boolean)

### `tc_show` (~95 tokens)

列出任务层步骤；include_drift=true 时同时列出变更层。index 可精确查看单步。

Input parameters:

- `cursor` (integer)
- `include_drift` (boolean)
- `index` (integer)
- `limit` (integer)
- `root` (string, required): 工作区根目录
- `task_id` (string): 任务 id。省略时使用当前活动任务

Output parameters:

- `drifts` (array)
- `head` (integer)
- `next_cursor` (integer|null)
- `steps` (array)

### `tc_restore` (~89 tokens)

按任务层序号或变更层编号恢复。index 与 drift_id 二选一；apply=false 只预览。

Input parameters:

- `apply` (boolean): true 才写工作区
- `drift_id` (string): 变更层编号，例如 d0001
- `index` (integer): 任务层序号
- `root` (string, required): 工作区根目录

Output parameters:

- `applied` (boolean)
- `plan` (object)
- `recovered` (string|null): 本次自动保全的变更层编号
- `skipped_paths` (array): skipped paths (e.g. symlinks pointing outside the workspace)

### `tc_resume` (~55 tokens)

只读返回目标、当前步骤、未落档路径和下一步。

Input parameters:

- `root` (string, required): 工作区根目录
- `task_id` (string): 任务 id。省略时使用当前活动任务

Output parameters:

- `active_task` (string): 活动任务
- `constraints` (string): 约束
- `drift_paths` (array)
- `goal` (string): 任务目标
- `handoff` (string): 可粘贴给新会话的文本
- `head` (integer)
- `health` (object)
- `last` (object)
- `next` (string): 下一步
- `open_questions` (array)
- `skipped` (array)
- `store` (string): 存档目录

### `tc_export` (~53 tokens)

导出交接包到一个已存在的目录。敏感文件内容不会导出。

Input parameters:

- `root` (string, required): 工作区根目录
- `to` (string, required): 已存在的导出父目录

Output parameters:

- `files` (array)
- `filtered` (array)
- `path` (string): 交接包目录

### `tc_import` (~93 tokens)

导入 tc_export 生成的交接包，在另一个目录或机器上接续任务。会校验任务 id 与工作区路径，拒绝重复任务、.. 穿越与符号链接目标；失败时撤销已写入的文件。

Input parameters:

- `package` (string, required): 交接包目录，即 tc_export 返回的 path
- `root` (string, required): 工作区根目录

Output parameters:

- `task_id` (string): 导入后的任务 id

### `tc_compress` (~126 tokens)

回收存档空间：删掉超过保留期的变更层内容。被回收的变更层不能再 restore，步骤基线不受影响。

Input parameters:

- `keep_seconds` (integer): 保留最近多少秒内的变更层，默认 7 天
- `maximum` (integer): 每条路径最多保留几份变更层，默认 50
- `minimum` (integer): 每条路径至少保留几份较旧的变更层，默认 20
- `root` (string, required): 工作区根目录

Output parameters:

- `already_gone` (integer): 已标为不可回退但 payload 本来就不在的数量
- `bytes_freed` (integer): 释放的字节数
- `converted` (integer): 本次真的删掉的 payload 数
- `eligible` (integer): 通过了保护检查、可以考虑回收的数量
- `keep_seconds` (integer)
- `maximum` (integer)
- `minimum` (integer)

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/qddfxp-task-checkpoint-mcp/task-checkpoint-mcp#diagnostics

## Score history

- 2026-11-04: 81
- 2026-11-03: 81
- 2026-11-02: 81
- 2026-11-01: 81
- 2026-10-31: 81
- 2026-10-30: 66
- 2026-10-29: 66
- 2026-10-28: 66
- 2026-10-27: 66
- 2026-10-26: 66
- 2026-10-25: 81
- 2026-10-24: 80
- 2026-10-23: 80
- 2026-10-22: 79
- 2026-10-21: 79
- 2026-10-20: 78
- 2026-10-19: 78
- 2026-10-18: 77
- 2026-10-17: 77
- 2026-10-16: 62
- 2026-10-15: 76
- 2026-10-14: 76
- 2026-10-13: 75
- 2026-10-12: 75
- 2026-10-06: 57
- 2026-10-05: 56
- 2026-10-04: 71
- 2026-10-03: 70
- 2026-10-02: 70
- 2026-10-01: 55

## Common questions

### What is the Task Checkpoint MCP server?

Task Checkpoint is an MCP server listed in the public MCP registry as io.github.qddfxp/task-checkpoint-mcp. MCP server that checkpoints long agent tasks: roll back to any step, resume in a new session. This page covers its PyPI package (task-checkpoint-mcp).

### Is the Task Checkpoint MCP server safe to use?

Task Checkpoint scores 81 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Task Checkpoint MCP server expose?

Task Checkpoint exposes 10 tools: tc_init, tc_switch, tc_save, tc_capture, tc_show, and 5 more. Their descriptions and schemas cost roughly 847 tokens of context every time the server is loaded.

### Is the Task Checkpoint MCP server still maintained?

Task Checkpoint is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Task Checkpoint MCP server under?

Task Checkpoint declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- PyPI project: https://pypi.org/project/task-checkpoint-mcp/
- Socket report: https://socket.dev/pypi/package/task-checkpoint-mcp
- Repository: https://github.com/qddfxp/task-checkpoint-mcp
- Changelog RSS feed: https://verifymcp.io/servers/qddfxp-task-checkpoint-mcp/task-checkpoint-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/qddfxp-task-checkpoint-mcp/task-checkpoint-mcp.json
- HTML version of this page: https://verifymcp.io/servers/qddfxp-task-checkpoint-mcp/task-checkpoint-mcp
