# RoutineKit (npm · routinekit)

Capture tool workflows, save typed tools, and replay with human approval. Includes an MCP Apps UI.

- Trust score: 71/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-25

## Components

- npm · `routinekit`: 71/100 (this document), [markdown](https://verifymcp.io/servers/sjh9714-routinekit/routinekit.md), [page](https://verifymcp.io/servers/sjh9714-routinekit/routinekit)

## Channel facts

- Registry: `npm`
- Package: `routinekit`
- Version: `0.2.0`
- 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-09-25.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 31 of 99 dependencies flagged as unhealthy.
- **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 20 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 48/100
  - 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 757 tokens (~44/item across 17 items; 16 tools + 1 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 67/100
  - Stability observed for 20 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 75/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 24% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "routine_web_call" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.
  - Supports UI / widget rendering.

## Install

### How do I install the RoutineKit MCP server?

RoutineKit runs locally as an npm package, launched with npx -y routinekit. 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 sjh9714-routinekit -- npx -y routinekit
```

### Cursor

```json
{
  "mcpServers": {
    "sjh9714-routinekit": {
      "command": "npx",
      "args": [
        "-y",
        "routinekit"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "sjh9714-routinekit": {
      "command": "npx",
      "args": [
        "-y",
        "routinekit"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add sjh9714-routinekit -- npx -y routinekit
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sjh9714-routinekit": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "routinekit"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sjh9714-routinekit --command npx --arg -y --arg routinekit
```

### Hermes

```yaml
mcp_servers:
  sjh9714-routinekit:
    command: "npx"
    args: ["-y", "routinekit"]
```

### Netclaw

```json
{
  "McpServers": {
    "sjh9714-routinekit": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "routinekit"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add sjh9714-routinekit -t stdio -c npx -a -y routinekit
```

### Other

```json
{
  "mcpServers": {
    "sjh9714-routinekit": {
      "command": "npx",
      "args": [
        "-y",
        "routinekit"
      ]
    }
  }
}
```

## 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-09-25 (score 71, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-22 (score 70, +1)

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

### 2026-09-20 (score 69, +1)

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

### 2026-09-18 (score 68, +1)

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

### 2026-09-16 (score 67, +1)

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

### 2026-09-14 (score 66, +1)

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

### 2026-09-12 (score 65, +3)

- [functional improvement] Stability: unverified → 0.23

### 2026-09-06 (score 62, +15)

- [security improvement] Malware scan: unverified → pass

## MCP tools (16)

### `routine_list` (~21 tokens)

List saved routines and current capture/replay state. No execution.

### `routine_tools` (~29 tokens)

List available tool contracts. WebMCP tools need routine_web_open first. Record names exactly as returned.

### `routine_record` (~77 tokens)

Begin opt-in, task-local capture of a successful linear workflow. Inputs are exact example argument values, not a natural-language goal. Human approval is required.

Input parameters:

- `inputs_json` (string, required): JSON object of named example scalar inputs, e.g. {"category":"notes"}.
- `name` (string, required)
- `tools` (array, required)

### `routine_preview` (~63 tokens)

Preview the executable routine without saving. Use checks to verify task success, not just output shape.

Input parameters:

- `checks_json` (string): Optional JSON array: [{"step":"step_2","path":"/opened","equals":true}] or a check with "input":"category".

### `routine_save` (~53 tokens)

Show the exact routine to the user, then save only if approved. Set expose to make this a named tool with typed inputs. Does not replay.

Input parameters:

- `checks_json` (string)
- `expose` (boolean)

### `routine_discard` (~22 tokens)

Discard the current in-memory recording. Saved routines are preserved.

### `routine_inspect` (~34 tokens)

Read one saved routine, including its inputs, origin contracts, bindings, and success checks.

Input parameters:

- `name` (string, required)

### `routine_import` (~37 tokens)

Review and import portable routine JSON into local storage. Requires human approval. Never overwrites an existing routine.

Input parameters:

- `routine_json` (string, required)

### `routine_run` (~57 tokens)

Replay a reviewed routine with new input values, using live tools and existing host permissions. Requires fresh human approval; stop on mismatch. The replay engine makes no model calls.

Input parameters:

- `inputs_json` (string, required)
- `name` (string, required)

### `routine_stop` (~30 tokens)

Cancel the active replay and close only RoutineKit's isolated browser. Already completed side effects are not rolled back.

### `routine_web_open` (~47 tokens)

Ask permission to open a WebMCP origin in a blank isolated browser. No existing login profile, screen-scraping fallback, or cross-origin requests.

Input parameters:

- `url` (string, required)

### `routine_web_call` (~61 tokens)

Execute one discovered WebMCP tool after human approval. Selected calls are captured by an active recording. Tool hints are not safety guarantees.

Input parameters:

- `arguments_json` (string, required)
- `name` (string, required): Exact webmcp: tool name from routine_tools.

### `routine_mcp_connect` (~41 tokens)

Review and start one explicitly configured local MCP server. No automatic software installation, existing host configuration import, or credential transfer.

Input parameters:

- `server` (string, required)

### `routine_mcp_call` (~53 tokens)

Call one allowlisted connected MCP tool with human approval. Selected successful calls are recorded.

Input parameters:

- `arguments_json` (string, required)
- `name` (string, required): Exact mcp:alias:tool name from routine_tools.

### `routine_export` (~44 tokens)

Export one saved routine as a ZIP containing SKILL.md and routine.json. Recheck private literals before sharing. No credentials or permissions are bundled.

Input parameters:

- `name` (string, required)

### `routine_workbench` (~34 tokens)

Open the RoutineKit capture/replay workbench inside a compatible MCP Apps host. Human form elicitation is required for mutations.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/sjh9714-routinekit/routinekit#diagnostics

## Score history

- 2026-09-25: 71
- 2026-09-24: 70
- 2026-09-23: 70
- 2026-09-22: 70
- 2026-09-21: 69
- 2026-09-20: 69
- 2026-09-19: 68
- 2026-09-18: 68
- 2026-09-17: 67
- 2026-09-16: 67
- 2026-09-15: 66
- 2026-09-14: 66
- 2026-09-13: 65
- 2026-09-12: 65
- 2026-09-11: 62
- 2026-09-10: 62
- 2026-09-09: 62
- 2026-09-08: 62
- 2026-09-07: 62
- 2026-09-06: 62
- 2026-09-05: 47

## Common questions

### What is the RoutineKit MCP server?

RoutineKit is an MCP server listed in the public MCP registry as io.github.sjh9714/routinekit. Capture tool workflows, save typed tools, and replay with human approval. Includes an MCP Apps UI. This page covers its npm package (routinekit).

### Is the RoutineKit MCP server safe to use?

RoutineKit scores 71 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 25 September 2026. It declares no install or post-install scripts. 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 RoutineKit MCP server expose?

RoutineKit exposes 16 tools: routine_list, routine_tools, routine_record, routine_preview, routine_save, and 11 more. Their descriptions and schemas cost roughly 703 tokens of context every time the server is loaded.

### Is the RoutineKit MCP server still maintained?

RoutineKit is still listed as active in the MCP registry. We last reached this channel on 25 September 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 RoutineKit MCP server under?

RoutineKit 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

- npm package: https://www.npmjs.com/package/routinekit
- Socket report: https://socket.dev/npm/package/routinekit
- Repository: https://github.com/sjh9714/routinekit
- Changelog RSS feed: https://verifymcp.io/servers/sjh9714-routinekit/routinekit.xml
- Changelog JSON feed: https://verifymcp.io/servers/sjh9714-routinekit/routinekit.json
- HTML version of this page: https://verifymcp.io/servers/sjh9714-routinekit/routinekit
