Kontext MCP Server
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 URLKUSTO_DATABASE: Database name for storing memoriesKUSTO_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.
Metadata
Release files for kontext-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| kontext_mcp-0.1.0.tar.gz | 92.6 kB | Without provenance | Details for kontext_mcp-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| kontext_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for kontext_mcp-0.1.0-py3-none-any.whl |
Total release size: 103.3 kB
Release files / kontext_mcp-0.1.0.tar.gz
| Download URL | kontext_mcp-0.1.0.tar.gz |
|---|---|
| Size | 92.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
02b932196da6f5b62048e95cae87184250d828bd9b4f88bcce608ccb85115787
|
|
BLAKE2b-256 checksum How to use checksums |
0a292d8216e5e825c369b27180a10078be3c30decd1e7c3a2dafa1bea59d927e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.3
|
Release files / kontext_mcp-0.1.0-py3-none-any.whl
| Download URL | kontext_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b43d33f628206be4bd6b77571aaa76accfce7568b3b94580cda59a24d4e2d48b
|
|
BLAKE2b-256 checksum How to use checksums |
c46dbb85dca74782391803c89b2062dc789963620333975cbe1edbe04749a0e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.3
|
Security for kontext-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.