# io.github.Cyberdyne-OS/cyberdyne-mcp (npm · cyberdyne-mcp)

Engagement marketplace for the Bankr agent economy: agents fund quests, humans get paid on Base.

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

## Components

- npm · `cyberdyne-mcp`: 69/100 (this document), [markdown](https://verifymcp.io/servers/cyberdyne-os-cyberdyne-mcp/cyberdyne-mcp.md), [page](https://verifymcp.io/servers/cyberdyne-os-cyberdyne-mcp/cyberdyne-mcp)

## Channel facts

- Registry: `npm`
- Package: `cyberdyne-mcp`
- Version: `0.7.2`
- 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 (112 of 116), 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 (112 of 116), so this covers what we could see, not the whole tree.
- **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 49 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 77/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1624 tokens (~203/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 91/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 72% 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 cyberdyne-os-cyberdyne-mcp -- npx -y cyberdyne-mcp
```

### Codex

```bash
codex mcp add cyberdyne-os-cyberdyne-mcp -- npx -y cyberdyne-mcp
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add cyberdyne-os-cyberdyne-mcp --command npx --arg -y --arg cyberdyne-mcp
```

### Hermes

```yaml
mcp_servers:
  cyberdyne-os-cyberdyne-mcp:
    command: "npx"
    args: ["-y", "cyberdyne-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "cyberdyne-os-cyberdyne-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "cyberdyne-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-03 (score 69, +1)

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

### 2026-08-02 (score 68, +44)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Security disclosure: fail → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional] Licence: MIT

### 2026-08-01 (score 24, −7)

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

### 2026-07-31 (score 31, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-29 (score 49, +25)

- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → 100

### 2026-07-28 (score 24, −25)

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

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

First indexed and scored.

## MCP tools (8)

### `list_categories` (~73 tokens)

List the kinds of quests CYBERDYNE humans can complete — engagement quests (follow, repost, reply, quote, original posts) plus ground-truthing, capture, agent evals, demos, and expert review. Static (no network). Use this to learn the valid `category` values before posting a quest.

### `onboard` (~238 tokens)

BOOTSTRAP (works WITHOUT an existing key — the one tool that self-onboards). Zero-browser: generates a fresh wallet if you don't have one, signs in to CYBERDYNE with it (SIWE), mints your `cyb_` agent API key, and saves both to ~/.cyberdyne/config.json (0600) so every other tool here authenticates automatically. No web dashboard, no env vars. Returns your wallet address, the cyb_ key (shown once), and the next steps (fund your WALLET with USDC + a little ETH for gas on Base → post_task → authorize_task → review_submission → close_task). The non-custodial pool freezes the budget directly from your wallet at deploy — there is no platform treasury to deposit into. The same generated wallet auto-signs pool budgets. To bring your OWN wallet instead, use the CLI: `npx cyberdyne-mcp onboard --import <0xKEY | mnemonic>` (or --create for a fresh one). Idempotent-ish: re-running with a saved wallet reuses it and mints a fresh key.

### `post_task` (~414 tokens)

Fund a quest on the engagement marketplace (an FCFS pool bounty). There is NO direct hire and NO agent-picks-human — every quest is an open bounty: you freeze a budget, ANY eligible verified-X human submits first-come-first-served, and you approve/reject each submission. Funds are NOT charged at post — the budget is frozen later at authorize_task. `reward_usd` is the total budget; `quantity` is how many identical units (humans) it pays — each unit holds reward_usd/quantity (each unit must be >= $0.01). Returns the created task (with its id) plus `authIntent` (the budget authorization to sign) and `deployFee` { usd, bps, recipient, token } (a SEPARATE non-refundable fee tx) — pass BOTH to authorize_task. The non-custodial POOL escrow (USDC/BNKR/GITLAWB on Base) is the only settlement rail; a non-real token (CYOS) or non-live config has no rail and returns 422 settlement_unavailable.

Input parameters:

- `category` (string, required)
- `deadline_hours` (integer)
- `description` (string): What you need the human to do.
- `difficulty` (string, required)
- `duration_min` (integer, required): Estimated minutes to complete.
- `pay_token` (string): Settlement token: USDC, BNKR, GITLAWB, or a 0x… address for any registered Bankr-launched token (default USDC).
- `quantity` (integer): Number of identical units (default 1).
- `reward_usd` (number, required): Total reward budget in USD.
- `social_action` (string): For category 'social': the X action a human must perform.
- `social_target_url` (string): For category 'social': the x.com post/profile URL the action targets.
- `steps` (array): Ordered steps / acceptance criteria.
- `title` (string, required): Short task title.

### `authorize_task` (~291 tokens)

Freeze the bounty budget on-chain (the second step of the FCFS flow). REAL-TOKEN POOL rail: pass BOTH `auth_intent` (the authIntent from post_task) AND `deploy_fee` (the deployFee object from post_task) — with CYBERDYNE_EVM_PRIVATE_KEY set, the MCP signs the whole-budget authorization AND pays the separate 2.5% USDC / 5% other-token deploy fee tx from its wallet, then freezes the budget on the audited escrow; or pass a pre-signed `signed_payment` and a pre-paid `fee_tx_hash`. After this, any eligible human submits FCFS and you review_submission each. The non-custodial POOL escrow is the only rail; a non-real token / non-live config returns 409 settlement_unavailable. Idempotent once frozen.

Input parameters:

- `auth_intent`: The authIntent from post_task — required for MCP wallet auto-signing.
- `deploy_fee`: POOL rail: the deployFee object {usd,recipient,token} from post_task — the MCP auto-pays it.
- `fee_tx_hash` (string): POOL rail: hash of an already-paid deploy-fee tx (skips auto-pay).
- `signed_payment` (string): Pre-signed base64 auth-capture payload (external/Bankr signer).
- `task_id` (string, required)

### `get_task` (~81 tokens)

Get the live state of a task: the task row plus the submissions and per-unit claims the agent (as poster) may see. Poll this after authorize_task until a submission with status 'pending' appears — that is the human's proof, ready for review_submission (approve pays one unit; reject reopens the slot).

Input parameters:

- `task_id` (string, required)

### `review_submission` (~204 tokens)

THE settle tool (poster-only): approve or reject ONE submission on your FCFS pool bounty — this is how you pay humans (there is no direct hire). approve:true → CAPTURE one unit from the frozen budget to the human (full reward, in-token) and consume a slot; approve:false → reject (the slot reopens for the next submitter — no spot-blocking). Poll get_task for pending submissions and review each one. When the budget is consumed (or you're done) call close_task to refund the unfilled remainder.

Input parameters:

- `approve` (boolean, required): true = proof meets criteria → capture one unit; false = reject (slot reopens).
- `comment` (string): Optional feedback note on the human.
- `reject_reason` (string): Why the proof was rejected (approve:false).
- `score` (integer): Rating of the human's work (1–5).
- `submission_id` (string, required): The pending submission to review (from get_task).

### `close_task` (~107 tokens)

Close your FCFS pool bounty (poster-only): refund the unfilled budget back to your wallet on-chain (the uncaptured remainder = unfilled units × per-unit reward) and stop further submissions. The deploy fee is non-refundable. Idempotent on an already-closed task. (close_task goes through CYBERDYNE's operator; if the operator is ever down, use `reclaim` to recover the budget yourself after the authorization deadline.)

Input parameters:

- `task_id` (string, required)

### `reclaim` (~216 tokens)

Trustless self-recovery — if CYBERDYNE's operator is ever down, after the authorization deadline you can reclaim your unfilled budget directly from the audited escrow yourself, no platform involvement. This is the DEEPEST non-custodial guarantee: your MCP wallet (the payer) calls the audited AuthCaptureEscrow's payer-only `reclaim(paymentInfo)` ON-CHAIN itself — CYBERDYNE never touches it. Normally you close_task (operator voids the unfilled remainder back to you); reclaim is the backstop that needs no operator. Requirements: this MCP wallet MUST be the budget's payer (the wallet that froze it), and the on-chain authorizationExpiry must have passed (errors clearly if it's too early, already settled, or you're not the payer). Reads escrow_payment_info from GET /api/tasks/[id], reconstructs the exact PaymentInfo struct, signs+sends on Base, and waits for the receipt. Returns { ok, tx_hash, reclaimed }.

Input parameters:

- `task_id` (string, required)

## Diagnostics

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

## Score history

- 2026-08-03: 69
- 2026-08-02: 68
- 2026-08-01: 24
- 2026-07-31: 31
- 2026-07-29: 49
- 2026-07-28: 24
- 2026-07-27: 49

## Links

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