Atlas / MCP servers / bekirdag / docdex

docdexBLOCK

mcp/bekirdag/docdex

A document index with MCP, http and client support. https://docdex.org/

Verdict
BLOCK
Grade
F
Trust score
47 /100
Exposed tools
117 87r · 23w · 7d
Transport
streamable-http
License
MIT
Stars
15
01

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
Read from source at commit f42e69d4a90bOBSERVED · 2026-10-12
Advertisement
02

Connect

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-code (npm)
claude mcp add docdex -- npx -y [email protected]
03

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.

ToolRiskDescription
constraintsreadOptional constraints (performance, compatibility)
depthreadDepth of the walkthrough (quick or deep)
docdex_ai_terminal_capturereadRecord a normalized AI-terminal session summary into personal preferences and mind-clone inputs.
docdex_ai_terminal_detectreadDetect supported AI-terminal generated-skill targets without persisting integration records.
docdex_ai_terminal_eventsreadList normalized AI-terminal capture events.
docdex_ai_terminal_integrationsreadList configured AI-terminal integrations for automatic capture, generated-skill sync, and activation.
docdex_ai_terminal_integrations_bootstrapwriteCreate or update Docdex-owned generated-skill roots for supported AI terminals.
docdex_ai_terminal_statuswriteShow AI-terminal capture and generated-skill sync status.
docdex_ai_terminal_sync_skillswritePromote stable mind-clone playbooks into generated skills and install low-risk validated skills into enabled AI terminals.
docdex_astreadRead Tree-sitter AST nodes for a file, including per-file outcome (ok/skipped/failed).
docdex_batch_searchwriteRun batched search queries with deterministic truncation and per-query responses.
docdex_capabilitiesreadReturn the Docdex optional-feature capability contract for Codali integration.
docdex_clone_contextreadCompile a bounded personal-preferences clone context pack for a query.
docdex_clone_directivereadCompile an auditable operator-clone directive checklist for an agent task.
docdex_clone_evaluatereadScore clone-pack fidelity heuristics for a query.
docdex_clone_explainreadExplain the evidence trace for a bounded clone context pack.
docdex_clone_replay_datasetreadGenerate replay dataset cases from executable operator routines for clone-prediction evaluation.
docdex_clone_replay_evaluatereadScore whether a clone context pack predicts expected operator next-step categories.
docdex_clone_replay_suitewriteRun replay cases through clone directives and report aggregate category, routine, step, and approval metrics.
docdex_conversation_deletedestructiveDelete a conversation session and its derived artifacts from a repo or explicit global conversation namespace.
docdex_conversation_exportreadExport one conversation session with any linked diary entries from a repo or explicit global conversation namespace.
docdex_conversation_hookreadEnqueue or synchronously process a conversation-memory hook action for a repo or explicit global conversation namespace.
docdex_conversation_importwriteImport a normalized conversation session, plain-text transcript, or native export format into repo-scoped conversation memory or an explicit global conversation namespace.
docdex_conversation_listreadList conversation sessions with summaries and metadata for a repo or explicit global conversation namespace.
docdex_conversation_prunewritePreview or apply conversation retention cleanup for a repo or explicit global conversation namespace using current config or explicit overrides.
docdex_conversation_readreadRead a conversation session with ordered messages and derived artifacts from a repo or explicit global conversation namespace.
docdex_conversation_redactdestructiveRedact one conversation session and clear its derived wake-up artifacts in a repo or explicit global conversation namespace.
docdex_conversation_searchreadSearch conversation archive summaries and raw message snippets for a repo or explicit global conversation namespace.
docdex_dag_exportreadExport a DAG session for a given session_id (json/text/dot).
docdex_diary_readreadRead diary entries for an optional agent in a repo or explicit global conversation namespace.
docdex_diary_writewriteWrite one diary entry for an agent in a repo or explicit global conversation namespace.
docdex_filereadRead a file from the current repo (delegates to docdex_open); vars: {path}.
docdex_filesreadList indexed documents (rel_path/doc_id/token_estimate) for the current repo.
docdex_get_profilereadFetch profile preferences for an agent (profile memory).
docdex_impact_diagnosticswriteList unresolved dynamic import diagnostics by file.
docdex_impact_graphreadFetch impact graph traversal for a repo-relative file.
docdex_incident_triagereadTriage a production issue using Docdex search + impact data.
docdex_indexreadRebuild the index (or ingest specific files) for the current repo root; use after large changes or stale results.
docdex_kg_cleardestructiveDelete all conversation knowledge graph data in a repo or explicit global conversation namespace.
docdex_kg_delete_edgedestructiveDelete one graph edge together with its fact projection and evidence in a repo or explicit global conversation namespace.
docdex_kg_delete_episodedestructiveDelete one provenance episode and its graph edges/facts in a repo or explicit global conversation namespace.
docdex_kg_entity_linksreadFetch code-facing links recorded for one graph entity in a repo or explicit global conversation namespace.
docdex_kg_episodereadFetch one provenance episode together with its graph edges and evidence in a repo or explicit global conversation namespace.
docdex_kg_neighborhoodreadInspect graph edges adjacent to one entity or topic in a repo or explicit global conversation namespace.
docdex_kg_queryreadQuery temporal knowledge facts extracted from conversation memory in a repo or explicit global conversation namespace.
docdex_kg_rebuildreadRebuild graph-side link projections and reindex SQLite structures for conversation knowledge in a repo or explicit global conversation namespace.
docdex_kg_search_edgesreadSearch graph-native edges extracted from conversation memory in a repo or explicit global conversation namespace.
docdex_kg_search_episodesreadSearch provenance episodes extracted from conversation memory in a repo or explicit global conversation namespace.
docdex_kg_search_nodesreadSearch canonical graph entities extracted from conversation memory in a repo or explicit global conversation namespace.
docdex_kg_timelinereadRead the temporal timeline for one entity or decision topic in a repo or explicit global conversation namespace.
docdex_llm_diagnosticsreadReturn local LLM service detection/default-selection diagnostics and status messages.
docdex_local_completionreadOffload a small local task to a local model and return the draft output.
docdex_memory_layersreadDescribe the six Docdex memory layers, their scope, storage, and recommended agent usage for the current repo or conversation namespace.
docdex_memory_recallreadRecall memory items by semantic similarity (requires DOCDEX_ENABLE_MEMORY=1).
docdex_memory_routewriteRecommend which Docdex memory lanes to consult first or write to for a specific query, including core versus retrievable memory.
docdex_memory_savewriteStore a memory item (requires DOCDEX_ENABLE_MEMORY=1).
docdex_memory_storereadStore a memory item (requires DOCDEX_ENABLE_MEMORY=1).
docdex_onboardingreadGuide a new contributor through the repo with Docdex tools.
docdex_openreadRead a file from the repo (optional line window); rejects paths outside the repo.
docdex_personal_preferences_categoriesreadList personal-preferences categories and context policy.
docdex_personal_preferences_claim_forgetreadForget one claim, redact its usable content, and rebuild snapshots.
docdex_personal_preferences_claim_overridereadOverride one claim with an explicit corrected value.
docdex_personal_preferences_claim_readreadRead one extracted personal-preference claim.
docdex_personal_preferences_claim_reviewreadApprove, reject, or re-queue one extracted claim.
docdex_personal_preferences_claimsreadList extracted personal-preference claims with truth/origin filters.
docdex_personal_preferences_deletedestructiveDelete one captured personal-preferences session and its derived records.
docdex_personal_preferences_exportreadExport one capture or the whole personal-preferences store to JSON.
docdex_personal_preferences_feedbackwriteAdd a feedback event that influences future mind-clone context.
docdex_personal_preferences_generated_skillreadRead one generated skill by skill id, slug, or portable skill name.
docdex_personal_preferences_generated_skill_disablewriteDisable one generated skill while preserving registry provenance.
docdex_personal_preferences_generated_skill_eventsreadList registry audit events for generated skills.
docdex_personal_preferences_generated_skill_installwriteInstall one generated skill into enabled Docdex-owned terminal roots.
docdex_personal_preferences_generated_skill_rollbackreadRoll back one generated skill to the previous rendered version when available.
docdex_personal_preferences_generated_skill_validatereadValidate one generated skill
docdex_personal_preferences_generated_skillsreadList generated skills derived from personal preferences and mind-clone operator routines.
docdex_personal_preferences_generated_skills_autopilotwriteRun one generated-skills autopilot pass through registry, validation, and install policy.
docdex_personal_preferences_generated_skills_previewreadRender registry-backed generated-skill candidates without installing them.
docdex_personal_preferences_generated_skills_renderreadRender registry-backed generated-skill candidates without installing them.
docdex_personal_preferences_generated_skills_syncwritePromote stable operator playbooks into versioned generated skills and optionally install them to terminal integrations.
docdex_personal_preferences_listreadList captured personal-preferences sessions.
docdex_personal_preferences_mind_mapreadCompile a queryable operator mind map from approved claims and synthesized routines.
docdex_personal_preferences_operator_event_recordwriteRecord one manual operator event such as a git/test/deploy/approval/action step.
docdex_personal_preferences_operator_eventsreadList first-class operator events captured from commands, approvals, and planning artifacts.
docdex_personal_preferences_operator_events_scan_artifactsreadScan repo planning/progress/SDS markdown artifacts into first-class operator events.
docdex_personal_preferences_playbooksreadCompile stable operator routines into SKILL.md-compatible playbook artifacts.
docdex_personal_preferences_processreadManually process queued captures with a local mcoda agent.
docdex_personal_preferences_prunewritePreview or apply personal-preferences retention pruning.
docdex_personal_preferences_purgedestructivePurge all personal-preferences captures and derived records.
docdex_personal_preferences_readreadRead one captured personal-preferences session.
docdex_personal_preferences_redactreadRedact raw transcript content for one captured session.
docdex_personal_preferences_retention_policiesreadList personal-preferences retention policies by memory lane.
docdex_personal_preferences_reviewreadApprove, reject, or re-queue one derived personal-preferences record.
docdex_personal_preferences_reviewsreadList derived personal-preferences records by review status.
docdex_personal_preferences_routine_explainreadExplain one synthesized operator routine with source claims grouped by step.
docdex_personal_preferences_routine_readreadRead one synthesized operator routine by id or routine key.
docdex_personal_preferences_routinesreadList synthesized operator routines compiled from repeated personal-preference claims.
docdex_personal_preferences_routines_rebuildwriteRebuild synthesized operator routines from the current claim set.
docdex_personal_preferences_scanreadScan supported local AI-client transcript roots and queue new personal-preferences captures.
docdex_personal_preferences_searchreadSearch derived personal-preferences records.
docdex_personal_preferences_snapshot_readreadRead one temporal identity snapshot.
docdex_personal_preferences_snapshotsreadList temporal identity snapshots compiled from claims.
docdex_personal_preferences_snapshots_rebuildwriteRebuild temporal identity snapshots from the current claim set.
docdex_personal_preferences_statusreadShow personal-preferences storage and queue status.
docdex_refactor_planreadPlan a refactor using Docdex symbols and impact graph.
docdex_repo_inspectreadInspect how Docdex resolves repo identity (normalized path, fingerprint, and any shared-state mapping).
docdex_rerankreadRerank candidate hits with transparent score updates and deterministic fallback behavior.
docdex_save_preferencewriteStore a global profile preference for an agent (profile memory, async evolution).
docdex_searchreadSearch repo docs/code and return hits with rel_path/path, summary, snippet, and doc_id.
docdex_statswriteInspect index metadata: doc count, state dir, size on disk, and last update time.
docdex_symbolsreadRead the symbol extraction result for a file, including per-file outcome (ok/skipped/failed).
docdex_treereadRender a folder tree with standard excludes (git, node_modules, build artifacts).
docdex_wakeupreadAssemble bounded startup memory from conversation history in a repo or explicit global conversation namespace for the active agent/query.
docdex_web_researchwriteRun local search plus web discovery/fetch and return the combined response (requires web enabled).
log_snippetreadOptional log snippet for context
symptomreadSymptom or error summary
targetreadWhat you want to refactor (module, file, API)
topicreadArea or concept to focus on (e.g., auth, billing)
04

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.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (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)

