# io.github.octoryn/octopus-blackboard (npm · octopus-blackboard)

Shared memory & coordination for AI coding agents — a blackboard, not an orchestrator.

- Trust score: 76/100 (medium)
- Change this week: +32
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `octopus-blackboard`: 76/100 (this document), [markdown](https://verifymcp.io/servers/octoryn-octopus-blackboard/octopus-blackboard.md), [page](https://verifymcp.io/servers/octoryn-octopus-blackboard/octopus-blackboard)

## Channel facts

- Registry: `npm`
- Package: `octopus-blackboard`
- Version: `0.3.1`
- 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-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (144 of 148), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (144 of 148), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to octoryn/octopus-blackboard).
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 30 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 67/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 2255 tokens (~59/item across 38 items; 38 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 82/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 47% 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 octoryn-octopus-blackboard -- npx -y octopus-blackboard
```

### Codex

```bash
codex mcp add octoryn-octopus-blackboard -- npx -y octopus-blackboard
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add octoryn-octopus-blackboard --command npx --arg -y --arg octopus-blackboard
```

### Hermes

```yaml
mcp_servers:
  octoryn-octopus-blackboard:
    command: "npx"
    args: ["-y", "octopus-blackboard"]
```

### Other

```json
{
  "mcpServers": {
    "octoryn-octopus-blackboard": {
      "command": "npx",
      "args": [
        "-y",
        "octopus-blackboard"
      ]
    }
  }
}
```

## 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-03 (score 76, +1)

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

### 2026-08-02 (score 75, +56)

- [security improvement] Provenance: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] The attested source repository moved: octoryn/octopus-blackboard
- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Stability: unverified → 0.20
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Schema quality: unverified → good
- [functional] Licence: Apache-2.0

### 2026-08-01 (score 19, +14)

- [functional improvement] Tool coverage: unverified → 100

### 2026-07-31 (score 5, −19)

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

### 2026-07-30 (score 24, −20)

- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-07-27 (score 44)

First indexed and scored.

## MCP tools (38)

### `board_status` (~61 tokens)

Read the board: active agents, open tasks and who holds them, unread messages, open risks, recent history. Call this before starting work to see what other agents are doing.

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)

### `board_timeline` (~33 tokens)

Read the append-only, hash-chained history of everything that happened on the board.

Input parameters:

- `limit` (number)

### `board_note` (~42 tokens)

Broadcast a free-form status note to the board.

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `text` (string, required)

### `board_claim` (~83 tokens)

Claim a task by key so other agents know you own it. If another agent already holds it, the response reports the conflict (the board records but does not block).

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `key` (string, required): task key, e.g. trust-layer-policy-schema
- `title` (string)

### `board_task_define` (~106 tokens)

Create or update a task's kanban fields: title, description (what it is), project, impact (change surface), and risk level. New keys get a stable task number.

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `description` (string)
- `impact` (string)
- `key` (string, required)
- `project` (string)
- `riskLevel` (string)
- `title` (string)

### `board_task` (~53 tokens)

Get a task's full kanban card (status, progress, assignees, active-agent count, impacted files, linked risks) by key or number (#145).

Input parameters:

- `ref` (string, required): task key or number

### `board_tasks` (~24 tokens)

List all tasks as kanban cards (for a board/kanban view).

### `board_assign` (~101 tokens)

Assign a task to an agent and notify them — records the assignee AND leaves a 'please look at task #N' message in that agent's inbox. Passive: the board records the ask; the agent reads its inbox and decides to act. Never launches the agent.

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `ref` (string, required): task key or number
- `to` (string, required): agent to notify

### `board_progress` (~83 tokens)

Report task progress 0–100 (moves it to in-progress, or done at 100). Use this from an agent as it works a task so the kanban shows a live progress bar.

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `percent` (number, required)
- `ref` (string, required): task key or number

### `board_message` (~60 tokens)

Leave a message for another agent (or broadcast with to='all').

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `body` (string, required)
- `to` (string, required): recipient agent name, or 'all'

### `board_inbox` (~54 tokens)

Read what's waiting for you: messages (addressed or broadcast) and handoffs left for you.

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `includeRead` (boolean)

### `board_handoffs` (~48 tokens)

Handoffs left FOR you — the work another agent passed to you, with context and open questions.

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)

### `board_decision` (~56 tokens)

Record a decision and its rationale so other agents see what was decided and why.

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `rationale` (string)
- `title` (string, required)

### `board_evidence` (~76 tokens)

Attach evidence (file path, URL, log, test run) supporting some work.

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `note` (string)
- `ref` (string, required)
- `target` (string): what it supports, e.g. task:auth-mw

### `board_file_changed` (~77 tokens)

Record that you touched a file. If a task key is given, the response reports files other agents already changed for that task (conflict awareness).

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `change` (string)
- `path` (string, required)
- `task` (string)

### `board_risk` (~52 tokens)

Flag an open risk the next agent should know before acting.

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `severity` (string)
- `title` (string, required)

### `board_handoff` (~86 tokens)

Hand off work to another agent with a summary of the state at handoff.

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `context` (string)
- `openQuestions` (array)
- `relatedFiles` (array)
- `summary` (string, required)
- `task` (string)
- `to` (string, required)

### `session_start` (~59 tokens)

Start an execution session. Subsequent writes and links attribute to it. Captures machine, working directory, git branch, and repository.

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `label` (string)

### `session_stop` (~42 tokens)

Close the active session (or a specific one).

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `session` (string)

### `board_link` (~98 tokens)

Attribute a Git commit's files to the current session (who actually produced the code). Reads Git; never rewrites history. Optionally writes an additive git note.

Input parameters:

- `actorType` (string)
- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `name` (string): explicit actor name
- `rev` (string): commit/revision, defaults to HEAD
- `writeNote` (boolean)

### `board_attribute` (~71 tokens)

Record a single attribution (commit + optional file) to a human or AI actor.

Input parameters:

- `actorType` (string)
- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `file` (string)
- `name` (string)
- `rev` (string, required)

### `board_review` (~75 tokens)

Record who reviewed a commit and the outcome (human or AI reviewer).

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)
- `name` (string)
- `note` (string)
- `outcome` (string)
- `rev` (string, required)
- `reviewerType` (string)

### `board_who` (~54 tokens)

Who changed a file: Git authors, AI sessions that touched it, and commit attributions. Pass a line number to trace which session introduced that line.

Input parameters:

- `file` (string, required)
- `line` (number)

### `board_explain` (~33 tokens)

Explain a commit: its AI attribution, reviews, and related decisions.

Input parameters:

- `rev` (string): defaults to HEAD

### `board_unreviewed` (~23 tokens)

List AI-produced commits that have never been reviewed by a human.

### `board_check` (~119 tokens)

Governance gate: assert policy over commits and report pass/fail plus violations. Read-only — reports, does not block. Use in CI to keep unreviewed AI work off a branch.

Input parameters:

- `range` (string): commit range, e.g. main..HEAD (default: all attributed commits)
- `requireAttribution` (boolean): fail if a scoped commit has no attribution
- `requireHumanReview` (boolean): fail if an AI commit lacks a human review
- `verifyChain` (boolean): fail if the timeline hash chain is broken

### `board_export` (~56 tokens)

Export a portable attribution bundle (attributions, reviews, sessions, decisions) for a commit range, so attribution survives push/PR into a team board or CI.

Input parameters:

- `range` (string): commit range (default: all attributed commits)

### `board_import` (~40 tokens)

Import an attribution bundle (as produced by board_export) into this board. Idempotent.

Input parameters:

- `bundle` (object, required): the bundle object from board_export

### `board_trailers` (~36 tokens)

Git trailer lines encoding a commit's attribution, for embedding in a commit message.

Input parameters:

- `rev` (string): defaults to HEAD

### `board_since` (~82 tokens)

Subscribe primitive: poll for timeline events after a given seq. Returns the new head seq and events (optionally filtered to those relevant to an agent). Call board_status first to get a starting seq.

Input parameters:

- `afterSeq` (number, required): return events with seq greater than this
- `forAgent` (string): filter to messages/handoffs/conflicts for this agent

### `board_sign` (~46 tokens)

Sign the current timeline head with the active session's key (attests board state through the head seq).

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)

### `board_trust` (~29 tokens)

Show signature trust: which sessions have signed the timeline and whether each signature is valid and still current.

### `board_report` (~29 tokens)

Accountability scorecard: review coverage, AI/human ratio, per-agent breakdown, session and risk counts.

### `board_blame` (~53 tokens)

Blame → narrative: trace a file line back to the session that introduced it and surface that session's other work, decisions, and handoffs.

Input parameters:

- `file` (string, required)
- `line` (number, required)

### `board_heartbeat` (~47 tokens)

Stamp the active session as alive (real-time liveness, so other agents can tell active from stale).

Input parameters:

- `agent` (string): acting agent identity (defaults to OCTOBOARD_AGENT)

### `board_prune` (~42 tokens)

Retention: delete messages/evidence/file-change rows created before an ISO time. The audit timeline is never pruned.

Input parameters:

- `before` (string, required): ISO timestamp

### `board_redact` (~48 tokens)

Hide a timeline entry's content at the read layer (the hash chain stays valid — this is not cryptographic erasure).

Input parameters:

- `reason` (string)
- `seq` (number, required)

### `board_ingest` (~78 tokens)

Ingest a CLI transcript's content into the active session (file edits, decisions, notes). Format is one of: generic, claude-code, codex, gemini, grok. Use 'generic' with our normalized event schema for any CLI.

Input parameters:

- `content` (string, required): raw transcript content
- `format` (string)

## Diagnostics

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

## Score history

- 2026-08-03: 76
- 2026-08-02: 75
- 2026-08-01: 19
- 2026-07-31: 5
- 2026-07-30: 24
- 2026-07-28: 44
- 2026-07-27: 44

## Links

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