# Docmancer (pypi · docmancer)

Local-only MCP server for source-attributed Markdown memory and documentation retrieval.

- Trust score: 36/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-05

## Components

- pypi · `docmancer`: 36/100 (this document), [markdown](https://verifymcp.io/servers/dev-docmancer-docmancer/docmancer.md), [page](https://verifymcp.io/servers/dev-docmancer-docmancer/docmancer)

## Channel facts

- Registry: `pypi`
- Package: `docmancer`
- Version: `0.9.14`
- 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-05.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it.
  - 5 of 93 dependencies flagged as unhealthy.
- **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: the license (MIT License) isn't a recognized OSI-approved license.
  - Actively maintained (last published 0 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 0/100
  - Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.
- **Capabilities**: 0/100
  - Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet.

**Unverified: 4 categories.** Categories scored 0 because our sandbox run of this package has not given us the schema these checks need to read. That is a gap on our side rather than a finding about the package, and we only credit what we can confirm, so the score stands at 0 until the capture succeeds. We are working through the fleet, so this normally clears without any action from you.

## Install

### Claude

```bash
claude mcp add dev-docmancer-docmancer -- uvx docmancer
```

### Codex

```bash
codex mcp add dev-docmancer-docmancer -- uvx docmancer
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dev-docmancer-docmancer": {
      "type": "local",
      "command": [
        "uvx",
        "docmancer"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add dev-docmancer-docmancer --command uvx --arg docmancer
```

### Hermes

```yaml
mcp_servers:
  dev-docmancer-docmancer:
    command: "uvx"
    args: ["docmancer"]
```

### Other

```json
{
  "mcpServers": {
    "dev-docmancer-docmancer": {
      "command": "uvx",
      "args": [
        "docmancer"
      ]
    }
  }
}
```

## 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-05 (score 36, +15)

- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] MCP protocol: unverified → pass
- [functional] First check of Schema quality: fail
- [functional] First check of Tool coverage: 30
- [functional] First check of Schema quality: good
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: fail
- [functional] Package version: 0.9.12 → 0.9.14
- [functional] Package version: 0.9.12 → 0.9.13

### 2026-08-04 (score 21)

First indexed and scored.

## MCP tools (20)

### `docmancer_memory_search` (~111 tokens)

Search the local docmancer memory index (agent memory, instructions, rules). Local only.

Input parameters:

- `expand_relations` (boolean): When true, include related memory items alongside direct matches.
- `include_history` (boolean): When true, include historical or superseded memory evidence in addition to active evidence.
- `limit` (integer): Maximum number of matching results to return. Defaults are tool-specific.
- `query` (string, required): Natural-language terms to search for in the local memory or documentation index.

Output parameters:

- `result` (array)

### `docmancer_docs_search` (~62 tokens)

Search the local docmancer docs index. Local only.

Input parameters:

- `limit` (integer): Maximum number of matching results to return. Defaults are tool-specific.
- `query` (string, required): Natural-language terms to search for in the local memory or documentation index.

Output parameters:

- `result` (array)

### `docmancer_memory_status` (~29 tokens)

Report docmancer memory index status (path, source/section counts). Local only.

### `write_memory` (~354 tokens)

MUTATING: create or update one curated tree-memory file (docmancer://memory/<id>). expect='absent' (default) is create-only; pass the current content_hash for a guarded update. Returns the stable address, content_hash, and revision id for follow-up calls. Example: relative_path='deployment/release.md', text='# Release\n\nUse Railway.' Aliases: path for relative_path, content for text.

Input parameters:

- `authority` (string): Authority level stored in frontmatter. Defaults to advisory.
- `content`: Alias for text. Use text when possible.
- `curation_origin` (string): Origin label stored in frontmatter. Defaults to deliberate_write.
- `expect`: Create/update guard. Use absent for create-only, or pass the current content hash for a guarded update.
- `memory_type` (string): Memory classification stored in frontmatter. Defaults to fact.
- `path`: Alias for relative_path. Use relative_path when possible.
- `project_id`: Optional project identifier stored in the memory file frontmatter.
- `project_path`: Optional project root that scopes the operation. Omit it when the server was started with a project pin.
- `relative_path`: Relative path for the memory file inside its selected memory tree. Required unless path is supplied.
- `scope` (string): Memory visibility scope. Use global for shared memory or project for project-scoped memory.
- `sources`: Optional source references that support the memory content.
- `status` (string): Lifecycle status stored in frontmatter. Defaults to active.
- `tags`: Optional labels used to classify and retrieve the memory content.
- `text`: Markdown body to write or replace. Required unless content is supplied.

### `read_memory` (~158 tokens)

READ-ONLY: read one tree-memory file by stable address, relative path, or exact title. Ambiguous title/path matches return every candidate address instead of guessing. Example: address='docmancer://memory/01J...'. Aliases: target or memory_id for address.

Input parameters:

- `address`: Stable docmancer://memory address, relative path, or exact title of the memory file. Required unless an address alias is supplied.
- `memory_id`: Alias for address that accepts a stable memory identifier. Use address when possible.
- `project_path`: Optional project root that scopes the operation. Omit it when the server was started with a project pin.
- `target`: Alias for address. Use the canonical address field when possible.

### `edit_memory` (~219 tokens)

MUTATING: replace the body of one tree-memory file, preserving its other frontmatter. Requires the file's current content_hash in expected_hash; a stale hash fails safely with a structured error naming the safe re-read-and-retry next action. Aliases: target for address, content for text, hash for expected_hash.

Input parameters:

- `address`: Stable docmancer://memory address, relative path, or exact title of the memory file. Required unless an address alias is supplied.
- `content`: Alias for text. Use text when possible.
- `expected_hash`: Current content_hash returned by a prior read. Required for guarded edits, moves, and deletes unless hash is supplied.
- `hash`: Alias for expected_hash. Use expected_hash when possible.
- `project_path`: Optional project root that scopes the operation. Omit it when the server was started with a project pin.
- `target`: Alias for address. Use the canonical address field when possible.
- `text`: Markdown body to write or replace. Required unless content is supplied.

### `canonical_memory` (~123 tokens)

READ-ONLY: read the machine-wide canonical memory, which is what docmancer has reconciled about this user across every agent and project (about, preferences, working-principles, active-projects). Omit section for the status of all sections; pass section for that section split into its pinned and generated zones. Call this to find out what is already known about the user before asking them.

Input parameters:

- `section`: Canonical section name: about, preferences, working-principles, or active-projects. Omit only where the tool documents a status response.

### `pin_memory` (~141 tokens)

MUTATING: pin one durable line into a canonical memory section (about, preferences, working-principles, active-projects). The pinned zone is the ONLY part of a canonical section that survives automatic reconciliation, so use this (not edit_memory) for any correction, standing preference, or fact the reconciler got wrong or left out. Idempotent: pinning the same line twice changes nothing.

Input parameters:

- `section`: Canonical section name: about, preferences, working-principles, or active-projects. Omit only where the tool documents a status response.
- `text`: Complete durable line to add to the selected canonical section's pinned zone.

### `unpin_memory` (~88 tokens)

MUTATING: remove pinned lines from a canonical memory section by case-insensitive substring match. Fails without changing anything when nothing matches.

Input parameters:

- `section`: Canonical section name: about, preferences, working-principles, or active-projects. Omit only where the tool documents a status response.
- `text`: Case-insensitive substring identifying pinned lines to remove from the selected section.

### `move_memory` (~229 tokens)

MUTATING, DESTRUCTIVE at the old path: move or rename one tree-memory file. Its stable address survives the move, but the old path stops resolving. Requires the file's current content_hash in expected_hash. Aliases: target for address, new_path for new_relative_path, hash for expected_hash.

Input parameters:

- `address`: Stable docmancer://memory address, relative path, or exact title of the memory file. Required unless an address alias is supplied.
- `expected_hash`: Current content_hash returned by a prior read. Required for guarded edits, moves, and deletes unless hash is supplied.
- `hash`: Alias for expected_hash. Use expected_hash when possible.
- `new_path`: Alias for new_relative_path. Use new_relative_path when possible.
- `new_relative_path`: Relative path for the memory file inside its selected memory tree. Required unless path is supplied.
- `project_path`: Optional project root that scopes the operation. Omit it when the server was started with a project pin.
- `target`: Alias for address. Use the canonical address field when possible.

### `duplicate_memory` (~121 tokens)

MUTATING: duplicate one tree-memory file under a new stable identity and relative path.

Input parameters:

- `address` (string, required): Stable docmancer://memory address, relative path, or exact title of the memory file.
- `expected_hash` (string, required): Current content_hash returned by a prior read. This prevents overwriting a newer revision.
- `new_relative_path` (string, required): Relative path for the new memory file inside its selected memory tree.
- `project_path`: Optional project root that scopes the operation. Omit it when the server was started with a project pin.

### `trash_memory` (~104 tokens)

DESTRUCTIVE BUT REVERSIBLE: move one tree-memory file to trash and return a restore token.

Input parameters:

- `address` (string, required): Stable docmancer://memory address, relative path, or exact title of the memory file.
- `expected_hash` (string, required): Current content_hash returned by a prior read. This prevents overwriting a newer revision.
- `project_path`: Optional project root that scopes the operation. Omit it when the server was started with a project pin.

### `restore_memory` (~68 tokens)

MUTATING: restore one tree-memory file from a prior trash restore token.

Input parameters:

- `project_path`: Optional project root that scopes the operation. Omit it when the server was started with a project pin.
- `restore_token` (string, required): Restore token returned by trash_memory for the file to restore.

### `search_memory` (~129 tokens)

READ-ONLY: lexical search over one tree's active memory. Returns [] (not an error) when nothing is relevant or the tree is empty. Example: query='prior deployment decision'. Alias: text for query.

Input parameters:

- `limit` (integer): Maximum number of matching results to return. Defaults are tool-specific.
- `project_path`: Optional project root that scopes the operation. Omit it when the server was started with a project pin.
- `query`: Natural-language terms to search for. Required unless the text alias is supplied.
- `text`: Alias for query. Use query when possible.

Output parameters:

- `result`

### `common_memory` (~69 tokens)

READ-ONLY: show memories recurring across two or more independent agent harnesses. Generated Docmancer integration copies are excluded. Results are recurrence evidence, not consensus or truth.

Input parameters:

- `project_path`: Optional project root that scopes the operation. Omit it when the server was started with a project pin.

Output parameters:

- `result`

### `context_delivery` (~58 tokens)

READ-ONLY: show each supported agent's integration mode, hook status, and latest observed context bundle revision and hash.

Input parameters:

- `project_path`: Optional project root that scopes the operation. Omit it when the server was started with a project pin.

Output parameters:

- `result`

### `context_status` (~72 tokens)

READ-ONLY: inspect the current consolidated Context revision, freshness, exclusions, and cluster metadata. Context refresh, rollback, adopt, and retire are intentionally human-only CLI or local-web operations.

Input parameters:

- `project_path`: Optional project root that scopes the operation. Omit it when the server was started with a project pin.

### `context_projection` (~108 tokens)

READ-ONLY: render a bounded revision-linked Context projection for an agent without writing or refreshing it. Context refresh, rollback, adopt, and retire are human-only.

Input parameters:

- `agent` (string, required): Target agent identifier used when building a context projection or recording an ask. Defaults are tool-specific.
- `project_path`: Optional project root that scopes the operation. Omit it when the server was started with a project pin.
- `token_budget` (integer): Maximum token budget for the returned context projection.

### `decision_timeline` (~129 tokens)

READ-ONLY: show the append-only timeline of canonical memory file creates, edits, moves, duplicates, trash operations, and restores, including human-readable diffs.

Input parameters:

- `file_id`: Optional stable memory file identifier used to filter the timeline.
- `limit` (integer): Maximum number of matching results to return. Defaults are tool-specific.
- `operation`: Optional operation name used to filter the timeline, such as create, edit, move, trash, or restore.
- `project_path`: Optional project root that scopes the operation. Omit it when the server was started with a project pin.

Output parameters:

- `result`

### `ask_memory` (~278 tokens)

READ-ONLY: recall one bounded bundle of mandatory policy, curated memory, and supporting indexed agent evidence for a task. Returns an empty bundle when no relevant local memory exists. Set answer=true to use the configured provider for a grounded cited answer. Answer generation defaults to false. Aliases: query for task, budget for token_budget.

Input parameters:

- `agent` (string): Target agent identifier used when building a context projection or recording an ask. Defaults are tool-specific.
- `answer` (boolean): When true, use the configured provider to generate a grounded cited answer from recalled memory.
- `budget`: Alias for token_budget. Use token_budget when possible.
- `include_history` (boolean): When true, include historical or superseded memory evidence in addition to active evidence.
- `limit` (integer): Maximum number of matching results to return. Defaults are tool-specific.
- `mode` (string): Recall mode. Defaults to normal.
- `project_path`: Optional project root that scopes the operation. Omit it when the server was started with a project pin.
- `query`: Alias for task. Use task when possible.
- `task`: Natural-language task to recall relevant policy, memory, and evidence for. Required unless query is supplied.
- `token_budget`: Maximum token budget for the returned context bundle. Omit to use the tool default.

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/dev-docmancer-docmancer/docmancer#diagnostics

## Score history

- 2026-08-05: 36
- 2026-08-04: 21

## Links

- PyPI project: https://pypi.org/project/docmancer/
- Socket report: https://socket.dev/pypi/package/docmancer
- Repository: https://github.com/docmancer/docmancer
- Website: https://docmancer.dev/docs
- Changelog RSS feed: https://verifymcp.io/servers/dev-docmancer-docmancer/docmancer.xml
- Changelog JSON feed: https://verifymcp.io/servers/dev-docmancer-docmancer/docmancer.json
- HTML version of this page: https://verifymcp.io/servers/dev-docmancer-docmancer/docmancer
