# com.killbottleneck/killbottleneck (npm · killbottleneck-mcp)

Goal and process maps for humans and AI agents on your own server.

- Trust score: 64/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-20

## Components

- npm · `killbottleneck-mcp`: 64/100 (this document), [markdown](https://verifymcp.io/servers/com-killbottleneck-killbottleneck/killbottleneck-mcp.md), [page](https://verifymcp.io/servers/com-killbottleneck-killbottleneck/killbottleneck-mcp)

## Channel facts

- Registry: `npm`
- Package: `killbottleneck-mcp`
- Version: `0.35.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-08-20.

- **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.
  - 30 of 96 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 35/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: the license (SEE LICENSE IN LICENSE) isn't a recognized OSI-approved license.
  - Actively maintained (last published 2 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 72/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1513 tokens (~100/item across 15 items; 15 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability check failed: the tool surface changed between 0.34.0 and 0.35.0: 3 tool removals, 0 breaking changes, 0 additions.
- **Tool Coverage**: 79/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 38% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add com-killbottleneck-killbottleneck -- npx -y killbottleneck-mcp
```

### Codex

```bash
codex mcp add com-killbottleneck-killbottleneck -- npx -y killbottleneck-mcp
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add com-killbottleneck-killbottleneck --command npx --arg -y --arg killbottleneck-mcp
```

### Hermes

```yaml
mcp_servers:
  com-killbottleneck-killbottleneck:
    command: "npx"
    args: ["-y", "killbottleneck-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "com-killbottleneck-killbottleneck": {
      "command": "npx",
      "args": [
        "-y",
        "killbottleneck-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-08-18 (score 64, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-08-17 (score 49, −14)

- [security regression] Stability: unverified → fail
- [security regression] Malware scan: pass → unverified
- [functional improvement] Tool coverage: 30% → 38%
- [functional improvement] Schema quality: 1713 → 1513
- [functional] Package version: 0.34.0 → 0.35.0

### 2026-08-16 (score 63)

First indexed and scored.

## MCP tools (15)

### `list_maps` (~45 tokens)

List goal maps in the killBottleneck account (id, title, node count, last update). Use archived=true to list archived maps instead.

Input parameters:

- `archived` (boolean)

### `get_map` (~61 tokens)

Read one map as an indented tree with node ids, statuses ([✓] done, [~] in progress, [ ] todo), deadlines and owners. Always call this before modifying a map you have not read yet.

Input parameters:

- `map_id` (string, required)

### `create_map` (~116 tokens)

Create a new goal map from an outline. The map gets an apex (root goal) from `title`/`apex_text`; `outline` items become nested nodes. Layout is computed automatically. Max 200 nodes per call. Returns the created tree with node ids.

Input parameters:

- `apex_text` (string): Root goal statement, defaults to title
- `description` (string): Map description
- `outline` (array, required): Top-level items under the apex, each may have children
- `title` (string, required): Map/project title

### `add_nodes` (~138 tokens)

Add a subtree of nodes to an existing map under parent_id (or under the apex when parent_id is omitted). A node is a goal; a node with an assignee (owner) OR a deadline IS a task — that is the only kind of task in killBottleneck (there is no separate task record; new work = new node). NOTE: this re-computes the layout of the whole map. Max 200 nodes per call. Returns the updated tree.

Input parameters:

- `items` (array, required)
- `map_id` (string, required)
- `parent_id` (string): Existing node id to attach under; omit for apex

### `update_node` (~290 tokens)

Update fields of one node: title, status (todo/in_progress/done), description, deadline (YYYY-MM-DD, empty string clears), owner (e-mail, empty string clears), wait_for_children, colour, who performs it (executor_kind / executor_name) and the automation wish (automation_wanted / automation_note). Marking status done may unblock waiting nodes, notify their owners and trigger automations on them.

Input parameters:

- `automation_note` (string): Optional context for the automation wish. Empty string clears.
- `automation_wanted` (boolean): Wish that this step were automated; notifies the AI agent managers.
- `color` (string): Node colour as #rrggbb, empty string clears
- `deadline` (string)
- `description` (string)
- `executor_kind` (string): Who performs the step. Default "human".
- `executor_name` (string): Which automation handles this step, e.g. "n8n backup" — a record of what exists, not an instruction. Empty string clears.
- `map_id` (string, required)
- `node_id` (string, required)
- `owner` (string): Accountable PERSON (e-mail). Stays a human even for AI/cron steps — this is who gets notified. Empty string clears.
- `status` (string)
- `title` (string)
- `wait_for_children` (boolean)

### `delete_node` (~65 tokens)

Delete a node INCLUDING its whole subtree. The apex (root) cannot be deleted and whole maps cannot be deleted via the API. Irreversible — read the map first and double-check the node id.

Input parameters:

- `map_id` (string, required)
- `node_id` (string, required)

### `create_rule` (~193 tokens)

Create an automation rule on a map: WHEN trigger fires (and optional AND conditions match) DO the actions in order. Rules run for changes made in the UI, via API and by agents alike. Structural limits: 50 rules per map, 10 actions, 20 conditions — there is NO monthly run quota. A rule applies only to future events, never retroactively. node_id scopes the rule to one node (required for schedule rules whose actions target a node).

Input parameters:

- `actions` (array, required): 1-10 actions, executed in order
- `conditions` (array): Optional AND chain checked on the trigger node
- `enabled` (boolean): Default true
- `map_id` (string, required)
- `name` (string, required): Human-readable rule name (max 120 chars)
- `node_id` (string): Optional: scope the rule to one node of the map
- `trigger` (object, required)

### `list_rules` (~62 tokens)

List automation rules of a map: id, name, enabled, scope node, trigger, conditions, actions, last_fired and last_error (a non-empty last_error means the rule is misconfigured and its owner was notified).

Input parameters:

- `map_id` (string, required)

### `update_rule` (~124 tokens)

Update an automation rule. Pass only `enabled` to toggle it on/off; otherwise pass the FULL new shape (name, trigger, actions, optional conditions/node_id) — partial field edits are not merged. Edits apply to future events only and clear the rule's error state.

Input parameters:

- `actions` (array)
- `conditions` (array)
- `enabled` (boolean)
- `map_id` (string, required)
- `name` (string)
- `node_id` (string)
- `rule_id` (string, required)
- `trigger` (object)

### `delete_rule` (~44 tokens)

Delete an automation rule. Its run log stays (with the rule name snapshot). Irreversible.

Input parameters:

- `map_id` (string, required)
- `rule_id` (string, required)

### `list_rule_runs` (~87 tokens)

Read the run log of a map's automation rules (newest first, max 100): what fired, on which node, ok/failed/skipped and what the actions did. skipped = a safety stop (rule chain depth or per-save cap), detail says which.

Input parameters:

- `map_id` (string, required)
- `rule_id` (string): Optional: only runs of this rule

### `list_rule_templates` (~58 tokens)

List the instance-wide library of rule templates (shape of a rule without a map or node scope). To use one, read it and call create_rule on the target map with its trigger/conditions/actions — the created rule is an independent copy.

### `save_rule_template` (~119 tokens)

Save a rule shape into the instance-wide template library (create, or update with template_id — only the author or an admin may update). Templates carry no map and no node scope; create_subnodes may only use parent=trigger_node. Template names are unique.

Input parameters:

- `actions` (array, required)
- `conditions` (array)
- `name` (string, required): Unique template name (max 120 chars)
- `template_id` (string): Update an existing template (author or admin only); omit to create
- `trigger` (object, required)

### `delete_rule_template` (~42 tokens)

Delete a rule template from the library (author or admin only). Rules already created from it are independent copies and stay untouched.

Input parameters:

- `template_id` (string, required)

### `get_org_structure` (~69 tokens)

Read the organization structure (the org map): positions and functions with node ids, holders and deputies. Use the node ids as dynamic rule targets "position:<nodeId>" / "deputy_of_position:<nodeId>". Read-only — holders and deputies are appointed by an admin in the app.

## Diagnostics

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

## Score history

- 2026-08-20: 64
- 2026-08-19: 64
- 2026-08-18: 64
- 2026-08-17: 49
- 2026-08-16: 63

## Links

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