Skip to content

v1.7.0 release notes

Release Date: December 16, 2025 Type: Minor Release (New Features) Status: Completed

Version 1.7.0 introduces five major advanced features to enhance the CyberChef MCP Server’s capabilities, performance, and observability. This release adds batch processing for efficient multi-operation execution, telemetry collection for usage analytics, rate limiting for resource protection, enhanced caching controls, and resource quota tracking - all with privacy-first defaults and comprehensive configurability.

Execute multiple CyberChef operations in a single request with support for both parallel and sequential execution modes.

{
"operations": [
{ "tool": "cyberchef_to_base64", "arguments": { "input": "Hello" } },
{ "tool": "cyberchef_sha256", "arguments": { "input": "World" } }
],
"mode": "parallel" // or "sequential"
}
  • Parallel Execution: Process multiple operations simultaneously for maximum performance
  • Sequential Execution: Execute operations one after another for deterministic results
  • Partial Success Support: Operations continue even if some fail, returning detailed error information
  • Progress Reporting: Track batch execution progress with detailed results
  • Size Limits: Configurable maximum batch size (default: 100 operations)
Terminal window
CYBERCHEF_BATCH_MAX_SIZE=100 # Maximum operations per batch
CYBERCHEF_BATCH_ENABLED=true # Enable/disable batch processing (default: true)
{
"total": 3,
"successful": 2,
"failed": 1,
"mode": "parallel",
"results": [
{ "index": 0, "result": "SGVsbG8=" },
{ "index": 2, "result": "V29ybGQ=" }
],
"errors": [
{ "index": 1, "error": "Operation not found" }
]
}

Feature 2: Telemetry & Analytics (P1 Priority)

Section titled “Feature 2: Telemetry & Analytics (P1 Priority)”

Collect anonymized usage metrics for performance monitoring and optimization. Privacy-first design: no input/output data is ever captured.

Export collected metrics in JSON or summary format:

{
"format": "summary" // or "json"
}
  • Tool name
  • Execution duration (ms)
  • Input size (bytes)
  • Output size (bytes)
  • Success status
  • Cache hit/miss
  • Timestamp
  • No input data captured
  • No output data captured
  • No personally identifiable information
  • Opt-in only (disabled by default)
Terminal window
CYBERCHEF_TELEMETRY_ENABLED=false # Disabled by default (privacy-first)
{
"totalCalls": 1523,
"successRate": "98.42%",
"avgDuration": "145ms",
"cacheHitRate": "23.45%"
}

Protect server resources with sliding window rate limiting algorithm.

  • Tracks requests per connection over time window
  • Smoothly handles burst traffic
  • Automatic cleanup of expired timestamps
Terminal window
CYBERCHEF_RATE_LIMIT_ENABLED=false # Disabled by default
CYBERCHEF_RATE_LIMIT_REQUESTS=100 # Max requests per window (default: 100)
CYBERCHEF_RATE_LIMIT_WINDOW=60000 # Time window in ms (default: 60 seconds)
  • When limit exceeded: Returns 429 error with retry-after time
  • Per-connection tracking: Each connection has independent limits
  • Automatic recovery: Limits reset when window expires
{
"error": "Rate limit exceeded. Retry after 15 seconds.",
"retryAfter": 15
}

Feature 4: Cache Enhancements (P2 Priority)

Section titled “Feature 4: Cache Enhancements (P2 Priority)”

New tools for cache inspection and management.

cyberchef_cache_stats - Get cache statistics:

{
"items": 42,
"size": 1048576,
"maxSize": 104857600,
"maxItems": 1000
}

cyberchef_cache_clear - Clear all cached results:

{
"success": true,
"message": "Cache cleared"
}
  • Real-time cache statistics
  • Manual cache invalidation
  • Integration with existing LRU cache
  • Per-operation cache metadata
Terminal window
CYBERCHEF_CACHE_ENABLED=true # Enable/disable caching (default: true)

Track and enforce resource usage limits per connection.

Get current quota and usage information:

{
"quota": {
"concurrentOperations": 2,
"maxConcurrentOperations": 10,
"totalOperations": 1523,
"totalInputSize": 15728640,
"totalOutputSize": 23592960,
"inputSizeMB": "15.00",
"outputSizeMB": "22.50",
"maxInputSizeMB": "100.00"
},
"rateLimit": {
"enabled": false,
"maxRequests": 100,
"windowMs": 60000,
"activeConnections": 3,
"totalTrackedRequests": 156
}
}
  • Concurrent operation tracking: Monitor active operations
  • Data size tracking: Track input/output data volumes
  • Resource limits enforcement: Prevent resource exhaustion
  • Real-time statistics: Current usage and limits
Terminal window
CYBERCHEF_MAX_CONCURRENT_OPS=10 # Maximum simultaneous operations (default: 10)
  1. TelemetryCollector

    • Privacy-first metrics collection
    • Configurable retention (10,000 metrics max)
    • Statistical aggregation
  2. RateLimiter

    • Sliding window algorithm
    • Per-connection tracking
    • Automatic cleanup
  3. ResourceQuotaTracker

    • Concurrent operation counting
    • Data size tracking
    • Quota enforcement
  4. BatchProcessor

    • Parallel/sequential execution
    • Partial success handling
    • Progress reporting

