docdexBLOCK
A document index with MCP, http and client support. https://docdex.org/
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://docdex.org)
Turn your repository into fast, private context that humans and AI can trust.
Docdex is a local-first indexer and search daemon for documentation and source code. It sits between your raw files and your AI assistant, providing deterministic search, code intelligence, and persistent memory without ever uploading your code to a cloud vector store.
⚡ Why Docdex?
Most AI tools rely on "grep" (fast but dumb) or hosted RAG (slow and requires uploads). Docdex runs locally, understands code structure, and gives your AI agents a persistent memory.
🚀 Features
- 📚 Document Indexing: Rank and summarize repo documentation instantly.
- 🧠 AST & Impact Graph: Search by function intent and track downstream dependencies (supports Rust, Python, JS/TS, Go, Java, C++, and more).
- 💾 Repo Memory: Stores project facts, decisions, and notes locally.
- 👤 Agent Memory: Remembers user preferences (e.g., "Use concise bullet points") across different repositories.
- **🗂️ Conversatio
f42e69d4a90bOBSERVED · 2026-10-12Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add docdex -- npx -y [email protected]
Exposed tools (117)
87 read · 23 write · 7 destructive. Blast radius: 7 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
constraints | read | Optional constraints (performance, compatibility) |
depth | read | Depth of the walkthrough (quick or deep) |
docdex_ai_terminal_capture | read | Record a normalized AI-terminal session summary into personal preferences and mind-clone inputs. |
docdex_ai_terminal_detect | read | Detect supported AI-terminal generated-skill targets without persisting integration records. |
docdex_ai_terminal_events | read | List normalized AI-terminal capture events. |
docdex_ai_terminal_integrations | read | List configured AI-terminal integrations for automatic capture, generated-skill sync, and activation. |
docdex_ai_terminal_integrations_bootstrap | write | Create or update Docdex-owned generated-skill roots for supported AI terminals. |
docdex_ai_terminal_status | write | Show AI-terminal capture and generated-skill sync status. |
docdex_ai_terminal_sync_skills | write | Promote stable mind-clone playbooks into generated skills and install low-risk validated skills into enabled AI terminals. |
docdex_ast | read | Read Tree-sitter AST nodes for a file, including per-file outcome (ok/skipped/failed). |
docdex_batch_search | write | Run batched search queries with deterministic truncation and per-query responses. |
docdex_capabilities | read | Return the Docdex optional-feature capability contract for Codali integration. |
docdex_clone_context | read | Compile a bounded personal-preferences clone context pack for a query. |
docdex_clone_directive | read | Compile an auditable operator-clone directive checklist for an agent task. |
docdex_clone_evaluate | read | Score clone-pack fidelity heuristics for a query. |
docdex_clone_explain | read | Explain the evidence trace for a bounded clone context pack. |
docdex_clone_replay_dataset | read | Generate replay dataset cases from executable operator routines for clone-prediction evaluation. |
docdex_clone_replay_evaluate | read | Score whether a clone context pack predicts expected operator next-step categories. |
docdex_clone_replay_suite | write | Run replay cases through clone directives and report aggregate category, routine, step, and approval metrics. |
docdex_conversation_delete | destructive | Delete a conversation session and its derived artifacts from a repo or explicit global conversation namespace. |
docdex_conversation_export | read | Export one conversation session with any linked diary entries from a repo or explicit global conversation namespace. |
docdex_conversation_hook | read | Enqueue or synchronously process a conversation-memory hook action for a repo or explicit global conversation namespace. |
docdex_conversation_import | write | Import a normalized conversation session, plain-text transcript, or native export format into repo-scoped conversation memory or an explicit global conversation namespace. |
docdex_conversation_list | read | List conversation sessions with summaries and metadata for a repo or explicit global conversation namespace. |
docdex_conversation_prune | write | Preview or apply conversation retention cleanup for a repo or explicit global conversation namespace using current config or explicit overrides. |
docdex_conversation_read | read | Read a conversation session with ordered messages and derived artifacts from a repo or explicit global conversation namespace. |
docdex_conversation_redact | destructive | Redact one conversation session and clear its derived wake-up artifacts in a repo or explicit global conversation namespace. |
docdex_conversation_search | read | Search conversation archive summaries and raw message snippets for a repo or explicit global conversation namespace. |
docdex_dag_export | read | Export a DAG session for a given session_id (json/text/dot). |
docdex_diary_read | read | Read diary entries for an optional agent in a repo or explicit global conversation namespace. |
docdex_diary_write | write | Write one diary entry for an agent in a repo or explicit global conversation namespace. |
docdex_file | read | Read a file from the current repo (delegates to docdex_open); vars: {path}. |
docdex_files | read | List indexed documents (rel_path/doc_id/token_estimate) for the current repo. |
docdex_get_profile | read | Fetch profile preferences for an agent (profile memory). |
docdex_impact_diagnostics | write | List unresolved dynamic import diagnostics by file. |
docdex_impact_graph | read | Fetch impact graph traversal for a repo-relative file. |
docdex_incident_triage | read | Triage a production issue using Docdex search + impact data. |
docdex_index | read | Rebuild the index (or ingest specific files) for the current repo root; use after large changes or stale results. |
docdex_kg_clear | destructive | Delete all conversation knowledge graph data in a repo or explicit global conversation namespace. |
docdex_kg_delete_edge | destructive | Delete one graph edge together with its fact projection and evidence in a repo or explicit global conversation namespace. |
docdex_kg_delete_episode | destructive | Delete one provenance episode and its graph edges/facts in a repo or explicit global conversation namespace. |
docdex_kg_entity_links | read | Fetch code-facing links recorded for one graph entity in a repo or explicit global conversation namespace. |
docdex_kg_episode | read | Fetch one provenance episode together with its graph edges and evidence in a repo or explicit global conversation namespace. |
docdex_kg_neighborhood | read | Inspect graph edges adjacent to one entity or topic in a repo or explicit global conversation namespace. |
docdex_kg_query | read | Query temporal knowledge facts extracted from conversation memory in a repo or explicit global conversation namespace. |
docdex_kg_rebuild | read | Rebuild graph-side link projections and reindex SQLite structures for conversation knowledge in a repo or explicit global conversation namespace. |
docdex_kg_search_edges | read | Search graph-native edges extracted from conversation memory in a repo or explicit global conversation namespace. |
docdex_kg_search_episodes | read | Search provenance episodes extracted from conversation memory in a repo or explicit global conversation namespace. |
docdex_kg_search_nodes | read | Search canonical graph entities extracted from conversation memory in a repo or explicit global conversation namespace. |
docdex_kg_timeline | read | Read the temporal timeline for one entity or decision topic in a repo or explicit global conversation namespace. |
docdex_llm_diagnostics | read | Return local LLM service detection/default-selection diagnostics and status messages. |
docdex_local_completion | read | Offload a small local task to a local model and return the draft output. |
docdex_memory_layers | read | Describe the six Docdex memory layers, their scope, storage, and recommended agent usage for the current repo or conversation namespace. |
docdex_memory_recall | read | Recall memory items by semantic similarity (requires DOCDEX_ENABLE_MEMORY=1). |
docdex_memory_route | write | Recommend which Docdex memory lanes to consult first or write to for a specific query, including core versus retrievable memory. |
docdex_memory_save | write | Store a memory item (requires DOCDEX_ENABLE_MEMORY=1). |
docdex_memory_store | read | Store a memory item (requires DOCDEX_ENABLE_MEMORY=1). |
docdex_onboarding | read | Guide a new contributor through the repo with Docdex tools. |
docdex_open | read | Read a file from the repo (optional line window); rejects paths outside the repo. |
docdex_personal_preferences_categories | read | List personal-preferences categories and context policy. |
docdex_personal_preferences_claim_forget | read | Forget one claim, redact its usable content, and rebuild snapshots. |
docdex_personal_preferences_claim_override | read | Override one claim with an explicit corrected value. |
docdex_personal_preferences_claim_read | read | Read one extracted personal-preference claim. |
docdex_personal_preferences_claim_review | read | Approve, reject, or re-queue one extracted claim. |
docdex_personal_preferences_claims | read | List extracted personal-preference claims with truth/origin filters. |
docdex_personal_preferences_delete | destructive | Delete one captured personal-preferences session and its derived records. |
docdex_personal_preferences_export | read | Export one capture or the whole personal-preferences store to JSON. |
docdex_personal_preferences_feedback | write | Add a feedback event that influences future mind-clone context. |
docdex_personal_preferences_generated_skill | read | Read one generated skill by skill id, slug, or portable skill name. |
docdex_personal_preferences_generated_skill_disable | write | Disable one generated skill while preserving registry provenance. |
docdex_personal_preferences_generated_skill_events | read | List registry audit events for generated skills. |
docdex_personal_preferences_generated_skill_install | write | Install one generated skill into enabled Docdex-owned terminal roots. |
docdex_personal_preferences_generated_skill_rollback | read | Roll back one generated skill to the previous rendered version when available. |
docdex_personal_preferences_generated_skill_validate | read | Validate one generated skill |
docdex_personal_preferences_generated_skills | read | List generated skills derived from personal preferences and mind-clone operator routines. |
docdex_personal_preferences_generated_skills_autopilot | write | Run one generated-skills autopilot pass through registry, validation, and install policy. |
docdex_personal_preferences_generated_skills_preview | read | Render registry-backed generated-skill candidates without installing them. |
docdex_personal_preferences_generated_skills_render | read | Render registry-backed generated-skill candidates without installing them. |
docdex_personal_preferences_generated_skills_sync | write | Promote stable operator playbooks into versioned generated skills and optionally install them to terminal integrations. |
docdex_personal_preferences_list | read | List captured personal-preferences sessions. |
docdex_personal_preferences_mind_map | read | Compile a queryable operator mind map from approved claims and synthesized routines. |
docdex_personal_preferences_operator_event_record | write | Record one manual operator event such as a git/test/deploy/approval/action step. |
docdex_personal_preferences_operator_events | read | List first-class operator events captured from commands, approvals, and planning artifacts. |
docdex_personal_preferences_operator_events_scan_artifacts | read | Scan repo planning/progress/SDS markdown artifacts into first-class operator events. |
docdex_personal_preferences_playbooks | read | Compile stable operator routines into SKILL.md-compatible playbook artifacts. |
docdex_personal_preferences_process | read | Manually process queued captures with a local mcoda agent. |
docdex_personal_preferences_prune | write | Preview or apply personal-preferences retention pruning. |
docdex_personal_preferences_purge | destructive | Purge all personal-preferences captures and derived records. |
docdex_personal_preferences_read | read | Read one captured personal-preferences session. |
docdex_personal_preferences_redact | read | Redact raw transcript content for one captured session. |
docdex_personal_preferences_retention_policies | read | List personal-preferences retention policies by memory lane. |
docdex_personal_preferences_review | read | Approve, reject, or re-queue one derived personal-preferences record. |
docdex_personal_preferences_reviews | read | List derived personal-preferences records by review status. |
docdex_personal_preferences_routine_explain | read | Explain one synthesized operator routine with source claims grouped by step. |
docdex_personal_preferences_routine_read | read | Read one synthesized operator routine by id or routine key. |
docdex_personal_preferences_routines | read | List synthesized operator routines compiled from repeated personal-preference claims. |
docdex_personal_preferences_routines_rebuild | write | Rebuild synthesized operator routines from the current claim set. |
docdex_personal_preferences_scan | read | Scan supported local AI-client transcript roots and queue new personal-preferences captures. |
docdex_personal_preferences_search | read | Search derived personal-preferences records. |
docdex_personal_preferences_snapshot_read | read | Read one temporal identity snapshot. |
docdex_personal_preferences_snapshots | read | List temporal identity snapshots compiled from claims. |
docdex_personal_preferences_snapshots_rebuild | write | Rebuild temporal identity snapshots from the current claim set. |
docdex_personal_preferences_status | read | Show personal-preferences storage and queue status. |
docdex_refactor_plan | read | Plan a refactor using Docdex symbols and impact graph. |
docdex_repo_inspect | read | Inspect how Docdex resolves repo identity (normalized path, fingerprint, and any shared-state mapping). |
docdex_rerank | read | Rerank candidate hits with transparent score updates and deterministic fallback behavior. |
docdex_save_preference | write | Store a global profile preference for an agent (profile memory, async evolution). |
docdex_search | read | Search repo docs/code and return hits with rel_path/path, summary, snippet, and doc_id. |
docdex_stats | write | Inspect index metadata: doc count, state dir, size on disk, and last update time. |
docdex_symbols | read | Read the symbol extraction result for a file, including per-file outcome (ok/skipped/failed). |
docdex_tree | read | Render a folder tree with standard excludes (git, node_modules, build artifacts). |
docdex_wakeup | read | Assemble bounded startup memory from conversation history in a repo or explicit global conversation namespace for the active agent/query. |
docdex_web_research | write | Run local search plus web discovery/fetch and return the combined response (requires web enabled). |
log_snippet | read | Optional log snippet for context |
symptom | read | Symptom or error summary |
target | read | What you want to refactor (module, file, API) |
topic | read | Area or concept to focus on (e.g., auth, billing) |
Trust audit
BLOCKgrade F · trust 47/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (6 observation(s))
- Network
- declared (10 observation(s))
- Shell
- declared (6 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
"-----BEGIN PRIVATE KEY-----",
const RSA_PKCS1_KEY: &str = r#"-----BEGIN PRIVATE KEY-----
assert!(!is_allowed_url("https://metadata.google.internal/", &[]));assert!(!is_url_allowed("https://metadata.google.internal/", &[]));"https://metadata.google.internal/",
"http://169.254.169.254/latest/meta-data/",
"refusing to bind on non-loopback without TLS; provide --tls-cert/--tls-key or --insecure to allow plain HTTP",
.with_hint("Provide `--tls-cert/--tls-key`, use `--certbot-domain/--certbot-live-dir`, or (unsafe) pass `--insecure` behind a trusted proxy.")importlib.import_module(BASE + ".extra")
docdex_conversation_delete, docdex_conversation_redact, docdex_kg_clear, docdex_kg_delete_edge, docdex_kg_delete_episode, docdex_personal_preferences_delete, docdex_personal_preferences_purge
fake-archive.bin
.release-please-manifest.json
importlib.import_module(BASE + ".extra")
const { DEFAULT_TARGETS } = require("../../scripts/generate_release_manifest.cjs");const { collectReleaseAssetIssues } = require("../../scripts/validate_release_assets.cjs");} = require("../../scripts/generate_release_manifest.cjs");"../../tests/fixtures/local_llm_current_machine.json"
import { getWorkspaceStore } from '../../core/workspace';Docdex URL: http://127.0.0.1:28491
- Default HTTP base URL: http://127.0.0.1:28491 (override with DOCDEX_HTTP_BASE_URL).
Docdex URL: http://127.0.0.1:28491
- Default HTTP base URL: http://127.0.0.1:28491 (override with DOCDEX_HTTP_BASE_URL).
"url": "http://127.0.0.1:28491/v1/mcp/sse"
Some("refusing to bind on non-loopback without TLS; provide --tls-cert/--tls-key or --insecure to allow plain HTTP"),tar
Gates applied: critical_finding, no_behavioural_pass.
f42e69d4a90bfull audit observations/trust-audit/mcp-server/bekirdag__docdex.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | f42e69d4a90b | BLOCK | F | 47 | first audit |
Questions
What is the docdex MCP server?
A document index with MCP, http and client support. https://docdex.org/
What tools does docdex expose?
117 in total: 87 read-only, 23 that write, and 7 that can delete or overwrite (docdex_conversation_delete, docdex_conversation_redact, docdex_kg_clear, docdex_kg_delete_edge, docdex_kg_delete_episode). Every one is listed on this page with its risk.
Is docdex safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (47/100) and found 8 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 7 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does docdex need?
It reads ALLOWED_TOKEN, DOCDEX_GITHUB_TOKEN, DOCDEX_RELEASE_SIGNING_PRIVATE_KEY, DOCDEX_RELEASE_SIGNING_PUBLIC_KEY, FORBIDDEN_SECRET, GH_TOKEN and GITHUB_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does docdex run?
It speaks streamable-http, so it runs as a service you connect to over the network. It is published on npm as docdex at 0.2.99.
How current is this page?
The grade is for one exact copy of the source (f42e69d4a90b), read on 2026-10-12. The repository is watched and re-audited when it changes.