TurboQuant Tools
Allows integration with Hermes Agent for compressing and decompressing embeddings via the MCP protocol, enabling storage savings and memory-bound agent use cases.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TurboQuant Toolscompress wiki_embeddings.npy with 3 bits"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ง TurboQuant Tools
Compress AI embeddings by 5โ7ร with near-lossless quality.
CLI + Python Library + MCP Server for extreme vector compression using Google's TurboQuant (PolarQuant + QJL) โ wrapped in a clean numpy-first API.
๐ Quick Start
pip install turboquant-toolsCompress a .npy embedding file:
turboquant compress embeddings.npy compressed.tqRestore:
turboquant decompress compressed.tq restored.npyEstimate savings:
turboquant estimate embeddings.npy --bits 3
# Original: 153.00 MB -> Compressed: 20.13 MB (7.60ร, save 87%)Related MCP server: mcp-compress
๐ฆ What's Inside
Command / Tool | Description |
| Compress |
| Restore |
| Predict compression ratio before running |
| MCP stdio server (AI agent integration) |
Python | Compress numpy arrays in code |
Python | Restore in code |
๐ง CLI Reference
compress
turboquant compress INPUT [OUTPUT] [OPTIONS]Option | Default | Description |
| โ |
|
|
| Output |
|
| Bit width (3 or 4) |
| โ | Alternative to positional OUTPUT |
| off | Skip QJL correction (faster, lower quality) |
Examples:
# Basic 3-bit compression
turboquant compress wiki_embeddings.npy wiki.tq
# 4-bit compression (higher quality)
turboquant compress embeddings.npy -b 4
# Fast mode (no QJL)
turboquant compress big_set.npy -b 3 --no-qjldecompress
turboquant decompress INPUT [OUTPUT]estimate
turboquant estimate INPUT [--bits N]๐ Python API
from turboquant_tools import compress, decompress, estimate_savings
import numpy as np
# Load or generate embeddings
vectors = np.random.randn(10000, 384).astype(np.float32)
# Compress (5โ7ร reduction)
compressed = compress(vectors, bits=3, use_qjl=False)
print(f"{vectors.nbytes / 1e6:.1f} MB โ {compressed.nbytes / 1e6:.1f} MB ({compressed.memory.ratio:.1f}ร)")
# Restore
restored = decompress(compressed)
print(f"MAE: {np.abs(restored - vectors).mean():.4f}")
# Estimate without running
est = estimate_savings(n_vectors=100000, dim=768, bits=3)
print(est) # Original: X MB -> Compressed: Y MB (7.60ร, save 87%)CompressedVectors objects carry metadata:
compressed.n_vectors # original count
compressed.dim # original dimension
compressed.nbytes # compressed size in bytes
compressed.memory # MemoryBytes(original, compressed, ratio)
compressed.data # raw .tq bytes (save to disk)๐ค MCP Server (AI Agents)
TurboQuant Tools ships with a native MCP server for AI agent integration โ works with any MCP-compatible host (Hermes, Claude Desktop, etc.).
Start
turboquant mcp-serverRegister in your MCP client
Hermes Agent (~/.hermes/config.yaml):
mcp_servers:
turboquant-tools:
command: turboquant
args: ["mcp-server"]
enabled: trueClaude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"turboquant-tools": {
"command": "turboquant",
"args": ["mcp-server"]
}
}
}Available Tools
Tool | Description |
| Compress vectors in-memory |
| Restore compressed vectors |
| Predict compression ratio |
| Embed texts via API + compress in one step |
๐ Performance
Measured on random float32 embeddings (CPU, no GPU needed):
Vectors | Dim | Mode | Original | Compressed | Ratio | MAE |
20 | 384 | PolarQuant 3-bit | 30 KB | 10 KB | 3.0ร | 2.6 |
20 | 384 | TurboQuant (QJL) | 30 KB | 20 KB | 1.5ร | 3.3 |
100K | 384 | PolarQuant 3-bit | 153 MB | 20 MB | 7.6ร | โ |
Use cases:
RAG pipelines โ compress vector DB indexes
Edge devices โ fit embeddings in limited RAM
Storage savings โ reduce cloud costs for large vector stores
Memory-bound agents โ compress context vectors on the fly
๐งช Development
git clone https://github.com/FreezeVII/turboquant-tools.git
cd turboquant-tools
pip install -e .
pip install pytest
pytest tests/Run tests
pytest tests/ -v๐งฑ How It Works
Two-stage compression inspired by Google's TurboQuant:
PolarQuant โ Random Hadamard rotation + scalar quantization to 3โ4 bits per dimension. Captures magnitude and direction.
QJL (optional) โ Quantized Johnson-Lindenstrauss residual correction. Recovers high-frequency detail lost in PolarQuant.
Both stages run CPU-only via PyTorch โ no GPU required. The .tq binary format uses a 30-byte header with magic bytes (TQT2) + packed indices and norms.
Under the hood this wraps OnlyTerp/turboquant, a reference PyTorch implementation.
๐ License
MIT โ see LICENSE.
๐ Contributing
PRs welcome! Ideas:
FAISS index compression (
compress_faiss)Onnx / numpy-only backend (no PyTorch dep)
Streaming compression for billion-scale datasets
Pre-built wheels for faster install
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/FreezeVII/turboquant-tools'
If you have feedback or need assistance with the MCP directory API, please join our Discord server