CRITICALHard-coded secrets · secret.private_key · CWE-798, CWE-321
src/cli/commands/self_check.rs:17
"-----BEGIN PRIVATE KEY-----",
CRITICALHard-coded secrets · secret.private_key · CWE-798, CWE-321
src/daemon.rs:1535
const RSA_PKCS1_KEY: &str = r#"-----BEGIN PRIVATE KEY-----
HIGHNetwork egress · net.metadata_ip · CWE-200, CWE-319
src/orchestrator/web.rs:5455
assert!(!is_allowed_url("https://metadata.google.internal/", &[]));
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
HIGHNetwork egress · net.metadata_ip · CWE-200, CWE-319
src/web/ddg.rs:2521
assert!(!is_url_allowed("https://metadata.google.internal/", &[]));
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
HIGHNetwork egress · net.metadata_ip · CWE-200, CWE-319
src/web/policy.rs:434
"https://metadata.google.internal/",
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
HIGHNetwork egress · net.metadata_ip · CWE-200, CWE-319
src/web/policy.rs:454
"http://169.254.169.254/latest/meta-data/",
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
HIGHNetwork egress · net.tls_off · CWE-200, CWE-319
src/daemon.rs:472
"refusing to bind on non-loopback without TLS; provide --tls-cert/--tls-key or --insecure to allow plain HTTP",
Why it matters. certificate verification is disabled
Fix. leave verification on
HIGHNetwork egress · net.tls_off · CWE-200, CWE-319
src/daemon.rs:474
.with_hint("Provide `--tls-cert/--tls-key`, use `--certbot-domain/--certbot-live-dir`, or (unsafe) pass `--insecure` behind a trusted proxy.")
Why it matters. certificate verification is disabled
Fix. leave verification on
MEDIUMCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
src/impact/parser.rs:3582
importlib.import_module(BASE + ".extra")
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
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
Why it matters. 7 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.binary · CWE-1104
npm/test/fixtures/archive/fake-archive.bin
fake-archive.bin
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
LOWInventory / provenance · inv.hidden_file · CWE-1104
.release-please-manifest.json
.release-please-manifest.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
tests/impact_graph_indexing.rs:51
importlib.import_module(BASE + ".extra")
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
npm/test/platform.test.js:20
const { DEFAULT_TARGETS } = require("../../scripts/generate_release_manifest.cjs");
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
npm/test/release_asset_validation.test.js:10
const { collectReleaseAssetIssues } = require("../../scripts/validate_release_assets.cjs");
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
npm/test/release_manifest_generator.test.js:14
} = require("../../scripts/generate_release_manifest.cjs");
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/llm/local_library.rs:4939
"../../tests/fixtures/local_llm_current_machine.json"
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/mcp/context/assembly.ts:2
import { getWorkspaceStore } from '../../core/workspace';
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
AGENTS.md:2
Docdex URL: http://127.0.0.1:28491
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
AGENTS.md:228
- Default HTTP base URL: http://127.0.0.1:28491 (override with DOCDEX_HTTP_BASE_URL).
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
AGENT_PROMPT.md:2
Docdex URL: http://127.0.0.1:28491
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
AGENT_PROMPT.md:228
- Default HTTP base URL: http://127.0.0.1:28491 (override with DOCDEX_HTTP_BASE_URL).
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:129
"url": "http://127.0.0.1:28491/v1/mcp/sse"
LOWNetwork egress · net.tls_off · CWE-200, CWE-319
tests/smoke.rs:971
Some("refusing to bind on non-loopback without TLS; provide --tls-cert/--tls-key or --insecure to allow plain HTTP"),
Why it matters. certificate verification is disabled
Fix. leave verification on
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
npm/package.json
tar
Why it matters. 1 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: critical_finding, no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha f42e69d4a90bfull audit observations/trust-audit/mcp-server/bekirdag__docdex.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-12f42e69d4a90bBLOCKF47first audit
06

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.

Advertisement