local-rag (TheWinci/mimirs) is an MCP server listed on the M8ven Trust Index. It scores 60 out of 100, grade C. It declares 31 tools. No publisher has claimed this listing.

C
Caution
60/100

local-rag

Semantic code search for AI agents — hybrid vector + BM25 with cross-encoder reranking, AST-aware chunking for 14 languages, conversation memory, code annotations, and search analytics. Zero config, zero API keys. Just bunx

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

Code 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

TheWinci

Source: Glama

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
⚠️
Known vulnerabilities in dependencies: 3 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
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.
// tools this server exposes31 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.

server_info

Show the current MCP server configuration: resolved project directory, database location, index status, embedding model, active config, and all currently connected databases.

connect_repo
search_analytics

Show search usage analytics: query counts, zero-result queries, low-relevance queries, top searched terms.

annotate

Attach a persistent note to a file or symbol that surfaces inline in future read_relevant results. Call this immediately when you encounter: a known bug or race condition, fragile code that shouldn't be changed yet, a non-obvious architectural constraint, or a workaround that needs context. Calling

get_annotations

Retrieve persistent notes attached to files or symbols. Pass path to get all notes for a file. Pass query to search semantically across all annotations. Pass both to filter by file and rank by relevance.

delete_annotation

Remove an annotation that is no longer relevant — e.g. a bug that was fixed, a constraint that no longer applies, or a note on a deleted file/symbol. Use get_annotations first to find the annotation ID.

create_checkpoint

Save a checkpoint so future sessions know what was done and why. REQUIRED: call this as your final step after completing any user-requested task, before responding to the user. Also call when hitting a blocker or changing direction mid-task.

list_checkpoints

List conversation checkpoints, most recent first. Cross-session by default.

search_checkpoints

Semantic search over checkpoint titles and summaries.

search_conversation

Search through conversation history. Finds past decisions, discussions, and tool outputs from current or previous sessions.

read_conversation

