# WorkFlow Companion (mcpb · WorkFlow.mcpb)

Claude on Windows or Linux works in your WorkFlow tasks, notes and projects via your own iCloud.

- Trust score: 29/100 (low)
- Change this week: +23
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-17

## Components

- mcpb · `WorkFlow.mcpb`: 29/100 (this document), [markdown](https://verifymcp.io/servers/teamdzx-workflow-companion/workflow.md), [page](https://verifymcp.io/servers/teamdzx-workflow-companion/workflow)
- npm · `@opticell/workflow-companion`: 62/100, [markdown](https://verifymcp.io/servers/teamdzx-workflow-companion/opticell-workflow-companion.md), [page](https://verifymcp.io/servers/teamdzx-workflow-companion/opticell-workflow-companion)

## Channel facts

- Registry: `mcpb`
- Package: `https://github.com/TeamDzX/workflow-companion/releases/download/v1.6.0/WorkFlow.mcpb`
- Transport: `stdio`
- SHA-256: `58817c9cf1eadbf1d3d1aeeea72397db05a2fe03ac81a689074eaca4817c9d06`

## 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-10-17.

- **Supply Chain Security**: 0/100
  - No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.
  - Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).
  - Install-script risk not yet assessed.
  - Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).
- **Provenance & Transparency**: 32/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: no license is declared.
  - Actively maintained (last published 4 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 63/100
  - AI-judged instruction clarity (fair).
  - Tool/resource definitions use about 2031 tokens (~70/item across 29 items; 29 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 78/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 33% 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; "workflow_remove_subtasks" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 29 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 20/100
  - Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28.

**Unverified: 2 categories.** Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the WorkFlow Companion MCP server?

WorkFlow Companion ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 58817c9cf1eadbf1d3d1aeeea72397db05a2fe03ac81a689074eaca4817c9d06; the commands to do that are on this page. If it does not match, do not open it.

- Download bundle: `https://github.com/TeamDzX/workflow-companion/releases/download/v1.6.0/WorkFlow.mcpb`
- SHA-256: `58817c9cf1eadbf1d3d1aeeea72397db05a2fe03ac81a689074eaca4817c9d06`

### Verify on macOS / Linux

```bash
echo "58817c9cf1eadbf1d3d1aeeea72397db05a2fe03ac81a689074eaca4817c9d06  WorkFlow.mcpb" | shasum -a 256 -c
```

### Verify on Windows (PowerShell)

```powershell
(Get-FileHash -Algorithm SHA256 .\WorkFlow.mcpb).Hash -eq "58817c9cf1eadbf1d3d1aeeea72397db05a2fe03ac81a689074eaca4817c9d06"
```

## 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-10-14 (score 29, +23)

- [security improvement] Injection markers: unverified → pass
- [security] First check of Judged manipulation: pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional regression] MCP protocol: unverified → fail
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Destructive annotations: 0
- [functional] First check of Schema quality: pass
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: fair
- [functional] First check of Tool coverage: 33

### 2026-10-12 (score 6, 0)

- [security regression] Provenance: fail → unverified

### 2026-10-10 (score 6)

First indexed and scored.

## MCP tools (29)

### `workflow_state` (~32 tokens)

Whether the Agent Bridge is running, where it lives, and the app version. Use this first if anything else fails.

### `workflow_list_tasks` (~33 tokens)

List tasks with status, priority, project and due date.

Input parameters:

- `all` (boolean): Include hidden and completed tasks

### `workflow_get_task` (~40 tokens)

One task in full, with its checklist and comment thread. Accepts a task id or a fragment of its title.

Input parameters:

- `task` (string, required)

### `workflow_queue` (~69 tokens)

Your inbox as "Companion": tasks assigned to Companion, tasks whose recent comments say @Companion, and notes that say @Companion — each with why it's here, its status line, checklist and latest comment. Work meant for another agent (such as Claude on the Mac) is not yours.

### `workflow_poll_comments` (~41 tokens)

Comments the user has written recently, ignoring the agent's own. Defaults to the last 24 hours.

Input parameters:

- `since` (string): ISO-8601

### `workflow_create_task` (~136 tokens)

Create a task. Set assignee to "Companion" to put it in your own queue.

Input parameters:

- `assignee` (string)
- `comment` (string): An opening comment on the new task
- `due` (string): ISO-8601 or yyyy-MM-dd
- `notes` (string)
- `priority` (string)
- `project` (string)
- `status` (string): To Do / In Progress / Completed
- `status_note` (string): Seeds the pinned status line
- `subtasks` (array)
- `tags` (array)
- `title` (string, required)

### `workflow_comment` (~58 tokens)

Post a comment on a task, authored as the agent. This is how you reply to the user — it reaches their phone as a notification.

Input parameters:

- `mentions` (array)
- `task` (string, required)
- `text` (string, required)

### `workflow_set_status_line` (~56 tokens)

Set a task's pinned note — the one-line 'where this stands' shown above its comments. Overwrite it as work progresses rather than commenting each time.

Input parameters:

- `task` (string, required)
- `text` (string, required)

### `workflow_check_subtasks` (~60 tokens)

Tick subtasks off a task (or untick them), so progress on a long job is visible on the task's own row.

Input parameters:

- `subtasks` (array, required)
- `task` (string, required)
- `uncheck` (boolean)

### `workflow_add_subtasks` (~35 tokens)

Add subtasks to an existing task's checklist.

Input parameters:

- `subtasks` (array, required)
- `task` (string, required)

### `workflow_update_task` (~217 tokens)

Change an existing task. Only the fields you pass are touched. 'notes' REPLACES the notes; prefer 'append_notes', which adds to the end and keeps the user's formatting. 'add_tags'/'remove_tags' edit tags one at a time without dropping ones the user added.

Input parameters:

- `add_tags` (array)
- `append_notes` (string): added to the end of the notes
- `assignee` (string): empty string unassigns
- `due` (string): ISO-8601 or yyyy-MM-dd
- `in_my_day` (boolean)
- `no_due_date` (boolean): true removes the due date
- `notes` (string): replaces the notes; empty string clears them
- `priority` (string)
- `project` (string): empty string removes it from its project
- `remove_tags` (array)
- `status` (string): To Do / In Progress / Completed
- `task` (string, required): id or title
- `title` (string)

### `workflow_remove_subtasks` (~54 tokens)

Delete rows from a task's checklist. Each entry must be an exact title or a fragment only one row contains; anything ambiguous is left alone.

Input parameters:

- `subtasks` (array, required)
- `task` (string, required)

### `workflow_draft_email` (~106 tokens)

Prepare an email a task asks for. It is attached to the task as a draft the user checks and sends with Review & Send; nothing is sent from here. Refused unless the user has set Settings → Agent Bridge → Email to Draft Only or Can Send.

Input parameters:

- `body` (string, required): plain text
- `cc` (array)
- `subject` (string, required)
- `task` (string, required)
- `to` (array, required): bare addresses, no display names

### `workflow_rename_subtask` (~75 tokens)

Retitle one subtask in place, keeping its tick state — for correcting a row's wording (a version line on an index, say) without adding a duplicate.

Input parameters:

- `from` (string, required): current title, exact or a fragment it contains
- `task` (string, required)
- `to` (string, required)

### `workflow_complete_task` (~21 tokens)

Mark a task complete.

Input parameters:

- `task` (string, required)

### `workflow_create_project` (~104 tokens)

Create a project, or update an existing one of the same name.

Input parameters:

- `color` (string): #RRGGBB
- `description` (string)
- `icon` (string): SF Symbol name
- `name` (string, required)
- `start` (string): planned start yyyy-MM-dd, or 'none' to clear
- `status` (string)
- `target` (string): target date yyyy-MM-dd, or 'none' to clear

### `workflow_list_notes` (~37 tokens)

The Notepad. A '*' marks notes addressed to you (containing @Companion).

Input parameters:

- `all` (boolean): Include archived notes

### `workflow_get_note` (~21 tokens)

One note in full.

Input parameters:

- `note` (string, required)

### `workflow_create_note` (~78 tokens)

File a note in the Notepad. Where output that isn't work belongs — a summary, a finding, a set of options. Use a task instead for anything that needs doing.

Input parameters:

- `body` (string)
- `color` (string): #RRGGBB
- `pin` (boolean)
- `title` (string, required)

### `workflow_reply_note` (~74 tokens)

Answer a Notepad note inside the note itself: appends a signed, dated reply without changing what the user wrote. Notes have no comment thread, so this is how a note gets an answer on the user's phone.

Input parameters:

- `note` (string, required)
- `pin` (boolean)
- `text` (string, required)

### `workflow_convert_note` (~87 tokens)

Promote a note into a task, keeping the note and linking the two. Converting is what takes a note out of the inbox.

Input parameters:

- `assignee` (string)
- `due` (string)
- `note` (string, required)
- `priority` (string)
- `project` (string)
- `subtasks` (array)
- `title` (string)

### `workflow_attach_file` (~75 tokens)

Attach a local file to a task (a report, a document, an image). The file is copied into the bridge folder and consumed by the app.

Input parameters:

- `file` (string, required): Path to the file on this computer
- `name` (string): Display name; defaults to the filename
- `task` (string, required)

### `workflow_list_projects` (~61 tokens)

The portfolio: every project's status, planned dates, progress and health (overdue / atRisk / idle / onTrack / planning / onHold / done) with the reason, as the Projects tab shows it.

Input parameters:

- `all` (boolean): include archived

### `workflow_list_documents` (~97 tokens)

List or search documents — every file on a task, on a note, or filed in a project's workspace. The query matches names, document numbers (WF-4F2A91), profiles and the text inside PDFs, scans and text files.

Input parameters:

- `limit` (number): default 40
- `project` (string)
- `query` (string)
- `status` (string)
- `type` (string)

### `workflow_get_document` (~45 tokens)

One document in full: profile, folder, every version with its comment, and the start of its text.

Input parameters:

- `document` (string, required): WF-number, id or file name

### `workflow_update_document` (~139 tokens)

Change a document's profile or folder. Profile fields apply to every version; 'name' renames the current file. Folders nest with '/', and '' unfiles.

Input parameters:

- `author` (string)
- `description` (string)
- `document` (string, required)
- `folder` (string)
- `name` (string)
- `status` (string): Draft, In Review, Final, Signed, Superseded
- `type` (string): Contract, Agreement, Invoice, Quote, Receipt, Letter, Email, Report, Proposal, Minutes, Specification, Drawing, Photo, Form, Policy, Other — or your own

### `workflow_file_document` (~94 tokens)

File a local file straight into a project's workspace (not onto a task), with an optional profile and folder.

Input parameters:

- `author` (string)
- `description` (string)
- `file` (string, required): Path to the file on this computer
- `folder` (string)
- `name` (string)
- `project` (string, required)
- `status` (string)
- `type` (string)

### `workflow_add_document_version` (~64 tokens)

Upload a new version of a document. The current file is kept in its history; the profile and folder carry over.

Input parameters:

- `comment` (string): What changed
- `document` (string, required)
- `file` (string, required): Path to the file on this computer

### `workflow_ping` (~22 tokens)

Confirm the app is watching the bridge (round-trips one command).

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/teamdzx-workflow-companion/workflow#diagnostics

## Score history

- 2026-10-17: 29
- 2026-10-16: 29
- 2026-10-15: 29
- 2026-10-14: 29
- 2026-10-13: 6
- 2026-10-12: 6
- 2026-10-10: 6

## Common questions

### What is the WorkFlow Companion MCP server?

WorkFlow Companion is an MCP server listed in the public MCP registry as io.github.TeamDzX/workflow-companion. Claude on Windows or Linux works in your WorkFlow tasks, notes and projects via your own iCloud. This page covers its MCPB bundle (https://github.com/TeamDzX/workflow-companion/releases/download/v1.6.0/WorkFlow.mcpb).

### Is the WorkFlow Companion MCP server safe to use?

WorkFlow Companion scores 29 out of 100 on VerifyMCP. 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 WorkFlow Companion MCP server expose?

WorkFlow Companion exposes 29 tools: workflow_state, workflow_list_tasks, workflow_get_task, workflow_queue, workflow_poll_comments, and 24 more. Their descriptions and schemas cost roughly 2,031 tokens of context every time the server is loaded.

## Links

- Repository: https://github.com/TeamDzX/workflow-companion
- Website: https://www.opticell-limited.com/companion
- Changelog RSS feed: https://verifymcp.io/servers/teamdzx-workflow-companion/workflow.xml
- Changelog JSON feed: https://verifymcp.io/servers/teamdzx-workflow-companion/workflow.json
- HTML version of this page: https://verifymcp.io/servers/teamdzx-workflow-companion/workflow
