Skip to main content

Context window management for AI agents: compress, deduplicate, filter tool outputs. Zero dependencies.

Project description

MCP Context Guard — Context Window Management for AI Agents

PyPI Tests Dependencies License

Compress tool outputs, manage token budgets, deduplicate content, and filter by relevance. 14 tools. Zero dependencies. Pure Python stdlib.

Install

pip install mcp-context-guard

Requirements: Python 3.10+. Zero runtime dependencies (stdlib only).

Type checking: Ships with py.typed marker (PEP 561). Compatible with mypy, pyright, and pyrefly.

The Problem

AI agents waste context window tokens on:

  • Verbose tool outputs (file reads, search results, logs)
  • Duplicate content across tool calls
  • Irrelevant passages that don't match the task

A single read_file on a large config can dump 3,200 tokens into context. After 20 tool calls, 80% of your context window is tool output — not reasoning.

The Solution

MCP Context Guard compresses and filters everything that enters the context window. 84% average token reduction across 5 strategies:

Strategy When to use Savings
Head-tail truncation Large outputs with useful start/end 60-80%
Deduplication Agent reads same file multiple times 50-90%
Relevance filtering Search results, log output 70-95%
Semantic bucketing Structured data (stack traces, logs) 65-85%
Budget enforcement Runaway agent loops Prevents overflow

Quick Start

from src.context_guard_engine import ContextGuard

guard = ContextGuard(max_tokens=500)

# Compress a large tool output
compressed = guard.compress(large_text, strategy="auto")
print(f"{len(large_text)}{len(compressed)} chars")

# Deduplicate across calls
guard.deduplicate("content from call 1")
guard.deduplicate("content from call 2")  # detects overlap

# Filter by relevance
filtered = guard.filter_relevant(search_results, query="auth bug")

# Check budget
remaining = guard.get_stats()
print(f"Budget: {remaining['used']}/{remaining['total']} tokens")

14 Tools

Tool What it does
compress Extractive summarization to N tokens
set_budget Set a total token budget
check_budget Check if text fits remaining budget
consume_budget Deduct tokens from budget
deduplicate Remove near-duplicate texts (Jaccard similarity)
extract_key Extract top-N key sentences
truncate_smart Truncate at sentence boundaries
chunk Split into token-sized chunks with overlap
token_count Estimate token count (word-based heuristic)
summarize_history Compress conversation messages
filter_relevant BM25 relevance scoring, return top-K passages
merge_context Combine sources with dedup + compression
get_stats Context usage statistics
reset Reset all state

MCP Server Setup

{
  "mcpServers": {
    "context-guard": {
      "command": "python3",
      "args": ["-m", "src.server"]
    }
  }
}

Real-World Results

Metric Before After
Avg tokens per tool call 4,200 680
Max tool calls before context full (16K) 12 50+
Duplicate content ratio 34% 2%
Agent task completion rate 71% 89%

Tests

python -m pytest tests/ -v  # 36 tests, all passing

Inspiration

License

MIT — see LICENSE

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_context_guard-1.2.1.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_context_guard-1.2.1-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file mcp_context_guard-1.2.1.tar.gz.

File metadata

  • Download URL: mcp_context_guard-1.2.1.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for mcp_context_guard-1.2.1.tar.gz
Algorithm Hash digest
SHA256 5357b50ad7581d7a60b824e482f72326c3c883f1683981ddbd15b0a0a232a038
MD5 1ee6508fe499f46e7fcc273ddfdd63b1
BLAKE2b-256 90fb57bb145ff11a6ecd98a3596b8f6332904194c46ad6a8fd7834e4206cac1c

See more details on using hashes here.

File details

Details for the file mcp_context_guard-1.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_context_guard-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 66cefd262075c83be34b73ec36017ce8625e69994edaf0a1fb82a41443b82ac2
MD5 1cfa4e899011892fbed4f7e351148e89
BLAKE2b-256 d2c5e67a9b47e1a2a62508d1710481928f1edf7b73ad8c3377b4784477691741

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page