# GhostPaw Souls (npm · @ghostpaw/souls)

Local cognitive identity engine with traits, behavioral evidence, and revision history.

- Trust score: 74/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-25

## Components

- npm · `@ghostpaw/souls`: 74/100 (this document), [markdown](https://verifymcp.io/servers/ghostpawjs-souls/ghostpaw-souls.md), [page](https://verifymcp.io/servers/ghostpawjs-souls/ghostpaw-souls)

## Channel facts

- Registry: `npm`
- Package: `@ghostpaw/souls`
- Version: `0.3.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-10-25.

- **Supply Chain Security**: 100/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.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 71/100
  - Repository check failed: the declared repository URL redirects; it must resolve directly.
  - Cryptographically verified build provenance (signed, bound to GhostPawJS/souls).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 66/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1237 tokens (~176/item across 7 items; 7 tools + 0 resources), over budget; trim descriptions and params.
  - 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**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 97% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 7 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

**Unverified: 1 category.** A category scored 0 because we could not verify it: 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 GhostPaw Souls MCP server?

GhostPaw Souls runs locally as an npm package, launched with npx -y @ghostpaw/souls. 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 ghostpawjs-souls -- npx -y @ghostpaw/souls
```

### Cursor

```json
{
  "mcpServers": {
    "ghostpawjs-souls": {
      "command": "npx",
      "args": [
        "-y",
        "@ghostpaw/souls"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "ghostpawjs-souls": {
      "command": "npx",
      "args": [
        "-y",
        "@ghostpaw/souls"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add ghostpawjs-souls -- npx -y @ghostpaw/souls
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add ghostpawjs-souls --command npx --arg -y --arg @ghostpaw/souls
```

### Hermes

```yaml
mcp_servers:
  ghostpawjs-souls:
    command: "npx"
    args: ["-y", "@ghostpaw/souls"]
```

### Netclaw

```json
{
  "McpServers": {
    "ghostpawjs-souls": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@ghostpaw/souls"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add ghostpawjs-souls -t stdio -c npx -a -y @ghostpaw/souls
```

### Other

```json
{
  "mcpServers": {
    "ghostpawjs-souls": {
      "command": "npx",
      "args": [
        "-y",
        "@ghostpaw/souls"
      ]
    }
  }
}
```

## 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-25 (score 74, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-10-24 (score 59)

First indexed and scored.

## MCP tools (7)

### `search_souls` (~153 tokens)

Search shards by content using full-text search, or list pending shards with optional filters.

Use when: Use this to find specific observations by content (with query) or to browse pending shards (without query). Filter by soul, tags, or limit as needed.
Not for: Do not use this to view the structured evidence report — use inspect_souls_item with includeEvidence. Do not use this to deposit observations — use observe_soul.

Input parameters:

- `limit` (integer): Maximum results.
- `query` (string): FTS5 search query. Omit to list pending shards.
- `soulId` (integer): Filter by soul ID.
- `tags` (array): Filter by topic tags (list mode).

### `review_souls` (~121 tokens)

List all active souls, run the maintenance cycle, or check crystallization readiness.

Use when: Use list to discover active souls. Use maintenance to run the standard maintenance pass (fades exhausted shards + checks readiness) as part of a regular cycle. Use readiness to check which souls are ready for refinement without running maintenance.
Not for: Do not use this to inspect a specific soul in detail — use inspect_souls_item. Do not use this to search shards — use search_souls.

Input parameters:

- `view` (string, required): The operation to perform.

### `inspect_souls_item` (~168 tokens)

Get the full profile, rendered identity block, and optionally the evidence report for a single soul.

Use when: Use this when you need the complete current state of a soul — traits, capacity, health, rendered identity — before deciding on a refinement action. Add includeEvidence when you need the clustered evidence report with signals and suggested actions.
Not for: Do not use this to search across shards — use search_souls. Do not use this to make changes — use refine_soul, level_up_soul, or manage_soul.

Input parameters:

- `includeEvidence` (boolean): Include evidence report with clusters and signals. Default false.
- `includeProvenance` (boolean): Include provenance in rendered identity. Default false.
- `soulId` (integer, required): The soul ID to inspect.

### `observe_soul` (~209 tokens)

Deposit behavioral observations (shards) for one or more souls, or reveal previously sealed shards.

Use when: Use this whenever you have a behavioral observation to record — delegation outcome, session note, reflection, feedback. Use drop_batch for importing multiple observations at once. Use reveal to unlock deferred shards at the appropriate moment (task completion, session close).
Not for: Do not use this to read evidence — use search_souls or inspect_souls_item. Do not use this to add traits — use refine_soul.

Input parameters:

- `action` (string, required)
- `content` (string): Behavioral observation text.
- `sealed` (boolean): If true, shard is deferred until revealed.
- `shardIds` (array): Shard IDs to reveal.
- `shards` (array): Array of shards for batch deposit.
- `soulIds` (array): Soul IDs to attribute this observation to.
- `source` (string): Evidence channel origin label.
- `tags` (array): Optional topic tags.

### `refine_soul` (~223 tokens)

Add, revise, revert, or reactivate traits; cite shards to traits; stamp attunement.

Use when: Use after inspecting the evidence report (inspect_souls_item with includeEvidence) to make targeted identity mutations: add a new trait from a novel cluster, revise a stale trait, revert a trait that is causing regression, cite shards to earn provenance, stamp attuned after completing a refinement pass.
Not for: Do not use this for consolidation and essence rewriting — use level_up_soul. Do not use this to deposit observations — use observe_soul.

Input parameters:

- `action` (string, required): The refinement action to perform.
- `principle` (string): The cognitive rule text.
- `provenance` (string): Evidence chain justifying the trait.
- `shardId` (integer): Shard ID to link (for cite_shard).
- `soulId` (integer): Soul ID (required for add_trait, stamp_attuned).
- `traitId` (integer): Trait ID (required for revise_trait, revert_trait, reactivate_trait, cite_shard).

### `level_up_soul` (~150 tokens)

Validate, execute, or revert a level-up plan for a soul — consolidating traits, promoting knowledge into essence, and incrementing the generation.

Use when: Use validate to check a plan before executing it. Use execute when the plan is validated and the soul is ready for restructuring. Use revert to undo the last level-up if the outcome was wrong.
Not for: Do not use this for targeted trait mutations — use refine_soul. Do not use this unless the soul is at or near trait capacity and crystallization is ready.

Input parameters:

- `action` (string, required): The operation to perform.
- `plan` (object): The level-up plan.
- `soulId` (integer, required): The soul ID.

### `manage_soul` (~149 tokens)

Create, update, retire, or awaken a soul.

Use when: Use create to bootstrap a new soul with an initial essence. Use update to change the name, essence, or description without incrementing the level. Use retire to mark a soul as dormant. Use awaken to restore a dormant soul.
Not for: Do not use update to restructure identity — use level_up_soul. Do not use this to make trait changes — use refine_soul.

Input parameters:

- `action` (string, required): The operation to perform.
- `description` (string): Soul description.
- `essence` (string): Soul essence narrative.
- `name` (string): Soul name.
- `soulId` (integer): Soul ID.

## Diagnostics

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

## Score history

- 2026-10-25: 74
- 2026-10-24: 59

## Common questions

### What is the GhostPaw Souls MCP server?

GhostPaw Souls is an MCP server listed in the public MCP registry as io.github.GhostPawJS/souls. Local cognitive identity engine with traits, behavioral evidence, and revision history. This page covers its npm package (@ghostpaw/souls).

### Is the GhostPaw Souls MCP server safe to use?

GhostPaw Souls scores 74 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 25 October 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. 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 GhostPaw Souls MCP server expose?

GhostPaw Souls exposes 7 tools: search_souls, review_souls, inspect_souls_item, observe_soul, refine_soul, and 2 more. Their descriptions and schemas cost roughly 1,173 tokens of context every time the server is loaded.

### Is the GhostPaw Souls MCP server still maintained?

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

GhostPaw Souls 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/@ghostpaw/souls
- Socket report: https://socket.dev/npm/package/@ghostpaw/souls
- Changelog RSS feed: https://verifymcp.io/servers/ghostpawjs-souls/ghostpaw-souls.xml
- Changelog JSON feed: https://verifymcp.io/servers/ghostpawjs-souls/ghostpaw-souls.json
- HTML version of this page: https://verifymcp.io/servers/ghostpawjs-souls/ghostpaw-souls
