Sign In

tooleval

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tooleval

npm audit for MCP servers — zero-config heuristic testing that discovers tools and runs 21 automated security & quality checks per tool

latest
Source
npmnpm
Version
0.1.0
Version published
Maintainers
1
Created
Source

tooleval

npm audit for MCP servers — zero-config, zero-API-cost heuristic testing

ToolEval connects to any MCP server via stdio, discovers all tools, and runs 21 automated checks per tool covering schema validation, security, resilience, and correctness. No API keys. No LLM costs. Just plug in your server command and get results.

Quick Start

npx tooleval npx @modelcontextprotocol/server-filesystem /tmp

That's it. One command, full report.

Output Formats

Text (default)

npx tooleval npx @modelcontextprotocol/server-filesystem /tmp
🔍 ToolEval Spike — Generic MCP Server Checker
📦 Server: npx -y @modelcontextprotocol/server-memory

📋 Discovered 9 tools:
   • create_entities — Create multiple new entities in the knowledge graph
   • create_relations — Create multiple new relations between entities
   ...

────────────────────────────────────────────────────────────
🔧 Testing: create_entities
   ✅ A. Schema exists — 1 props
   ✅ B. Empty call (no crash) — error (expected)
   ✅ C. Response shape — 1 items
   ...

════════════════════════════════════════════════════════════
📊 SUMMARY
  ✅ create_entities: 18/18 checks
  Total: 162/162 checks passed
  ✅ ALL CLEAR
════════════════════════════════════════════════════════════

JSON

npx tooleval --format json npx @modelcontextprotocol/server-filesystem /tmp

Returns structured JSON with per-tool results — perfect for CI pipelines.

SARIF

npx tooleval --format sarif npx @modelcontextprotocol/server-filesystem /tmp

Outputs SARIF format — integrates with GitHub Code Scanning, Azure DevOps, and other SARIF-compatible tools.

HTML

npx tooleval --format html npx @modelcontextprotocol/server-filesystem /tmp > report.html

Self-contained HTML report — open in any browser, share with stakeholders.

The 21 Checks

#CheckWhat it tests
ASchema existsTool exposes a valid inputSchema object
BEmpty call resilienceCalling with {} doesn't crash the server
CResponse shapeResponse has valid MCP content array
DResponse timeResponds within 10 seconds
EPath traversalClassic ../../../etc/passwd is rejected
FMulti-vector traversal6 path traversal bypass techniques blocked
GSchema validation (Ajv)inputSchema compiles as valid JSON Schema
HError info leakageNo stack traces, secrets, or paths in errors
ILarge input (1MB)Server handles 1MB payloads gracefully
JConcurrent resilience5 simultaneous calls all return successfully
KSSRF probeInternal network URLs (169.254.x, localhost) are rejected
LCommand injectionShell metacharacters in string params are rejected
MSecret detectionResponses don't leak API keys, tokens, or credentials
NType coercionWrong types (string→int) are handled gracefully
OIdempotencyRepeated identical calls produce consistent results
PTimeout escalationSlow inputs don't hang the server indefinitely
QUnicode handlingUnicode/special chars don't crash or corrupt
RRequired fieldsMissing required fields produce proper errors
SNested depthDeeply nested objects are handled gracefully
TEnum boundaryOut-of-range enum values are rejected
UDescription qualityTool has a meaningful description

Checks are automatically skipped when not applicable (e.g., path traversal skipped for tools without path params).

CI Integration

GitHub Actions

name: MCP Server Audit
on: [push, pull_request]

jobs:
  tooleval:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm ci
      - name: Run ToolEval
        run: npx tooleval --format json node ./dist/server.js > tooleval-report.json
      - name: Check results
        run: npx tooleval node ./dist/server.js
      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: tooleval-report
          path: tooleval-report.json

GitHub Code Scanning (SARIF)

      - name: Run ToolEval (SARIF)
        run: npx tooleval --format sarif node ./dist/server.js > tooleval.sarif
      - uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: tooleval.sarif

Why ToolEval

  • No API key needed — pure heuristic checks, no LLM calls
  • No LLM cost — run it 1000 times in CI, it's free
  • Tests the tool, not the AI — validates the MCP server interface directly
  • Catches real security issues — path traversal, SSRF, command injection, info leakage
  • Zero config — just point it at your server command
  • CI-ready — JSON/SARIF/HTML output + proper exit codes

Exit Codes

CodeMeaning
0All checks passed
1Some checks failed
2Fatal error (server failed to connect, etc.)

Requirements

  • Node.js >= 18
  • The MCP server must be launchable via a shell command (stdio transport)

License

MIT

Keywords

mcp

FAQs

Package last updated on 14 Apr 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts