D
Warning
53/100
5 hours ago

netclaw

An AI agent that claws through your network

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

⚡ Live Monitored: not connected

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

automateyournetwork

Source: github_code

Is this your MCP?

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.

// key findings
🚨
Secret credentials may flow to a network call
20 flows detected: CATALYST_CENTER_PASSWORD, ANTHROPIC_API_KEY, TWITTER_OAUTH2_REFRESH_TOKEN. We can’t prove the destination matches the brand the credential belongs to.
⚠️
Tool descriptions don’t match what handlers do
2 tools describe read intent but their handlers mutate — pcap_summary (line 82: capinfos = subprocess.run(); gre_tunnel_status (line 349: result = subprocess.run()
🔐
You'll be asked for 31 credentials: ANTA_PASSWORD, ANTA_ENABLE_PASSWORD, CATALYST_CENTER_PASSWORD, TWILIO_API_SECRET, ANTHROPIC_API_KEY, TWITTER_OAUTH2_ACCESS_TOKEN, TWITTER_OAUTH2_TOKEN, TWITTER_OAUTH2_REFRESH_TOKEN, TWITTER_CLIENT_SECRET, TWITTER_API_KEY, TWITTER_API_SECRET, TWITTER_ACCESS_TOKEN, TWITTER_ACCESS_SECRET, AUVIK_API_KEY, GNS3_PASSWORD, HALO_CLIENT_SECRET, SERVICENOW_PASSWORD, TWILIO_AUTH_TOKEN, OPENCLAW_GATEWAY_TOKEN, CML_PASSWORD, PAGERDUTY_API_KEY, ZABBIX_TOKEN, ZABBIX_PASSWORD, MIST_API_TOKEN, API_KEY, EVE_PASSWORD, EVE_CONSOLE_PASSWORD, GNMI_TLS_CLIENT_KEY, GNMI_TLS_KEY, NAUTOBOT_TOKEN, N2N_ENROLLMENT_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configBGP_LISTEN_PORT
configHUD_PORT
configNETCLAW_LOCAL_AS
configNETCLAW_ROUTER_ID
configNETCLAW_SESSION_BUDGET_USD
configRAG_DATA_DIR
configRAG_MAX_DOC_MB
configANALYSIS_QUERY_TIMEOUT
configANALYSIS_MAX_RESULT_ROWS
configANTA_USERNAME
🔐 secretANTA_PASSWORD
🔐 secretANTA_ENABLE_PASSWORD
configANTA_VERIFY_TLS
configANTA_TIMEOUT
configCATALYST_CENTER_HOST
configCATALYST_CENTER_USERNAME
🔐 secretCATALYST_CENTER_PASSWORD
configCATALYST_CENTER_VERIFY_SSL
configMULTIVENDOR_WRITE_ENABLED
configBGP_DAEMON_API
configITSM_ENABLED
configITSM_LAB_MODE
configOLLAMA_BASE_URL
configOLLAMA_TIMEOUT
configPCAP_UPLOAD_DIR
configNETCLAW_BGP_PEERS
configNETCLAW_OSPF_AREAS
configNETCLAW_GRE_TUNNELS
configNETCLAW_LAB_MODE
configTTS_OUTPUT_DIR
configTTS_DEFAULT_VOICE
configTWILIO_ACCOUNT_SID
configTWILIO_API_KEY_SID
🔐 secretTWILIO_API_SECRET
configTWILIO_PHONE_NUMBER
configTWILIO_WEBHOOK_URL
configTWITTER_REPLIES_ENABLED
🔐 secretANTHROPIC_API_KEY
configTWITTER_MENTION_POLL_INTERVAL
🔐 secretTWITTER_OAUTH2_ACCESS_TOKEN
🔐 secretTWITTER_OAUTH2_TOKEN
🔐 secretTWITTER_OAUTH2_REFRESH_TOKEN
configTWITTER_CLIENT_ID
🔐 secretTWITTER_CLIENT_SECRET
🔐 secretTWITTER_API_KEY
🔐 secretTWITTER_API_SECRET
🔐 secretTWITTER_ACCESS_TOKEN
🔐 secretTWITTER_ACCESS_SECRET
configTWITTER_HEARTBEAT_ENABLED
configTWITTER_HEARTBEAT_INTERVAL
configAUVIK_USERNAME
🔐 secretAUVIK_API_KEY
configAUVIK_VERIFY_SSL
configAUVIK_TIMEOUT
configAUVIK_RATE_LIMIT
configAUVIK_MAX_PAGES
configAUVIK_BASE_URL
configBATFISH_HOST
configBATFISH_PORT
configBATFISH_NETWORK
configEVE_URL
configEVE_USER
configEVE_CONSOLE_HOST
configEVE_SESSION_TTL
configEVE_VERIFY_SSL
configGNMI_MAX_SUBSCRIPTIONS
configGNS3_URL
configGNS3_USER
🔐 secretGNS3_PASSWORD
configGNS3_VERIFY_SSL
configGNS3_TOKEN_TTL
configHALO_BASE_URL
configHALO_TENANT
configHALO_CLIENT_ID
🔐 secretHALO_CLIENT_SECRET
configHALO_SCOPE
configHALO_AUTH_URL
configHALO_VERIFY_SSL
configHALO_TIMEOUT
configHALO_PAGE_SIZE
configHALO_MAX_PAGES
configHALO_RATE_LIMIT
configIPFIX_PORT
configIPFIX_BIND_ADDRESS
configIPFIX_RETENTION_HOURS
configIPFIX_RATE_LIMIT
configIPFIX_DEDUP_WINDOW
configMEMORY_DATA_DIR
configSNMPTRAP_PORT
configSNMPTRAP_BIND_ADDRESS
configSNMPTRAP_RETENTION_HOURS
configSNMPTRAP_RATE_LIMIT
configSNMPTRAP_DEDUP_WINDOW
configSYSLOG_PORT
configSYSLOG_BIND_ADDRESS
configSYSLOG_RETENTION_HOURS
configSYSLOG_RATE_LIMIT
configSYSLOG_DEDUP_WINDOW
configMCP_CALL_TIMEOUT
configEVE_LAB_ROOT
configEVE_RUNTIME_ROOT
configMULTIVENDOR_TIMEOUT_S
configMULTIVENDOR_LAB_GROUPS
configSERVICENOW_INSTANCE_URL
configSERVICENOW_USERNAME
🔐 secretSERVICENOW_PASSWORD
configMULTIVENDOR_MAX_WORKERS
🔐 secretTWILIO_AUTH_TOKEN
configTWILIO_WEBHOOK_PORT
configOPENCLAW_GATEWAY_URL
🔐 secretOPENCLAW_GATEWAY_TOKEN
configCML_URL
configCML_USERNAME
🔐 secretCML_PASSWORD
configGNS3_USERNAME
🔐 secretPAGERDUTY_API_KEY
configVOICE_MAX_CALL_MINUTES
configVOICE_WARN_MINUTES
🔐 secretZABBIX_TOKEN
configZABBIX_USER
🔐 secretZABBIX_PASSWORD
configZABBIX_MCP_TRANSPORT
configAUTH_TYPE
configZABBIX_URL
configZABBIX_MCP_HOST
configZABBIX_MCP_PORT
configZABBIX_MCP_STATELESS_HTTP
configMIST_MCP_URL
🔐 secretMIST_API_TOKEN
configMIST_API_HOST
configMIST_ORG_ID
🔐 secretAPI_KEY
configUE5_MCP_URL
configANALYSIS_MAX_FILE_BYTES
configANALYSIS_MAX_ROWS
configANALYSIS_EXTRA_ROOTS
configBGP_INTEL_AUDIT_LOG
configBGP_INTEL_MAX_RPS
configDOCUMENT_AUDIT_LOG
configDOCUMENT_OUTPUT_DIR
🔐 secretEVE_PASSWORD
configEVE_HTML5
configEVE_CACHE_TTL
configEVE_CACHE_MAX_ENTRIES
configEVE_MAX_PAGE_SIZE
configEVE_CONSOLE_USER
🔐 secretEVE_CONSOLE_PASSWORD
configFORTINET_AUDIT_LOG
configGNMI_TARGETS
configGNMI_TLS_CA_CERT
configGNMI_TLS_CA
configGNMI_TLS_CLIENT_CERT
configGNMI_TLS_CERT
🔐 secretGNMI_TLS_CLIENT_KEY
🔐 secretGNMI_TLS_KEY
configGNMI_TLS_SKIP_VERIFY
configGNMI_DEFAULT_PORT
configGNMI_MAX_RESPONSE_SIZE
configVAULT_ADDR
configGOLDEN_CONFIG_POLL_INTERVAL
configGOLDEN_CONFIG_JOB_TIMEOUT
configNAUTOBOT_URL
🔐 secretNAUTOBOT_TOKEN
configNAUTOBOT_VERIFY_SSL
configNAUTOBOT_TIMEOUT
configNSM_TIMEOUT
configOLLAMA_MODEL_FALLBACK
configBGP_API_PORT
configNETCLAW_MESH_OPEN
configN2N_EDGE_WS_PING_INTERVAL
configN2N_EDGE_WS_PING_TIMEOUT
configNETCLAW_MESH_ENDPOINT
configNETCLAW_LOCAL_IPV6
configNETCLAW_DRY_RUN
configN2N_ENABLED
configN2N_DISPLAY_NAME
configN2N_INVENTORY_REFRESH_S
configN2N_ROLE
configN2N_RISK_NAME
configN2N_RISK_DESCRIPTION
configN2N_ENABLED_STACKS
configN2N_BORDER_ENDPOINT
configN2N_MEMBER_ID
configN2N_IN2N_PORT
🔐 secretN2N_ENROLLMENT_TOKEN
configN2N_EDGE_WS_PORT
configN2N_CLAW_DOMAIN
configN2N_CERT_RENEW_CHECK_S
// quality suggestions

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

454/454 tools missing one or more hints — analysis_status (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); analysis_datasets (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); analysis_query (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +451 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 — pdf_fill_form deletes at line 204 (dest.unlink(missing_ok=True)); batfish_upload_snapshot deletes at line 308 (shutil.rmtree(snap_dir, ignore_errors=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

2 tools describe read intent but their handlers mutate — pcap_summary (line 82: capinfos = subprocess.run(); gre_tunnel_status (line 349: result = subprocess.run()

Rename the tool, rewrite the description, or move the side-effect into a separate clearly-named tool.

Tool test coverage

134/454 tools referenced in tests (30%)

Write tests that reference each tool by name so every tool has at least one test.

Shell command execution

1 child_process/subprocess call in production code — runs shell commands (ui/netclaw-visual/server.js:1882)

Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.

Secrets stay with their owner

6 secret/sensitive values flow into network calls (CATALYST_CENTER_PASSWORD → dynamic, SERVICENOW_PASSWORD → dynamic) (14 other flows matched canonical API hosts)

Audit where credentials are sent. A NOTION_TOKEN should only reach api.notion.com — never a third-party host.

Secrets not logged

11 secret values sent to console.log

Redact or omit secret values from log output.

Tool description accuracy

pcap_summary: description implies read-only but handler writes/deletes/executes; gre_tunnel_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.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 9 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/automateyournetwork-netclaw-1qfb6g?variant=verified)](https://m8ven.ai/mcp/automateyournetwork-netclaw-1qfb6g)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: da25a72e0c43116877bff12beb44044694deb51c
code hash: b04539ebf13ef6b4b2548ca564284a184351bf1cbc8ef5d55e53df31f3bc7064
verified: 8/19/2026, 1:24:06 PM
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

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
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client