graph-rag-obsidian (nickshffer/graph-rag-mcp-server) is an MCP server listed on the M8ven Trust Index. It scores 52 out of 100, grade D. It declares 40 tools. No publisher has claimed this listing.
A local-first Graph-RAG system that combines ChromaDB with metadata-based graph relationships and Gemini 2.5 Flash for intelligent Q\&A over your Obsidian vault.
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
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
nickshffer
Source: Glama
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.
OBSIDIAN_RAG_CHROMA_DIR/custom/path/to/.chroma_dbGEMINI_API_KEYEdit .env and add your and vault pathsOBSIDIAN_VAULT_PATHOBSIDIAN_RAG_VAULTS"": "/path/to/your/vault"OBSIDIAN_RAG_VAULT_PATHCHROMA_DIROBSIDIAN_RAG_DSPY_STATE_DIRDSPY_STATE_DIRXDG_CACHE_HOMEIntegration tests run without network. Embeddings fall back to a built‑in default and DSPy caches write to .cache/. Override with or DSPY_CACHEDIR if needed.DSPY_CACHEDIRIntegration tests run without network. Embeddings fall back to a built‑in default and DSPy caches write to .cache/. Override with XDG_CACHE_HOME or if needed.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
40/40 tools missing one or more hints — smart_search (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); health_check (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_dspy_optimization_status (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +37 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.
Descriptions match behaviour
1 tool describes read intent but its handler mutates — enrich_base_with_graph (line 2916: base_path.write_text(base_json, encoding='utf-8'))
Rename the tool, rewrite the description, or move the side-effect into a separate clearly-named tool.
Tool inputs are validated
31/40 tool handlers declare input schemas (78%)
Declare an inputSchema with zod/joi/yup on every tool definition.
Tool handlers catch errors
30/40 tool handlers wrap calls in try/catch (75%)
Wrap each tool handler body in try/catch and return a structured error response.
License file
No license file
Add a LICENSE file (MIT, Apache-2.0, etc.).
Tests exist
No test files found
Add tests that exercise each declared tool.
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.
[](https://m8ven.ai/mcp/nickshffer/graph-rag-mcp-server)?variant=verified from the URL.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