AIDOCS (cristian1991/AIDOCS) is an MCP server listed on the M8ven Trust Index. It scores 68 out of 100, grade C. It declares 355 tools. No publisher has claimed this listing.

C
Caution
68/100

AIDOCS

AIDOCS — AI Doctrine Orchestrator, Control & Security.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

cristian1991

Source: github_repo_search

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
⚠️
Tool annotations don’t match behaviour
1 read-only tool performs write/delete/exec — ai_get_symbol_snippet (line 2710: dest.write_bytes(raw_bytes))
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
🔐
You'll be asked for 1 credential: AIDOCS_OPERATOR_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes285 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

metrics_snapshot

Return current MCP server metrics (token usage, tool calls, output guard stats).

metrics_prometheus

Return metrics in Prometheus text exposition format for /metrics scraping.

mcp_registry_search

Search the official MCP server registry. Returns matching servers with install commands.

mcp_registry_get

Get details for a specific MCP server from the registry.

circuit_breaker_status

Show circuit breaker states for all tracked MCP servers.

circuit_breaker_reset

Manually reset a circuit breaker for an MCP server.

ai_notifications_clear

Clear pending 📣 run-done notifications.

context_budget_check

Check context budget for a session — journal size, estimated tokens, recommendations.

context_compact

Compact session context — extract key decisions, prune old journal entries. Resets token counters (new context window).

edit_history_list

List recent file edits for rollback. Optionally filter by file or session.

edit_history_grep

Forensic grep across edit history for old/new content.

files_touched

Summary of all files modified in this session — who edited what, how many times.

mcp_tool_catalog

Self-introspection: list all registered MCP tools.

session_status_badge

Compact session-state badge for editor status bars.

semantic_index_sync

Build semantic search index from code files. Embeds file contents for meaning-based search.

semantic_index_status

Check semantic search index status — model availability, indexed files/chunks.

edit_rollback

Rollback a specific edit — restore the file to its state before the edit.

ai_session

Unified session-lifecycle tool — one tool, ten modes (Empire directive 2026-05-12).

ai_project

Bind THIS host session to an AIDOCS-enabled project — the local mirror of the outer gate's project_select.

aidocs_admin_clear_reconnect

Clear both reconnect flags in one idempotent call.

ai_preflight

Battlefield briefing for a task — anti-reinvention pre-check.

ai_gate_msg

Empire gate-message CRUD — backs the dashboard editor.

workflow_action_satisfy

Mark a workflow action as completed with evidence. Call after doing the required work.

ai_git

Basic git operations. op: status, log, diff, add, commit, push, pull, branch, stash.

conductor_start

Start a persistent long-lived conductor agent for a session.

conductor_send

Send a message/command to the running conductor agent.

conductor_stop

Stop the running conductor agent and release session claim.

ai_seat

Unified conductor seat operations — one tool, four modes (Empire directive 2026-05-12).

ai_qa

Unified Q&A channel — one tool, five modes (Empire directive 2026-05-12).

ai_failures

Failure-stewardship disposition AND DIAGNOSIS surface — the agent-callable CONSUMER half of the failure ledger (the Stop hook is the producer).

ai_whoami

Who does each identity channel say is calling, RIGHT NOW, on THIS call?

ai_gate_explain

For WHAT KIND of block, WHAT HAPPENS. A read-only diagnostic added 2026-08-25 after a plain CSS append (``printf >> x.css``) froze a session under ``run_destructive`` and no surface could say why, or what any other refusal would have cost.

ai_version

Which AIDOCS build is this, and what is newest deployed / released?

ai_process_audit