All new features are integrated into the standard operation execution path:

  • Rate limiting checked before execution
  • Quota acquired/released automatically
  • Telemetry recorded on completion
  • Cache respects enabled flag

New constants exported from mcp-server.mjs:

BATCH_MAX_SIZE
BATCH_ENABLED
TELEMETRY_ENABLED
RATE_LIMIT_ENABLED
RATE_LIMIT_REQUESTS
RATE_LIMIT_WINDOW
CACHE_ENABLED

All tests passing with 32 new test cases added:

Terminal window
npm run test:mcp
# Test Files 10 passed (10)
# Tests 343 passed (343)
# Duration 7.91s
  • TelemetryCollector: 5 tests
  • RateLimiter: 6 tests
  • ResourceQuotaTracker: 7 tests
  • BatchProcessor: 8 tests
  • Cache Enhancements: 4 tests
  • Integration Tests: 2 tests

Zero errors, zero warnings:

Terminal window
npm run lint
# ✓ All ESLint checks pass
  • Parallel mode: Up to Nx speedup for N independent operations
  • Sequential mode: Minimal overhead compared to individual requests
  • Overhead: ~5ms per batch for orchestration
  • When disabled (default): Zero overhead
  • When enabled: <1ms per operation
  • Memory: ~200 bytes per metric
  • When disabled (default): Zero overhead
  • When enabled: <0.1ms per request check
  • Memory: ~100 bytes per connection
  • No change: Existing LRU cache behavior preserved
  • New tools: Minimal impact (only when called)
  • Overhead: <0.5ms per operation
  • Memory: ~50 bytes per operation tracking

All new features are opt-in or disabled by default:

  • Batch processing: Available but optional
  • Telemetry: Disabled by default (privacy-first)
  • Rate limiting: Disabled by default
  • Cache tools: Available but optional
  • Resource quotas: Tracking enabled, enforcement minimal

Add to your environment:

Terminal window
# Enable telemetry (opt-in)
export CYBERCHEF_TELEMETRY_ENABLED=true
# Enable rate limiting
export CYBERCHEF_RATE_LIMIT_ENABLED=true
export CYBERCHEF_RATE_LIMIT_REQUESTS=100
export CYBERCHEF_RATE_LIMIT_WINDOW=60000
# Adjust batch size limit
export CYBERCHEF_BATCH_MAX_SIZE=50
# Disable caching (if needed)
export CYBERCHEF_CACHE_ENABLED=false
# Adjust concurrent operations limit
export CYBERCHEF_MAX_CONCURRENT_OPS=20

All new tools are automatically registered in ListToolsRequestSchema:

  • cyberchef_batch
  • cyberchef_telemetry_export
  • cyberchef_cache_stats
  • cyberchef_cache_clear
  • cyberchef_quota_info

Import new classes for testing or extensions:

import {
TelemetryCollector,
RateLimiter,
ResourceQuotaTracker,
BatchProcessor,
BATCH_MAX_SIZE,
BATCH_ENABLED,
TELEMETRY_ENABLED,
RATE_LIMIT_ENABLED,
RATE_LIMIT_REQUESTS,
RATE_LIMIT_WINDOW,
CACHE_ENABLED
} from "./src/node/mcp-server.mjs";

See tests/mcp/v1.7.0.test.mjs for comprehensive examples of testing all new features.

None. All features fully tested and documented.

Potential improvements for future releases:

  1. Batch streaming: Real-time progress updates for batch operations
  2. Telemetry aggregation: Time-series analysis and trends
  3. Rate limit tiers: Different limits for different operation types
  4. Cache warm-up: Pre-populate cache with common operations
  5. Quota policies: Custom quota rules per client

None. This is a fully backward-compatible release.

  • Telemetry is opt-in only (disabled by default)
  • No sensitive data collected in telemetry
  • Rate limiting protects against abuse
  • Resource quotas prevent DoS attacks

All security-related features default to most secure settings:

  • Telemetry: OFF (privacy-first)
  • Rate limiting: OFF (no restrictions by default)
  • Batch size: Limited to 100 operations
  • Concurrent operations: Limited to 10
  • DoubleGate (Implementation and testing)
  • Claude Opus 4.5 (AI pair programming assistance)
Terminal window
# Pull latest
git pull origin master
# Install dependencies (no new dependencies added)
npm install
# Run tests
npm run test:mcp
# Start server with new features
npm run mcp
Terminal window
# Build new image
docker build -f Dockerfile.mcp -t cyberchef-mcp:v1.7.0 .
# Run with telemetry enabled (example)
docker run -i --rm -e CYBERCHEF_TELEMETRY_ENABLED=true cyberchef-mcp:v1.7.0

Version 1.7.0 represents a significant enhancement to the CyberChef MCP Server, adding enterprise-grade features for batch processing, monitoring, rate limiting, and resource management - all while maintaining backward compatibility and privacy-first defaults. The new features enable more efficient workflows, better observability, and improved resource protection, making the server production-ready for high-demand environments.

Total New Code: ~600 lines Total New Tests: 32 test cases Test Coverage: Maintained at 78.93% lines, 89.33% functions ESLint Status: Clean (0 errors, 0 warnings)