Introducing s18 — an open-source agent runtime & orchestration framework for real AI systems. ⚡ Multi-agent workflows ⚡ Real-time streaming state ⚡ Scheduling + automation ⚡ MCP tool integrations ⚡ Local-first or cloud models ⚡ Observability built in
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
riteshverma
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.
GEMINI_API_KEYAZURE_OPENAI_ENDPOINTOPENAI_API_VERSIONAZURE_OPENAI_API_KEYLLAMA_CPP_API_KEYEXTERNAL_MOCKEHR_BASE_URLWISE_MOCKEHR_BASE_URLMOCKEHR_PRIMARY_SOURCE_LABELMOCKEHR_HTTP_TIMEOUT_SECONDSAZURE_OPENAI_CHAT_DEPLOYMENTS18_SESSION_SUMMARY_SYNCS18_WORKSPACE_ROOTS18_PROFILEOLLAMA_BASE_URLOLLAMA_TIMEOUTLLAMA_CPP_BASE_URLLLAMA_CPP_TIMEOUTRUN_POLL_TIMEOUT_SECONDSMCP_TOOL_TIMEOUT_SECONDSMCP_MODEMCP_STARTUP_TIMEOUT_SECONDSMCP_STDIO_CONNECT_TIMEOUT_SECONDSMCP_REQUIRED_SERVERSSCHEDULER_TIMEZONEAZURE_OPENAI_EMBEDDING_DEPLOYMENTAUTH_ENABLEDSUPABASE_JWT_AUDIENCESUPABASE_LOGGING_ENABLEDTENANCY_DEFAULT_TENANT_IDTENANCY_DEFAULT_TIERTENANCY_DEFAULT_DATA_REGIONTENANCY_GROWTH_ROUTING_ENABLEDS18_MODEL_PROVIDERAGENT_MODEL_PROVIDERS18_FORCE_GEMINICELERY_BROKER_URLCELERY_RESULT_BACKENDS18_CELERY_RUNS_QUEUES18_CELERY_INGEST_QUEUES18_CELERY_TIMEZONES18_CELERY_PREFETCH_MULTIPLIERAWS_REGIONBEDROCK_EMBEDDING_MODEL_IDGOOGLE_CLOUD_PROJECTVERTEX_AI_LOCATIONVERTEX_AI_EMBEDDING_MODELVERTEX_AI_EMBEDDING_DIMENSIONGEMINI_EMBEDDING_MODELGEMINI_EMBEDDING_DIMENSIONS18_FAISS_GPU_DEVICES18_FAISS_GPU_MIN_VECTORSS18_RUN_EXECUTORS18_HARNESS_STATE_DIRGEMINI_STATUS_EXPOSE_KEY_PREVIEWGOOGLE_API_KEYCLAWBENCH_USE_OLLAMACLAWBENCH_S18_MAX_STEPSCLAWBENCH_S18_MAX_LIFELINESCLAWBENCH_S18_MCP_MODECLAWBENCH_OLLAMA_WAIT_SECONDSCLAWBENCH_OLLAMA_WARMUP_ATTEMPTSCLAWBENCH_KEEP_WORKSPACESAZURE_STORAGE_ACCOUNTAZURE_STORAGE_CONTAINERS3_BUCKETS3_KMS_KEY_IDGCS_BUCKETAZURE_SEARCH_ENDPOINTOPENSEARCH_ENDPOINTVERTEX_AI_INDEX_ENDPOINT_IDVERTEX_AI_DEPLOYED_INDEX_IDVERTEX_AI_INDEX_IDSUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYSUPABASE_URLTool 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
21/21 tools missing one or more hints — dynamic_tool_378 (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); ping (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); web_search (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +18 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
1 tool perform destructive updates without destructiveHint — reindex_documents deletes at line 2164 (path.unlink())
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 — keyword_search (line 1096: result = subprocess.run(cmd, 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
17/20 tool handlers declare input schemas (85%)
Declare an inputSchema with zod/joi/yup on every tool definition.
Tool handlers catch errors
15/20 tool handlers wrap calls in try/catch (75%)
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.
Shell command execution
1 child_process call — runs shell commands
Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.
Tool description accuracy
keyword_search: 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/riteshverma-s18-wxod2f)?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