Skip to main content

Portable, provider-agnostic memory on top of Azure Data Explorer (Kusto)

Project description

Kontext MCP Server

Install with UVX in VS Code PyPI Downloads

Own your Kontext: portable, provider‑agnostic memory for AI agents. Never repeat yourself again.

Kontext transforms Azure Data Explorer (Kusto) into a sophisticated context engine that goes beyond simple vector storage. While traditional vector DBs only store embeddings, Kontext provides layered memory with rich temporal and usage signals—combining recency, frequency, semantic similarity, pins, and decay scoring.

Why Kontext?

The Gap: Agents need intelligent memory that considers not just semantic similarity, but also temporal patterns, usage frequency, and contextual relevance. Most vector databases fall short by ignoring these rich signals and locking you into a single cloud provider.

The Solution: Kontext leverages Kusto's powerful query language (KQL) to score and rank memories using multiple dimensions:

// Conceptual query for scoring memories
Memory 
| extend score = w_t * exp(-ago(ingest)/7d) * 
                 w_f * log(1+hits) * 
                 w_s * cosine_sim * 
                 w_p * pin 
| top 20 by score

Key Benefits

  • Temporal Reasoning: Native timestamp handling, retention policies, and time-decay scoring
  • Semantic Retrieval: Built-in vector columns with cosine similarity search
  • Expressive Ranking: KQL enables complex scoring that weighs time, frequency, pins, and semantics
  • Cost Effective: Free tier with instant provisioning and predictable scaling
  • True Portability: Simple MCP API keeps your models and cloud providers interchangeable

Architecture

Agent ⇆ Kontext MCP
         ├── remember(fact, meta)
         └── recall(query, meta)
                  ↓
           Azure Kusto

Ingest: Text splitting → embedding generation → vector + metadata storage
Retrieve: KQL-powered scoring combines temporal, frequency, semantic, and pin signals

Quick Setup

Add Kontext to your MCP settings with the following configuration:

{
  "servers": {
    "kontext": {
      "type": "stdio",
      "command": "uvx",
      "args": ["kontext-mcp"],
      "env": {
        "KUSTO_CLUSTER": "https://your-cluster.kusto.windows.net/",
        "KUSTO_DATABASE": "your-database",
        "KUSTO_TABLE": "Memory",
        "EMBEDDING_URI": "https://your-openai.azure.com/openai/deployments/text-embedding-3-large/embeddings?api-version=2023-05-15;managed_identity=system"
      }
    }
  }
}

Environment Variables:

  • KUSTO_CLUSTER: Your Azure Data Explorer cluster URL
  • KUSTO_DATABASE: Database name for storing memories
  • KUSTO_TABLE: Table name for memory storage (default: "Memory")
  • EMBEDDING_URI: Azure OpenAI endpoint for embedding generation

Current Features

  • remember: Store facts with automatic embedding generation using Kusto's ai_embeddings() plugin
  • recall: Retrieve semantically similar facts using cosine similarity search
  • FastMCP Integration: Built on the FastMCP framework for easy tool registration and schema generation
  • Kusto Backend: Leverages Azure Data Explorer for scalable storage and querying

Roadmap

  • Advanced Scoring: Multi-dimensional ranking with temporal decay, frequency weighting, and pin support
  • Memory Tiers: Short-term context, working memory, and long-term fact storage
  • Hosted Embeddings: Optional E5 model hosting to reduce setup friction
  • Enhanced Caching: Multi-tier memory management and query optimization

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

kontext_mcp-0.1.0.tar.gz (92.6 kB view details)

Uploaded Source

Built Distribution

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

kontext_mcp-0.1.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file kontext_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: kontext_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 92.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.3

File hashes

Hashes for kontext_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 02b932196da6f5b62048e95cae87184250d828bd9b4f88bcce608ccb85115787
MD5 6f38b4d6f7a1c2dab82cddfa89fa8971
BLAKE2b-256 0a292d8216e5e825c369b27180a10078be3c30decd1e7c3a2dafa1bea59d927e

See more details on using hashes here.

File details

Details for the file kontext_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kontext_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b43d33f628206be4bd6b77571aaa76accfce7568b3b94580cda59a24d4e2d48b
MD5 a687ed72e40215b5599f0c31c2c0fd8c
BLAKE2b-256 c46dbb85dca74782391803c89b2062dc789963620333975cbe1edbe04749a0e3

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