Read the full verbatim text of past conversation turns by session + turn index. The read counterpart to search_conversation, which only returns short snippets — use it to hydrate a turn you located, or to pull a range of recent turns. Set includeToolOutput to also get tool results (re-parses the raw

search_commits

Semantically search git commit history. Use this to find why code was changed, when decisions were made, or what an author worked on. Returns commits ranked by relevance to the query.

co_change

Files that historically change in the same commit as a given file — logical coupling the import graph can't see (doc↔code, test↔impl, synced mirrors, sibling files with no import edge). Use before editing a file to find what else usually changes with it, or to widen a change's blast radius beyond st

file_history

Get the commit history for a specific file. Returns commits that touched the file, sorted by date (newest first). Faster than git log for indexed repositories.

git_context

Show git context for the working tree: uncommitted changes annotated with index status, recent commits, and changed files. Use this at the start of a session to understand what has already been modified before searching or editing.

project_map

Visualize how files relate to each other — imports, exports, and fan-in/fan-out. Faster than reading import statements across many files. Use 'focus' to zoom into a specific file's neighborhood. Use format 'json' for structured data with fan-in/fan-out metrics. Use search or read_relevant next to ex

usages

Find call sites and references to a symbol across indexed files — with file paths, line numbers, and matching lines. Resolves aliased imports: searching the original name finds call sites that import it under an alias (`import { getDB as g }; g()`). Primary matches come from an AST-derived reference

depends_on

List all files that a given file imports (its dependencies). Shows the resolved import graph — what this file actually depends on. This is FILE-level, outward direction. Routing — reverse (files that import this one) is dependents; for a single symbol's references use usages.

dependents

List all files that import a given file (reverse dependencies). Shows the blast radius before modifying a file — every file that would be affected by a change. This is FILE-level, inward direction. Routing — reverse (what this file imports) is depends_on; for finer SYMBOL-level blast radius use impa

impact

Symbol-level blast radius: the transitive callers of a function or method as a pruned call tree, plus the test files to run for the change. More precise than dependents (which is file-level). Use before changing a signature or behavior. Pass 'file' to disambiguate a name defined in several places. T

trace

Show how one symbol reaches another: the connecting call sub-graph from 'from' to 'to', with the shortest path highlighted. Answers 'how does X reach Y'. Reachability is COMPLETE — the whole reachable graph is searched (no hop limit), so a 'no path' result means truly unreachable, not 'too far'. Bra

callees

List the functions/methods a symbol directly calls (one hop out), each resolved to its definition file:line. The forward complement of usages (callers, one hop in) — use it to see what a function depends on before editing it. Static resolution: dynamic dispatch (callbacks, interface→impl, DI) and ca

affected

Given changed files (or the working-tree diff against HEAD by default), report the test files that transitively import them — what to run for this change. The interactive counterpart of the `affected` CLI; pair with impact for symbol-level blast radius. Returns changed (indexed) files, the tests to

index_files

Index files in a directory for semantic search. Without patterns, indexes the project from config and prunes deleted or now-excluded files. With patterns, refreshes or expands only matching files and leaves the rest of the index untouched.

index_status

Show the current state of the RAG index for a project directory.

remove_file

Remove a specific file from the RAG index.

search

Search the full codebase by meaning — finds files that grep misses. Use natural language ('how does auth work') or symbol names. Searches all indexed files semantically + by keyword in <100ms. Returns ranked file paths with snippets. Use read_relevant next to get full content with line ranges. Pass

read_relevant

Get the actual content of the most relevant code chunks — individual functions, classes, or sections — with exact line ranges for navigation. Smarter than grep: finds code by meaning, not just string matching. Multiple chunks from the same file can appear. Use this instead of search + Read when you

search_symbols

Find where a function, class, type, or interface is defined — by name, not semantics. Faster than grep for symbol lookup: searches the pre-built symbol index across all indexed files. Omit symbol to list all exports (filtered by type). Returns enrichment data: hasChildren, childCount, referenceCount

write_relevant

Find the best file and location to insert new code or docs. Returns semantically appropriate insertion points with anchors for precise placement. Use this before adding a new function to find which file and position it belongs in.

wiki

Run the wiki rebuild workflow. The `command` argument uses colon selectors, for example `shape`, `prefetch:map:src/server.ts`, `discovery:page:tools/search`, or `write:page:tools/search`.

// known CVEs in dependencies3 high

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

high@modelcontextprotocol/sdk@1.12.0GHSA-345p-7cg4-v4c7

@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse

high@modelcontextprotocol/sdk@1.12.0GHSA-8r9q-7v3j-jr4g

Anthropic's MCP TypeScript SDK has a ReDoS vulnerability

high@modelcontextprotocol/sdk@1.12.0GHSA-w48q-cv73-mx4w

Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// 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.
configLOG_LEVEL
configMIMIRS_ALLOW_CUSTOM_MODEL
configMIMIRS_INSECURE_TLS
configMIMIRS_PROFILE
configRAG_DB_DIRIf the project lives in a read-only mount, set to a writable location. The index lives there instead of <project>/.mimirs/.
configRAG_PROJECT_DIRThe mimirs MCP server runs over stdio. Every client needs the same three things: a command (bunx), args (["mimirs@^1", "serve"]), and a env var pointing at your project root.
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

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

All four hints declared on every tool

31/31 tools missing one or more hints — server_info (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); connect_repo (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search_analytics (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +28 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 inputs are validated

20/31 tool handlers declare input schemas (65%)

Declare an inputSchema with zod/joi/yup on every tool definition.

Production dependencies are patched

0 critical, 3 high severity in production deps — @modelcontextprotocol/sdk@1.12.0 (high), @modelcontextprotocol/sdk@1.12.0 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Dependency freshness

1/8 production deps stale: gray-matter@2023-07-12 (3.2y)

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 4 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/thewinci/mimirs?variant=verified)](https://m8ven.ai/mcp/thewinci/mimirs)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 8c11a54a5abcb43bf7e757d9f2534fc5bffd6c0d
code hash: 8fca72c218bf2dc69a6bc718c90b2c4ae31422419dd8e6fd48ba41ffea9a0529
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