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
tobyrichmond12-max
Source: github_code
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
M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.
ALFRED_WHISPER_MODELTELEGRAM_BOT_TOKENVAPID_PUBLIC_KEYSEARXNG_URLHTTPS_PROXYhttps_proxyCANVAS_API_TOKENCODEX_BINCLAUDE_BINCODEX_RUN_TIMEOUTGOOGLE_MAPS_API_KEYTODOIST_API_KEYGOOGLE_CALENDAR_CREDSOLLAMA_URLOLLAMA_EMBED_MODELNTFY_URLNTFY_TOPICVAPID_CONTACTANTHROPIC_API_KEYALFRED_VISION_MODELLAPTOP_MCP_URLTODOIST_API_TOKENELEVENLABS_API_KEYALFRED_VOICE_IDTool 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
6/6 tools missing one or more hints — query_vault (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); run_local_inference (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); store_observation (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +3 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 — system_status (line 158: result = subprocess.run(["free", "-h"], capture_output=True, text=True))
Rename the tool, rewrite the description, or move the side-effect into a separate clearly-named tool.
Tool inputs are validated
5/6 tool handlers declare input schemas (83%)
Declare an inputSchema with zod/joi/yup on every tool definition.
Tool handlers catch errors
Only 1/6 tool handlers wrap calls in try/catch (17%)
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.
No access to sensitive paths
Reads sensitive paths: google_credentials.json, config/google_credentials.json
Remove reads of sensitive system paths. If you genuinely need them, document why in the README.
Tool description accuracy
system_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/tobyrichmond12-max-alfred-q672n9)?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