JSON2TOON MCP Server

JSON2TOON MCP Server

Advanced Token-Optimized Object Notation MCP server that compresses JSON with up to 85% token reduction using AI-powered pattern detection, providing lossless compression and decompression through 12 MCP tools.

Category
Visit Server

README

JSON2TOON v2.0 πŸš€

License: MIT Python 3.10+ MCP Compatible Code Coverage

Advanced Token-Optimized Object Notation - The most powerful JSON compression system for AI context management.

JSON2TOON is a next-generation MCP server that revolutionizes JSON compression with AI-powered pattern detection, achieving 75-85% token reduction while maintaining perfect data integrity.


✨ Key Features

🎯 4 Compression Levels

  • MINIMAL (30-40% savings): Lightning-fast key abbreviations
  • STANDARD (40-60% savings): Balanced performance + compression
  • AGGRESSIVE (60-75% savings): Advanced pattern optimization
  • EXTREME (75-85% savings): Maximum compression with zlib

πŸ€– AI-Powered Pattern Detection

  • 17+ Pattern Types: API responses, databases, time series, graphs, trees, and more
  • Smart Strategy Selection: Automatic optimization based on data structure
  • Confidence Scoring: Each pattern comes with accuracy metrics
  • Compression Potential: Estimates savings before conversion

πŸ”§ 12 Advanced MCP Tools

  1. convert_to_toon - Multi-level JSON compression
  2. convert_to_json - Lossless decompression
  3. analyze_patterns - Deep pattern analysis with AI
  4. get_optimal_strategy - AI-recommended compression plan
  5. calculate_metrics - Detailed compression statistics
  6. batch_convert - High-performance batch processing
  7. smart_optimize - Auto-detect and apply best compression
  8. compare_levels - Side-by-side level comparison
  9. validate_toon - Format validation + round-trip testing
  10. suggest_abbreviations - Custom abbreviation generation
  11. estimate_savings - Pre-conversion savings estimation
  12. get_server_stats - Real-time performance metrics

πŸ’‘ Advanced Capabilities

  • 150+ Key Abbreviations (vs 68 in TOON v1.0)
  • String Dictionary: De-duplication for repeated values
  • Partial Schema Compression: Works with inconsistent data
  • Value Pattern Compression: Optimizes timestamps, UUIDs, URLs, emails
  • Reference System: Eliminates duplicate structures
  • zlib Integration: Optional extreme compression

πŸ“Š Performance Benchmarks

Data Type Compression Speed Round-Trip
API Responses 50-65% 0.3ms/KB βœ… Perfect
Database Results 60-70% 0.3ms/KB βœ… Perfect
Time Series 65-75% 0.5ms/KB βœ… Perfect
User Profiles 45-55% 0.3ms/KB βœ… Perfect
Config Files 40-55% 0.1ms/KB βœ… Perfect

πŸš€ Quick Start

Installation

# Clone repository
git clone https://github.com/muhammedehab35/JSON2TOON-MCP.git
cd json2toon

# Install with pip
pip install -e .

# Or use Docker
docker-compose up -d

MCP Configuration

Add to your Claude Desktop config (~/.config/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "json2toon": {
      "command": "python",
      "args": ["-m", "src.mcp_server"],
      "cwd": "/path/to/json2toon"
    }
  }
}

Docker Configuration:

{
  "mcpServers": {
    "json2toon": {
      "command": "docker",
      "args": ["run", "-i", "json2toon:2.0.0"]
    }
  }
}

πŸ’» Usage Examples

Basic Conversion

from src.advanced_converter import convert_json_to_toon, convert_toon_to_json, CompressionLevel

# Simple conversion with STANDARD level
data = {
    "id": 12345,
    "name": "John Doe",
    "email": "john@example.com",
    "created_at": "2025-01-01T00:00:00Z"
}

# Convert to TOON
toon = convert_json_to_toon(data, level=CompressionLevel.STANDARD)
print(f"Compressed: {toon}")

# Convert back to JSON
original = convert_toon_to_json(toon)
print(f"Restored: {original}")

Advanced Pattern Analysis

from src.pattern_analyzer import AdvancedPatternAnalyzer

