thread-keeper (po4erk91/thread-keeper) is an MCP server listed on the M8ven Trust Index. It scores 3 out of 100, grade F. It declares 126 tools. No publisher has claimed this listing.
Multi-agent shared brain across Claude Code/Desktop, Codex, Gemini, Copilot, VS Code. Cross-session memory, self-improving skill loops, inter-agent signaling — one local MCP server.
Warning. Serious findings were identified. Review the full report before connecting. 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
po4erk91
Source: Glama · also listed on github_repo_search
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.
THREADKEEPER_EXTRA_SKILLS_DIRS, and ~/.threadkeeper/skills/), withCLAUDE_CODE_EXECPATHTHREADKEEPER_TZTHREADKEEPER_ENV_FILETHREADKEEPER_DB~/.threadkeeper/db.sqlite SQLite fileTHREADKEEPER_NO_EMBEDDINGS"" force-disable the embedding model (FTS5 + delegate only)THREADKEEPER_DISABLE_BG_DAEMONShas a power button that flips inTHREADKEEPER_EGRESS_CONSUMERTHREADKEEPER_BRIEF_NO_THREAD_NUDGEGH_HOSTGH_TOKENGITHUB_TOKENTHREADKEEPER_REAL_GHTHREADKEEPER_GH_WRAPPER_DIRTHREADKEEPER_ROLEserver process role: server (default; per-session MCP server) or host. Set to host only by python -m threadkeeper.host — do not set this by handTHREADKEEPER_ACTIVE_CLIclaude (or codex, antigravity/agy,THREADKEEPER_FORCE_CIDTHREADKEEPER_LESSONSTHREADKEEPER_MODEL_CATALOG_CACHECLAUDE_PROJECTS_DIRANTHROPIC_API_KEYpython scripts/memory_eval/run.py --judge llm # LLM-graded (needs )CLAUDE_SKILLS_DIRCLAUDE_DESKTOP_CONFIGCODEX_HOMEVSCODE_MCP_JSONTool 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
126/126 tools missing one or more hints — agent_status (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); agent_memory_cleanup (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); candidate_review_run (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +123 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.
Destructive tools are labelled
2 tools perform destructive updates without destructiveHint — consolidate deletes at line 315 (TASK_LOG_DIR.joinpath(f["name"]).unlink()); curator_report_write deletes at line 326 (temporary.unlink(missing_ok=True))
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.
Descriptions match behaviour
1 tool describes read intent but its handler mutates — shadow_review_status (line 206: p.write_text(_telemetry_markdown(tel, now), encoding="utf-8"))
Rename the tool, rewrite the description, or move the side-effect into a separate clearly-named tool.
Tool inputs are validated
108/126 tool handlers declare input schemas (86%)
Declare an inputSchema with zod/joi/yup on every tool definition.
Tool handlers catch errors
Only 28/126 tool handlers wrap calls in try/catch (22%)
Wrap each tool handler body in try/catch and return a structured error response.
Tests exist
No test files found
Add tests that exercise each declared tool.
No access to sensitive paths
Reads sensitive paths: ~/.threadkeeper/.env, ~/.config/Claude/claude_desktop_config.json, ~/.config/Code/User/mcp.json
Remove reads of sensitive system paths. If you genuinely need them, document why in the README.
Tool description accuracy
shadow_review_status: description implies read-only but handler writes/deletes/executes
Update tool descriptions to accurately reflect all capabilities — especially write, delete, or execute operations.
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/po4erk91/thread-keeper)?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