MCP Security Lab (ibrahimsaleem/mcp-security-lab) is an MCP server listed on the M8ven Trust Index. It scores 85 out of 100, grade B. It declares 14 tools. The publisher has proved control of what we score (Verified Publisher). It is connected through the M8ven GitHub App, so the listing is re-checked on every push.
Enables hands-on exploration of common MCP security vulnerabilities through locally runnable vulnerable and fixed servers with accompanying exploits and a dashboard.
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
every push re-verified
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.
OPENAI_API_KEYan OpenAI or Gemini key — either set / GEMINI_API_KEY inGEMINI_API_KEYan OpenAI or Gemini key — either set OPENAI_API_KEY / inTool 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
14/14 tools missing one or more hints — run_diagnostics (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search_docs (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_system_status (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +11 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
2 tools describe read intent but their handlers mutate — run_diagnostics (line 41: result = subprocess.run(); run_diagnostics (line 24: result = subprocess.run()
Rename the tool, rewrite the description, or move the side-effect into a separate clearly-named tool.
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.
Tool description accuracy
run_diagnostics: description implies read-only but handler writes/deletes/executes; run_diagnostics: description implies read-only but handler writes/deletes/executes
Update tool descriptions to accurately reflect all capabilities — especially write, delete, or execute operations.
[](https://m8ven.ai/mcp/ibrahimsaleem/mcp-security-lab)?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