analyzer = AdvancedPatternAnalyzer()

# Analyze your data
patterns = analyzer.analyze(large_json_data)

# Get compression strategy
strategy = analyzer.get_compression_strategy(large_json_data)

print(f"Detected {len(patterns)} patterns")
print(f"Expected savings: {strategy.expected_savings * 100:.1f}%")
print(f"Recommended level: {strategy.recommended_level}")
print(f"Reasoning: {strategy.reasoning}")

Smart Optimization

from src.optimizer import SmartOptimizer

optimizer = SmartOptimizer()

# Automatic optimization with profile
result = optimizer.optimize(data, profile="balanced")
# Profiles: "speed", "balanced", "size"

print(f"Used profile: {result['profile_used']}")
print(f"Selected level: {result['level_selected']}")
print(f"Savings: {result['metrics']['savings_percent']:.1f}%")

Batch Processing

from src.advanced_converter import AdvancedTOONConverter, CompressionLevel

converter = AdvancedTOONConverter(level=CompressionLevel.AGGRESSIVE)

# Process multiple items
items = [
    {"id": i, "data": f"Item {i}"}
    for i in range(1000)
]

for item in items:
    toon = converter.json_to_toon(item)
    # Process compressed data

πŸ”¬ MCP Tools Examples

In Claude Code

1. Convert with Custom Level

Use the convert_to_toon tool with:
- json_data: <your JSON>
- level: 3 (AGGRESSIVE)

2. Analyze Patterns

Use the analyze_patterns tool to detect:
- Pattern types
- Compression potential
- Optimization recommendations

3. Compare All Levels

Use the compare_levels tool to see:
- Side-by-side comparison
- Savings per level
- Best recommendation

4. Smart Auto-Optimize

Use the smart_optimize tool with:
- json_data: <your JSON>
- profile: "size" (for maximum compression)

πŸ“– Format Specification

TOON v2.0 Structure

{
  "_toon": "2.0",           // Version identifier
  "_lvl": 2,                // Compression level used
  "d": {...},               // Compressed data
  "_refs": {...},           // Optional: structure references
  "_dict": {...}            // Optional: string dictionary
}

Key Abbreviations (Sample)

Original TOON Original TOON Original TOON
id i email eml status s
name n phone ph created_at ca
type t address addr updated_at ua
value v username unm timestamp ts

150+ abbreviations covering common API, database, and application fields.

Value Optimizations

  • null β†’ ~
  • true β†’ T, false β†’ F
  • Timestamps: $ts:2025-01-01T00:00:00Z
  • UUIDs: $uid:550e8400-e29b-41d4-a716-446655440000
  • String refs: @s0, @s1 (from dictionary)

Schema Compression

Before:

[
  {"id": 1, "name": "Alice", "email": "alice@test.com"},
  {"id": 2, "name": "Bob", "email": "bob@test.com"},
  {"id": 3, "name": "Carol", "email": "carol@test.com"}
]

After (TOON):

{
  "_sch": ["i", "n", "eml"],
  "_dat": [
    [1, "Alice", "alice@test.com"],
    [2, "Bob", "bob@test.com"],
    [3, "Carol", "carol@test.com"]
  ]
}

Savings: ~55-60% for arrays with consistent schemas


πŸ§ͺ Testing

# Run all tests
pytest tests/ -v

# With coverage
pytest tests/ --cov=src --cov-report=html

# Specific test file
pytest tests/test_converter.py -v

# Run tests in Docker
docker-compose run json2toon-server pytest tests/ -v

Test Coverage

  • βœ… Converter: 100+ test cases covering all compression levels
  • βœ… Pattern Analyzer: 30+ tests for all 17 pattern types
  • βœ… Round-trip: Perfect data integrity verification
  • βœ… Edge cases: Unicode, large numbers, special characters
  • βœ… Performance: Benchmarks for all levels

🐳 Docker Deployment

Build Image

docker build -t json2toon:2.0.0 .

Run with Docker Compose

# Production mode
docker-compose up -d json2toon-server

# Development mode
docker-compose --profile dev up json2toon-dev

