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
oceanprotocol
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.
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
glob CLI: Command injection via -c/--cmd executes matches with shell:true
BOOTSTRAP_PEERSComma-separated libp2p multiaddrs prepended to the built-in Ocean bootstrap list (passing custom peers replaces library defaults, so extras are merged with Ocean defaults in code).CHAIN_IDsrc/config/env.ts Reads NODE_URL, RPC, for server-side config (defaults and chain context).DOCS_CONTENT_DIRINCENTIVES_API_BASE_URLMCP_HOSTsrc/index.ts Chooses transport (stdio vs HTTP), initializes libp2p (ProviderInstance.setupP2P), optional HTTP app on / MCP_PORT.MCP_PORTsrc/index.ts Chooses transport (stdio vs HTTP), initializes libp2p (ProviderInstance.setupP2P), optional HTTP app on MCP_HOST / .MCP_TRANSPORTTransports: Supports stdio (typical for local editors and Claude Desktop) and Streamable HTTP (=sse) for remote or containerized deployments.PRIVATE_KEYA private key for signing where the protocol requires it. If is unset, the server generates an ephemeral key and logs a warning—fine for experiments, not for production identities.RPCsrc/config/env.ts Reads NODE_URL, , CHAIN_ID for server-side config (defaults and chain context).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
81/81 tools missing one or more hints — accesslist_get_details (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); accesslist_get_token_uri (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); accesslist_mint (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +78 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
70/81 tool handlers declare input schemas (86%)
Declare an inputSchema with zod/joi/yup on every tool definition.
Tool handlers catch errors
73/81 tool handlers wrap calls in try/catch (90%)
Wrap each tool handler body in try/catch and return a structured error response.
Tool test coverage
24/81 tools referenced in tests (30%)
Write tests that reference each tool by name so every tool has at least one test.
Production dependencies are patched
0 critical, 1 high severity in production deps — glob@11.0.3 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
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/oceanprotocol-on-mcp-ibhx5h)?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