# LoreDocs (pypi · loredocs)

Local-first knowledge vaults for project docs and specs. Tagged, versioned, full-text searchable.

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

## Components

- pypi · `loredocs`: 54/100 (this document), [markdown](https://verifymcp.io/servers/labyrinth-analytics-loredocs/loredocs.md), [page](https://verifymcp.io/servers/labyrinth-analytics-loredocs/loredocs)

## Channel facts

- Registry: `pypi`
- Package: `loredocs`
- Version: `0.1.28`
- 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-17.

- **Supply Chain Security**: 32/100
  - Malware scan not yet available for this package.
  - CVE check failed: a known high-severity CVE affects mcp 1.28.1, a direct dependency. A fixed version is available.
  - Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it.
  - Dependency health was assessed across the 96 of 98 dependencies we could resolve, so this covers what we could see, not the whole tree.
- **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 (BUSL-1.1) isn't a recognized OSI-approved license.
  - Actively maintained (last published 1 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 65/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 4807 tokens (~98/item across 49 items; 49 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 73/100
  - Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 71/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
  - Structured output schemas are declared (88% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 50 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the LoreDocs MCP server?

LoreDocs runs locally as a PyPI package, launched with uvx loredocs. 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 labyrinth-analytics-loredocs -- uvx loredocs
```

### Cursor

```json
{
  "mcpServers": {
    "labyrinth-analytics-loredocs": {
      "command": "uvx",
      "args": [
        "loredocs"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "labyrinth-analytics-loredocs": {
      "command": "uvx",
      "args": [
        "loredocs"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add labyrinth-analytics-loredocs -- uvx loredocs
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add labyrinth-analytics-loredocs --command uvx --arg loredocs
```

### Hermes

```yaml
mcp_servers:
  labyrinth-analytics-loredocs:
    command: "uvx"
    args: ["loredocs"]
```

### Netclaw

```json
{
  "McpServers": {
    "labyrinth-analytics-loredocs": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "loredocs"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add labyrinth-analytics-loredocs -t stdio -c uvx -a loredocs
```

### Other

```json
{
  "mcpServers": {
    "labyrinth-analytics-loredocs": {
      "command": "uvx",
      "args": [
        "loredocs"
      ]
    }
  }
}
```

## 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-17 (score 54, +1)

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

### 2026-10-16 (score 53, −5)

- [security regression] CVE-2026-59951 affects this package: high
- [security regression] Known CVEs: partial → fail

### 2026-10-15 (score 58, +1)

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

### 2026-10-13 (score 57, +1)

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

### 2026-10-12 (score 56, −8)

- [security regression] Malware scan: pass → unverified

### 2026-10-06 (score 64, −4)

No change was recorded against any check on this day. Supply Chain Security went from 99 to 83. Other categories moved too: Stability & Change Management rose 7.

### 2026-10-04 (score 68, +1)

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

### 2026-10-02 (score 67, +4)

- [functional improvement] Stability: unverified → 0.23

## MCP tools (49)

### `vault_create` (~107 tokens)

Create Vault

Create a new knowledge vault for organizing project documents.

A vault is a container for related documents -- like a project folder with
superpowers (search, tags, versioning). You can link a vault to one or more
Claude Projects, but vaults are independent and can serve multiple projects.

Returns the new vault's ID and metadata.

Input parameters:

- `description` (string)
- `linked_projects`
- `name` (string, required)
- `response_format`
- `tags`

Output parameters:

- `result` (string)

### `vault_list` (~56 tokens)

List Vaults

List all knowledge vaults with summary stats (document count, total size, last modified).

Use this to see what vaults exist and find the one you need.

Input parameters:

- `include_archived` (boolean)
- `response_format`

Output parameters:

- `result` (string)

### `vault_info` (~44 tokens)

Get Vault Info

Get detailed information about a vault, including its full document manifest.

Accepts either a vault ID or vault name.

Input parameters:

- `response_format`
- `vault` (string, required)

Output parameters:

- `result` (string)

### `vault_archive` (~37 tokens)

Archive Vault

Archive a vault (soft delete). Archived vaults are hidden from vault_list by default but can be restored.

Input parameters:

- `vault` (string, required)

Output parameters:

- `result` (string)

### `vault_delete` (~51 tokens)

Delete Vault

Permanently delete a vault and ALL its documents. This cannot be undone.

You must set confirm=true to proceed. Consider using vault_archive instead.

Input parameters:

- `confirm` (boolean)
- `vault` (string, required)

Output parameters:

- `result` (string)

### `loredocs_onboard` (~227 tokens)

Onboard LoreDocs

Set up or update your LoreDocs workspace configuration.

Call once after installing LoreDocs to get a recommended vault structure.
Call again to add new domains or agents -- existing data is never modified.

Creates:
\- A Config vault with a 'My LoreDocs Setup' reference doc (tagged authoritative)
\- One vault per domain in domains
\- One '[Name] Reports' vault per agent in agents
\- The reference doc is queryable: vault_search('my setup')

Args:
    name: Workspace or team name
    domains: Work areas, each becomes a vault (e.g. ['finance', 'research'])
    agents: Agent names, each gets a '[Name] Reports' vault
    tag_style: 'simple' (default) or 'detailed'

Vault tags: freeform strings on documents for cross-vault retrieval.
Categories: reference, report, template, config, archive, general.
Priority: authoritative, normal, draft, outdated.

Input parameters:

- `agents`
- `domains`
- `name`
- `tag_style` (string)

Output parameters:

- `result` (string)

### `vault_link_project` (~61 tokens)

Link Project to Vault

Associate a Claude Project name with a vault.

This is metadata for your organization -- it records which Claude Projects
use knowledge from this vault. A vault can be linked to multiple projects.

Input parameters:

- `project_name` (string, required)
- `vault` (string, required)

Output parameters:

- `result` (string)

### `vault_open_workspace` (~109 tokens)

Open Workspace Vault

Open (or create) a vault scoped to a workspace directory.

If a vault is already linked to this directory path, returns it.
Otherwise, creates a new vault named after the directory and records
the workspace_path so future calls return the same vault.

This mirrors how MemClaw scopes memory to workspaces -- lower friction
than naming vaults manually. Named vaults remain available for users
who prefer explicit management.

Input parameters:

- `description` (string)
- `workspace_path` (string, required)

Output parameters:

- `result` (string)

### `vault_add_doc` (~132 tokens)

Add Document

Add a text document to a vault with metadata (tags, category, priority, notes).

The document will be full-text indexed for search and stored with version tracking.
Content can be provided inline (content parameter) or from a file path (path parameter).
For binary files (PDF, DOCX, etc.), use vault_import_dir to import from a directory.

Input parameters:

- `category`
- `content`
- `filename`
- `name` (string, required)
- `notes` (string)
- `path`
- `priority`
- `tags`
- `vault` (string, required)

Output parameters:

- `result` (string)

### `vault_update_doc` (~172 tokens)

Update Document

Update a document's content or metadata.

If content changes, the previous version is saved automatically in the
version history. You can restore old versions with vault_doc_restore.
The author, session_id, and note params are stored in the version's
metadata sidecar for provenance tracking.

Unknown parameters are rejected at the MCP dispatch layer (see
_forbid_unknown_tool_params below): FastMCP's generated arg model for
this tool has extra="forbid", so a client-supplied unknown param never
reaches this function body.

Input parameters:

- `author`
- `category`
- `content`
- `doc_id` (string, required)
- `name`
- `note`
- `notes`
- `priority`
- `session_id`
- `tags`

Output parameters:

- `result` (string)

### `vault_remove_doc` (~44 tokens)

Remove Document

Soft-delete a document. The document is hidden but can be recovered.

For permanent deletion, use vault_delete to remove the entire vault.

Input parameters:

- `doc_id` (string, required)

Output parameters:

- `result` (string)

### `vault_get_doc` (~57 tokens)

Get Document

Retrieve a document's metadata and optionally its text content.

Use include_content=false to get just the metadata without loading the full text.

Input parameters:

- `doc_id` (string, required)
- `include_content` (boolean)
- `response_format`

Output parameters:

- `result` (string)

### `vault_list_docs` (~90 tokens)

List Documents

List documents in a vault with sorting and filtering options.

Supports sorting by name, date, size, or category.
Filter by category or tag to narrow results.

Input parameters:

- `category`
- `limit` (integer)
- `offset` (integer)
- `response_format`
- `sort_by`
- `sort_order`
- `tag`
- `vault` (string, required)

Output parameters:

- `result` (string)

### `vault_search` (~180 tokens)

Search Vault

Full-text or semantic search across document contents.

Default (semantic=False): SQLite FTS5 keyword search. Supports FTS5 syntax:
\- Simple words: depreciation schedule
\- Phrases: "rental income"
\- Boolean: depreciation AND schedule
\- Negation: rental NOT commercial
\- Prefix: deprec*

Semantic (semantic=True, Pro only): hybrid vector + BM25 search via LanceDB.
Finds documents by meaning even when exact keywords differ. Requires
LoreDocs Pro and `pip install loredocs[pro]`. Falls back to FTS5 if the
semantic index has not been built yet (run vault_rebuild_index first).

Input parameters:

- `limit` (integer)
- `offset` (integer)
- `query` (string, required)
- `response_format`
- `semantic` (boolean)
- `vault`

Output parameters:

- `result` (string)

### `vault_rebuild_index` (~88 tokens)

Rebuild Semantic Index

Rebuild the LanceDB semantic search index from all stored documents. Pro only.

Run this after first installing the Pro deps (pip install loredocs[pro]) or
after restoring from backup. The index is kept in sync automatically for
new documents added after install, but existing documents require a one-time
rebuild to become searchable semantically.

Input parameters:

- `confirm` (boolean)

Output parameters:

- `result` (string)

### `vault_search_by_tag` (~44 tokens)

Search by Tag

Find all documents with a specific tag, across one vault or all vaults.

Input parameters:

- `response_format`
- `tag` (string, required)
- `vault`

Output parameters:

- `result` (string)

### `vault_tag_doc` (~61 tokens)

Tag Document

Add or remove tags on a document.

You can add and remove tags in a single operation.
Tags are case-sensitive strings. Duplicates are automatically removed.

Input parameters:

- `add_tags`
- `doc_id` (string, required)
- `remove_tags`

Output parameters:

- `result` (string)

### `vault_bulk_tag` (~51 tokens)

Bulk Tag Documents

Apply tag changes to multiple documents at once.

Useful for organizing a batch of documents after import or reclassification.

Input parameters:

- `add_tags`
- `doc_ids` (array, required)
- `remove_tags`

Output parameters:

- `result` (string)

### `vault_categorize` (~43 tokens)

Categorize Document

Set a document's category (general, reference, config, report, template, archive, imported).

Input parameters:

- `category` (required)
- `doc_id` (string, required)

Output parameters:

- `result` (string)

### `vault_set_priority` (~63 tokens)

Set Document Priority

Mark a document's priority/status: authoritative, normal, draft, or outdated.

'authoritative' means this document is the source of truth.
'outdated' flags the document as no longer current.

Input parameters:

- `doc_id` (string, required)
- `priority` (required)

Output parameters:

- `result` (string)

### `vault_add_note` (~47 tokens)

Add Document Note

Attach a contextual note to a document.

Notes help you and your AI assistant understand when/how to use this document.

Input parameters:

- `doc_id` (string, required)
- `notes` (string, required)

Output parameters:

- `result` (string)

### `vault_doc_history` (~54 tokens)

View Document History

View the version history for a document.

Every time a document's content is updated, the previous version is saved
automatically. Use vault_doc_restore to revert to an earlier version.

Input parameters:

- `doc_id` (string, required)

Output parameters:

- `result` (string)

### `vault_doc_restore` (~53 tokens)

Restore Document Version

Restore a document to a previous version.

The current version is saved to history first, then the specified version
becomes the new current version.

Input parameters:

- `doc_id` (string, required)
- `version` (integer, required)

Output parameters:

- `result` (string)

### `vault_verify` (~250 tokens)

Verify Vault Integrity

Verify version-storage integrity for a vault or specific document.

By default, runs a read-only check that reports:
\- Stale intent journals (crash recovery left incomplete)
\- Recovery orphan files
\- Missing, invalid, or too-new version sidecars
\- Missing versions (no content file and no rotation record)
\- Version count disagreement between DB and filesystem
\- History divergence (loss, jump, rollback, or holes)
\- Unrecognized files under history/
\- Conflict files from hash-guarded replay
\- Per-vault history bytes vs the hard cap
\- Permissions advisory on the vault root

With repair=True, performs additive-only repairs:
\- Replays stale intent journals
\- Moves invalid/too-new sidecars aside (renames, never deletes)
\- Realigns documents.version_count with the filesystem

The confirm parameter gates divergence recovery operations.
Each confirm value writes one marker file and removes nothing.

With pre_upgrade=True, runs a read-only pre-upgrade scan that
records .upgrade_scan.json. Safe to run before upgrading LoreDocs.

Input parameters:

- `confirm`
- `doc_id`
- `pre_upgrade` (boolean)
- `repair` (boolean)
- `vault`

Output parameters:

- `result` (string)

### `vault_copy_doc` (~39 tokens)

Copy Document

Copy a document from one vault to another, including all metadata.

Input parameters:

- `doc_id` (string, required)
- `target_vault` (string, required)

Output parameters:

- `result` (string)

### `vault_move_doc` (~41 tokens)

Move Document

Move a document to a different vault. Removes it from the source vault.

Input parameters:

- `doc_id` (string, required)
- `target_vault` (string, required)

Output parameters:

- `result` (string)

### `vault_inject` (~239 tokens)

Inject Vault Documents

Load ranked vault documents into conversation context with token-budget enforcement.

Documents are ranked by FTS5 relevance (when query is provided) and priority weight,
then packed greedily until the effective token cap is reached.

Args:
    vault_name: Vault name or ID.
    query: Optional FTS5 search query to rank documents by relevance.
    max_tokens: Hard token budget. Overrides vault DB cap. Effective cap = max_tokens * safety_factor.
    cap_behavior: 'best_effort' (inject as many docs as fit) or 'strict' (error if any doc exceeds cap).
    session_token: Optional opaque string used as per-session cache key.
    max_single_doc_tokens: Truncate individual documents to this many tokens. 0 = no per-doc limit.
    safety_factor: Fraction of max_tokens to use as effective cap (default 0.60 = 60%).

Input parameters:

- `cap_behavior` (string)
- `max_single_doc_tokens`
- `max_tokens`
- `query` (string)
- `safety_factor` (number)
- `session_token`
- `vault_name` (string, required)

Output parameters:

- `result` (string)

### `vault_prime` (~215 tokens)

Prime Vault Context

Pre-load all vault documents into the current session by priority order.

Equivalent to vault_inject with no query: loads all documents ordered by
priority weight (authoritative first), then by recency. Use at session start
to orient yourself on all knowledge available in a vault.

Args:
    vault_name: Vault name or ID.
    max_tokens: Hard token budget. Effective cap = max_tokens * safety_factor.
    cap_behavior: 'best_effort' (inject as many docs as fit) or 'strict' (error if cap exceeded).
    session_token: Optional opaque string used as per-session cache key.
    max_single_doc_tokens: Truncate individual documents to this many tokens.
    safety_factor: Fraction of max_tokens to use as effective cap (default 0.60 = 60%).

Input parameters:

- `cap_behavior` (string)
- `max_single_doc_tokens`
- `max_tokens`
- `safety_factor` (number)
- `session_token`
- `vault_name` (string, required)

Output parameters:

- `result` (string)

### `vault_inject_by_tag` (~225 tokens)

Inject Documents by Tag

Load all documents matching any of the given tags into the current conversation context.

Documents matching any of the provided tags are fetched, ranked by priority weight
and recency, then packed greedily within the token cap.

Args:
    vault_name: Vault name or ID.
    tags: List of tags to match (OR semantics: any matching tag includes the doc).
    max_tokens: Hard token budget. Effective cap = max_tokens * safety_factor.
    cap_behavior: 'best_effort' (inject as many docs as fit) or 'strict'.
    session_token: Optional opaque string used as per-session cache key.
    max_single_doc_tokens: Truncate individual documents to this many tokens.
    safety_factor: Fraction of max_tokens to use as effective cap (default 0.60 = 60%).

Input parameters:

- `cap_behavior` (string)
- `max_single_doc_tokens`
- `max_tokens`
- `safety_factor` (number)
- `session_token`
- `tags` (array, required)
- `vault_name` (string, required)

Output parameters:

- `result` (string)

### `vault_inject_summary` (~58 tokens)

Inject Vault Summary

Generate a summary overview of a vault's contents for conversation orientation.

Lists all documents with their categories, tags, priorities, and notes.
Useful at the start of a conversation to understand what knowledge is available.

Input parameters:

- `vault` (string, required)

Output parameters:

- `result` (string)

### `vault_get_injection_cap` (~77 tokens)

Get Injection Cap

Return the stored per-vault injection token cap (or 'not set' if none).

If not set, the server falls back to LOREDOCS_INJECTION_CAP_TOKENS env var,
then LOREDOCS_INJECTION_DEFAULT_CAP_TOKENS (default 100000).

Input parameters:

- `vault_name` (string, required)

Output parameters:

- `result` (string)

### `vault_get_session_token` (~67 tokens)

Get Session Token

Generate a fresh session token (UUID4) for use with vault_inject / vault_prime.

Pass the returned token as session_token in subsequent injection calls so the
per-session cache can scope cached results to this conversation.
Cache hits are valid until any document in the vault is updated.

Output parameters:

- `result` (string)

### `vault_estimate_tokens` (~88 tokens)

Estimate Injection Tokens

Preview the token count of a vault injection without injecting documents.

Returns estimated token counts for each document (up to 500) so you can
choose an appropriate max_tokens value before calling vault_inject.
Uses tiktoken if available; falls back to char-based estimation.

Input parameters:

- `max_single_doc_tokens`
- `query` (string)
- `vault_name` (string, required)

Output parameters:

- `result` (string)

### `vault_get_server_capabilities` (~39 tokens)

Get Server Capabilities

Return a summary of this LoreDocs server's injection capabilities and token estimation settings.

Useful for diagnosing injection behavior or verifying which features are active.

Output parameters:

- `result` (string)

### `vault_import_dir` (~154 tokens)

Import Directory

Bulk import all supported files from a directory into a vault.

Imports text files, PDFs, Word docs, Excel files, PowerPoints, and more.
Each file becomes a separate document with text extracted for search indexing.
Files over 30MB are skipped. Hidden files (starting with .) are skipped.

Supports Obsidian vaults: subdirectories are traversed recursively by default
(set recursive=False for single-level import). Markdown files with YAML frontmatter
tags (tags: [a, b] or block-list style) have those tags merged into the document.

Input parameters:

- `category`
- `directory` (string, required)
- `recursive` (boolean)
- `tags`
- `vault` (string, required)

Output parameters:

- `result` (string)

### `vault_export` (~56 tokens)

Export Vault

Export all documents from a vault to a local directory.

Copies the original files (not extracted text) to the specified directory.
Useful for backing up or sharing vault contents.

Input parameters:

- `directory` (string, required)
- `vault` (string, required)

Output parameters:

- `result` (string)

### `vault_link_doc` (~91 tokens)

Link Documents

Create a link between two documents across any vault.

Links are bidirectional and labelled (e.g. 'related', 'references',
'supersedes', 'part-of').  If the link already exists, reports it.
Use vault_find_related to discover all docs linked to a given document.

Input parameters:

- `label` (string)
- `source_doc` (string, required)
- `target_doc` (string, required)

Output parameters:

- `result` (string)

### `vault_unlink_doc` (~50 tokens)

Unlink Documents

Remove a link between two documents (both directions).

If no link exists between the two documents, reports that cleanly.

Input parameters:

- `source_doc` (string, required)
- `target_doc` (string, required)

Output parameters:

- `result` (string)

### `vault_find_related` (~54 tokens)

Find Related Documents

Find all documents linked to a given document. Pro only.

Returns each related document with its vault, category, tags, and link label.
Use vault_link_doc to create new links.

Input parameters:

- `doc_id` (string, required)

Output parameters:

- `result` (string)

### `vault_suggest` (~83 tokens)

Get Document Suggestions

Get suggestions for documents that may need attention.

Surfaces documents that are undocumented (no notes), unorganized (no tags),
or isolated (no links to other documents).  Use to guide housekeeping work
or to discover documents that haven't been connected to the broader graph.

Optionally scope to a single vault.

Input parameters:

- `limit` (integer)
- `vault`

Output parameters:

- `result` (string)

### `vault_export_manifest` (~71 tokens)

Export Vault Manifest

Export a complete manifest of a vault's contents.

Returns vault metadata, document list with tags and categories,
tag frequency index, category counts, and link count.
Use the json format for machine-readable output.
Use the markdown format for human-readable summaries.

Input parameters:

- `format`
- `vault` (string, required)

Output parameters:

- `result` (string)

### `vault_tier_status` (~74 tokens)

Get Tier Status

Show current tier (Free or Pro) and usage vs. limits.

Displays how many vaults and how much storage are in use, with percentages
against Free tier limits. Useful before hitting a limit to know how close
you are, or to confirm Pro tier is active after upgrading.

Input parameters:

- `response_format`

Output parameters:

- `result` (string)

### `vault_set_tier` (~116 tokens)

Set License Tier

Activate a tier (free or pro) for LoreDocs.

Pro tier removes all vault, document, storage, and version limits.
After purchasing a Pro license, set LOREDOCS_PRO=<your-license-key> in
your environment and restart the server, then call this tool with tier='pro'
to persist the Pro tier. Reverting to tier='free' re-enables limits (but
does not delete any existing data that exceeds the limits -- it only blocks
new writes).

Input parameters:

- `tier` (string, required)

Output parameters:

- `result` (string)

### `get_license_tier` (~144 tokens)

Get License Tier

Return the current LoreDocs license tier and status.

Use this to confirm whether the Pro license key is loaded and valid.

Returns a dict with keys:
    is_pro      -- bool, True if Pro tier is active
    mode        -- "licensed" | "dev_bypass" | "free" | "invalid_key"
    product     -- product name from the license payload (if licensed)
    exp         -- expiry date or "never" (if licensed)
    email       -- customer email (if licensed and present)
    error       -- error message (if mode is "invalid_key")
    upgrade_url -- Stripe checkout link (present when not already Pro)

### `vault_link_session` (~151 tokens)

Link Session to Doc

Create a manual cross-product link from a LoreConvo session to a LoreDocs doc.

Both LoreConvo and LoreDocs must be installed. Manual links are accessible
on all tiers. The linked doc must not be in an opt-out vault.

Args:
    session_id  -- LoreConvo session UUID
    doc_id      -- LoreDocs document ID
    vault_id    -- LoreDocs vault containing the document

Returns dict with:
    ok          -- bool
    session_id, doc_id on success
    reason      -- failure description (generic; details in debug log)

Input parameters:

- `doc_id` (string, required)
- `session_id` (string, required)
- `vault_id` (string, required)

### `vault_get_session_links` (~152 tokens)

Get Session Links for Doc

Return cross-product LoreConvo sessions linked to a LoreDocs document.

Both LoreConvo and LoreDocs must be installed. Requires Pro tier for
auto-links. Manual links are always returned.

Args:
    doc_id  -- LoreDocs document ID
    limit   -- max results (default 5)

Returns dict with:
    schema_version          -- CROSS_LINK_SCHEMA_VERSION for version negotiation
    cross_product_available -- bool
    tier_gate               -- "satisfied" | "pro_required"
    links                   -- list of {target_product, target_id, similarity_score,
                               link_type, created_at, is_stale}

Input parameters:

- `doc_id` (string, required)
- `limit` (integer)

### `vault_get_linked_sessions` (~107 tokens)

Get Linked Sessions

Return LoreDocs documents linked to a given LoreConvo session.

Queries the LoreDocs cross_product_links table for links where the session
is the source or target. Returns both auto and manual links. Requires Pro
tier for auto-links.

Args:
    session_id  -- LoreConvo session UUID
    limit       -- max results (default 5)

Returns same structure as vault_get_session_links.

Input parameters:

- `limit` (integer)
- `session_id` (string, required)

### `get_server_info` (~118 tokens)

Get Server Info

Return MCP compatibility status for this LoreDocs server.

Returns product version, installed mcp SDK version, tested version, and
compatibility status. Useful for diagnosing version mismatches on running
servers without requiring a restart.

Returns dict with: product_name, product_version, install_kind (wheel|editable),
version_from_source (if editable), mcp_installed, mcp_tested, mcp_accepted,
status (ok|mismatch|undetermined|disabled|internal_error), note,
error_detail (set only on internal_error).

### `vault_import_notion_setup` (~34 tokens)

Notion Import Setup

Report Notion import readiness and how to enable it. Read-only.
Does not install or modify any packages.

## Diagnostics

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

## Score history

- 2026-10-17: 54
- 2026-10-16: 53
- 2026-10-15: 58
- 2026-10-14: 57
- 2026-10-13: 57
- 2026-10-12: 56
- 2026-10-06: 64
- 2026-10-04: 68
- 2026-10-03: 67
- 2026-10-02: 67
- 2026-10-01: 63
- 2026-09-30: 63
- 2026-09-29: 63
- 2026-09-28: 63
- 2026-09-27: 63
- 2026-09-26: 63
- 2026-09-25: 48

## Common questions

### What is the LoreDocs MCP server?

LoreDocs is an MCP server listed in the public MCP registry as io.github.labyrinth-analytics/loredocs. Local-first knowledge vaults for project docs and specs. Tagged, versioned, full-text searchable. This page covers its PyPI package (loredocs).

### Is the LoreDocs MCP server safe to use?

LoreDocs scores 54 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 17 October 2026. 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 LoreDocs MCP server expose?

LoreDocs exposes 49 tools: vault_create, vault_list, vault_info, vault_archive, vault_delete, and 44 more. Their descriptions and schemas cost roughly 4,664 tokens of context every time the server is loaded.

### Is the LoreDocs MCP server still maintained?

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

LoreDocs declares the BUSL-1.1 licence, which is not on the OSI-approved list. Read the terms before using it at work, and note this covers the source only, not the cost of any service it calls.

## Links

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