Read-only runtime process-audit ledger (backlog #335 Phase 1) — what subprocesses did this server spawn, why, and when. Rows are recorded by shell_egress_service.audited_popen (spawn + reap); the fingerprint ENFORCEMENT gate (LEGACY_SUBPROCESS_FINGERPRINTS) is a separate, untouched authority — this

ai_msg

One inter-agent channel for role messages and actor-routed XAACP.

ai_agents

Role-based audit of the CONNECTED agents on the selected project -- the actual interactive agents (conductors), keyed by host_session_id / agent identity, NOT lane subagents. Each shows its messagerie role (conductor/co_conductor/king), bound work session, liveness (its MCP process), agent_memory_ep

ai_resolve_scope

Auto-resolve a scope expansion request if no lane conflict exists. Approves and expands scope automatically, or flags conflict for manual resolution.

ai_resolve_backend

Resolve the best host + model + think_mode for a task type.

conductor_output

Get recent conductor agent output (stdout/stderr). Dashboard polls this for live view.

execution_clear_token_usage

Clear token usage audit data (AUDEL-gated: host-session operator-auth + admin + reason + audit-of-audit; subagents/unauthenticated refused. No token argument — auth comes from the host-session binding only).

execution_clear_tool_calls

Clear tool-call audit events (AUDEL-gated; host-session auth only).

execution_prune

Prune old execution audit events (AUDEL-gated; host-session auth only). keep_days deletes by age, max_events caps total count.

execution_usage_by_identity

Get token/tool usage broken down by host and agent identity.

ai_lane

Unified lane control + inspection — one tool for everything an agent does with lanes (Empire directive 2026-05-28: process-shaped work lives under its natural parent, no `ai_debug` catch-all).

ai_plan

Unified plan + lane orchestration. 13 ai_plan_* siblings → 6 modes (operator directive 2026-05-28: aggressive consolidation over rename-only).

ai_worker

Worker management — status, list, kill, and resume for plan-task workers. Resolves the `ai_kill` (worker_id) vs `ai_run(action= 'kill')` (run_id) name collision that the operator caught 2026-05-28: workers and shell processes are different subsystems, one parent each.

verify_audit_chain

Walk a session's execution_events Merkle chain and report whether it's intact.

audit_events_for_task

Return every execution_event stamped with this task_id.

ai_get_lines

Fallback line-range read. PREFER indexed tools FIRST.

ai_read_raw

Read a byte range of any file as text. Use for non-indexed text files (logs, CSVs, .csproj, .resx, plain configs) or when reading files too large for the line-based tools. For PDFs/Excel/docx, use the structured-parser tools. Soft cap 512KB per call; hard cap 8MB. For larger files, paginate via offs

ai_read_pdf

Extract text/tables from a PDF. mode: 'text' | 'text_and_tables'. pages: "1-5,8" or "" for all (max 50). Requires the 'office' extra.

ai_read_excel

Inspect an Excel workbook (read-only). Modes: 'outline' (sheets+headers), 'sheet' (rows, max 500, needs sheet), 'formulas' (needs sheet), 'trace' (parse formula at sheet!cell). Requires the 'office' extra.

ai_read_docx

Extract paragraphs and tables from a .docx in document order. 'sections' is an optional "1-3" range limiting output to the first N Heading-1 sections. Requires the 'office' extra.

ai_read_sqlite

Inspect or query a SQLite file (read-only). Modes: 'tables' (names+row counts), 'schema' (CREATE stmts, optionally filtered by table), 'query' (SELECT-only, capped at `limit`).

ai_read_jsonl

Stream a JSONL file with field-level filter + projection.

ai_create_file

Create a new file at a relative path with exact content.

ai_delete

Delete a single project-relative file by moving it to the .TRASH/ recovery area, or restore a trashed file (#385). Two-phase confirm with the path in the phrase, so the operator sees exactly which file before agreeing. Single file only; no glob/batch/ directory. Regenerable artifacts (build/cache di

ai_file

A file's IDENTITY and EXISTENCE in one tool — create | rename | delete | restore (#958).

ai_insert_lines

Insert content before a specific line. Clearer than ai_replace(mode='lines') insert mode.

ai_batch_edit

Apply multiple edits atomically across one or more files.

ai_replace

Unified replace: mode='string' (old/new_string; old_string capped by edit.str_replace_max_old_chars, default 1000), 'anchor' (start_anchor + replacement + end_anchor span; inclusive=True consumes both anchors instead of keeping them), 'symbol' (index-resolved symbol body rewrite — requires `symbol`

config_edit_policy_get

Return the release-profile config edit policy visible to agents.

ai_protect

DO NOT TOUCH file protection — writes a sentinel header into the file AND records the protecting identity in the SQL registry (the registry, not the header, is authoritative; only the same user or admin+ can remove).

ai_search

Find files by name or summary. Use modified_since to filter by recency: 'today', '1h', '24h', '7d'. Replaces Glob — returns ranked results with language and role info.

ai_text_search

Full-text search across all indexed files. Replaces Grep — returns matches with line numbers. Use | or OR for multi-term. Set regex=true for patterns. Use `glob` to scope the search to a subset of files. Set expand=True to broaden a single-word query via NLP lemma + semantic synonyms (e.g. 'protect'

ai_extract_block

Move a code block from source to target file. Atomic: extracts lines, places in target, removes from source. Use for refactoring large files into modules.

ai_find_symbol_range

Find start and end line of a symbol using the index. Use before extract_block to avoid manual line counting.

ai_preview_extraction_deps

Before extracting a block, show what imports and helpers it depends on that won't come with it.

ai_extract_symbol

Move a symbol (function/class/method) from source to target file by name. No line numbers needed — uses the index to find boundaries.

ai_suggest_extractions

Show the largest symbols in a file that are good extraction candidates. Use to plan deslopification.

ai_refactor_extract

Full refactor pipeline: find symbol → extract to target → reindex both → detect stale references + dead code. Returns extraction result plus cleanup suggestions.

ai_slop

Read-only slop FINDER (split 2026-05-24: all mutating refactor modes moved to ai_deslop_apply — a guarded Tier-M path). This tool NEVER mutates and issues no write grants.

ai_deslop_apply

Guarded APPLY path for deslop refactors — the Tier-M counterpart of the read-only ai_slop scanner.

ai_get_dependencies

Return lightweight dependency edges for one indexed code file.

ai_get_outline

Return the outline (symbols + kinds + line numbers) of a single indexed file. Much cheaper than reading the whole file when you just need to know what's in it — useful before ai_get_symbol_snippet to pick the right symbol, or to locate a container class for a partial definition.

ai_get_symbol_snippet

Return an exact code snippet for an indexed outline symbol.

ai_get_symbol_info

Get symbol info without reading files. Kind: signature, signatures, constructor, constructors, enum, properties, api.

ai_investigate

Investigate a concept by ranking container symbols (classes, structs, records, interfaces) that match it. Returns findings plus suggested next tools, with paths pre-granted for follow-up reads.

ai_find

Unified find tool — replaces all code_find_* and code_search_* tools.

ai_trace

Unified trace tool.

ai_bundle

Unified bundle tool — replaces all code_get_*_bundle tools.

ai_schema

Unified schema tool — replaces all schema_find_*, schema_get_*, schema_trace_* tools.

project_init

Initialize AIDOCS structure on a new project — creates .MEMORY/, AGENTS.md/CLAUDE.md, and templates.

project_ensure_mcp_config

Ensure the target project has a .mcp.json with the aidocs MCP server entry for Claude Code.

project_check

Run strict session-era structural check on a project.

project_check_legacy

Run legacy-compatible structural check on a project.

project_fix

Run safe deterministic structural fixes on a project.

project_inspect_legacy

Inspect whether legacy runtime files/folders are still present.

project_sync_indexes

Refresh all derived indexes for a project in one call.

project_status

Return a consolidated status view for memory, code, and schema indexes.

project_origins_get

Return git remote/origin context, including private/public split hints.

index_language_descriptors_get

Return the active built-in + project-local language descriptor registry summary.

index_language_descriptors_validate

Validate built-in and project-local TOML language descriptors.

index_language_descriptor_semantics_get

Return the available built-in descriptor semantic families/tags.

index_language_descriptor_match_get

Show which descriptor would classify a given project-relative path.

capability_index_status

Return current MCP capability index status for a project.

capability_definitions_get

Return indexed MCP capability definitions, optionally filtered by query.

ai_deploy

Trigger a remote AIDOCS crown deploy of `ref`. Authority (super_admin + session + ref + non-empty reason + consumable confirm) is enforced at the gate; this verifies the AIDOCS_PRIVATE binding + enqueues for the daemon. The owner recorded is the gate-resolved principal. `confirm_token` is consumed b

ai_deploy_output

Read the status + log of a deploy enqueued by ai_deploy (queued|running|ok|failed).

ai_issues

Immutable issue filing. Modes: file | list.

185 further tools are not listed here. The complete surface is in the source.

// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configAIDOCS_EMPIRE_DB
configAIDOCS_EXPERT_ID
configAIDOCS_EXPERT_LANE_ID
configAIDOCS_MCP_PATH
configAIDOCS_PATH
configAIDOCS_PYTHON
configPYTHON
configPYTHONPATH
configCLAUDE_CODE_VERSION
configOPENCODE_VERSION
configCLAUDE_CODE_SESSION_ID
configAIDOCS_AUDIT_DEV_MODE
configAIDOCS_DEPLOY_QUEUE_DIR
configAIDOCS_GATE_ROOT
configAIDOCS_DASHBOARD_URL
configAIDOCS_GLOBAL_CONFIG_DB
configAIDOCS_PROOF_LEGACY_KINDS
configAIDOCS_DAEMON_DIR
configAIDOCS_UPDATE_POLICY
configAIDOCS_UPDATE_CHANNEL_URL
🔐 secretAIDOCS_OPERATOR_TOKEN
configAIDOCS_HOOK_SHIM
configAIDOCS_RUNTIME_ROOT
configEDITOR
configVISUAL
configXDG_CONFIG_HOME
configAIDOCS_CSHARP_ROSLYN_DLL
configAIDOCS_CSHARP_DAEMON_STDERR
// quality suggestions

Tool annotations

303/358 tools have annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

270/358 tools missing one or more hints — metrics_snapshot (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); metrics_prometheus (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); mcp_registry_search (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +267 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool annotations match behaviour

1 read-only tool performs write/delete/exec — ai_get_symbol_snippet (line 2710: dest.write_bytes(raw_bytes))

Either remove the readOnlyHint:true annotation, or remove the write/delete call from the tool handler.

Destructive tools are labelled

1 tool perform destructive updates without destructiveHint — ai_session deletes at line 4681 (_del_shutil.rmtree(_del_dir))

Add destructiveHint:true to any tool whose handler calls .delete(), .upsert(), .update(), unlink, rm, DELETE, DROP, REPLACE INTO, or any operation that overwrites existing data.

Tests exist

No test files found

Add tests that exercise each declared tool.

Shell command execution

4 calls in production code run through a shell (apps/aidocs-dashboard/vite.config.ts:11, apps/aidocs-dashboard/vite.config.ts:26, apps/aidocs-dashboard/vite.config.web.ts:13)

Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 6 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/cristian1991/aidocs?variant=verified)](https://m8ven.ai/mcp/cristian1991/aidocs)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 9bb8c7236ec8473251c51fd8db6645b3e4349dda
code hash: 4346b7608fd9a6256e0bf5f648558a537fa69177760008e75d76f0f75cedfef1
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client