Docker Features

  • βœ… Python 3.11 optimized image
  • βœ… Non-root user for security
  • βœ… Health checks
  • βœ… Resource limits (2 CPU, 1GB RAM)
  • βœ… Logging configuration
  • βœ… Development mode with live reload

πŸ“ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         JSON2TOON MCP Server            β”‚
β”‚              (v2.0)                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
              β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚         β”‚         β”‚
    β–Ό         β–Ό         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚Advanced β”‚ β”‚Pattern   β”‚ β”‚Smart     β”‚
β”‚Converterβ”‚ β”‚Analyzer  β”‚ β”‚Optimizer β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    β”‚         β”‚              β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
              β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β–Ό         β–Ό         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”
β”‚Schemaβ”‚  β”‚Stringβ”‚  β”‚Value β”‚
β”‚Comp  β”‚  β”‚ Dict β”‚  β”‚ Comp β”‚
β””β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”˜

🎯 Pattern Types Detected

  1. API Response - REST, GraphQL, JSON-RPC
  2. Database Record - CRUD, audit logs, versioned
  3. User Data - Profiles, auth, preferences
  4. Pagination - Page-based, offset-based
  5. Nested Address - Street, city, state, country
  6. Nested Coordinates - Lat/lng/alt
  7. Nested Dimensions - Width/height/depth
  8. Nested Metadata - Created/updated by, tags
  9. Homogeneous Array - Same-type elements
  10. Consistent Schema Array - Similar object structures
  11. Repeated Structure - Duplicate patterns
  12. Time Series - Temporal data sequences
  13. Graph Node - Network/graph structures
  14. Tree Structure - Hierarchical data
  15. Enum Values - Limited value sets
  16. Sparse Array - Many null/empty values
  17. Deep Nesting - Complex nested levels

πŸ”§ Development

Setup Development Environment

# Install dev dependencies
pip install -e ".[dev]"

# Format code
black src/ tests/

# Lint
ruff src/ tests/

# Type check
mypy src/

Code Quality Tools

  • black: Code formatting (line length: 100)
  • ruff: Fast Python linter
  • mypy: Static type checking (strict mode)
  • pytest: Testing framework with async support

πŸ“Š Comparison with TOON v1.0

Feature TOON v1.0 JSON2TOON v2.0
Compression Levels 2 4
Key Abbreviations 68 150+
Pattern Types 8 17+
MCP Tools 6 12
Max Savings 60% 85%
String Dictionary ❌ βœ…
Value Compression ❌ βœ…
Partial Schema ❌ βœ…
zlib Support ❌ βœ…
AI Analysis Basic Advanced
Custom Abbreviations ❌ βœ…
Savings Estimation ❌ βœ…

🀝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Run tests (pytest tests/ -v)
  4. Format code (black src/ tests/)
  5. Commit changes (git commit -m 'Add amazing feature')
  6. Push to branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

🌟 Use Cases

1. Large API Responses

Save 50-65% tokens when storing API responses in Claude conversations.

2. Database Query Results

Compress database results by 60-70% for efficient context usage.

3. Time Series Data

Achieve 65-75% compression on temporal datasets.

4. Configuration Files

Store configs in compact format with 40-55% savings.

5. Codebase Analysis

Fit more file contents in token limits when analyzing code.

6. Log Processing

Compress structured logs by 50-60% for pattern analysis.


🚦 Quick Tips

When to Use Each Level

  • MINIMAL: Quick conversions, need high speed
  • STANDARD: General purpose (best balance)
  • AGGRESSIVE: Large datasets, high savings needed
  • EXTREME: Maximum compression, archival use

Optimization Profiles

  • speed: Prefer MINIMAL/STANDARD levels
  • balanced: Auto-select based on data (recommended)
  • size: Prefer AGGRESSIVE/EXTREME levels

Best Practices

  1. βœ… Analyze patterns first with analyze_patterns
  2. βœ… Use smart_optimize for automatic best results
  3. βœ… Validate with validate_toon after conversion
  4. βœ… Use estimate_savings before large batch jobs
  5. βœ… Monitor with get_server_stats for metrics
pip install -e .
python -m src.mcp_server

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured