Kontext MCP Server
Portable, provider-agnostic memory for AI agents using Azure Data Explorer (Kusto) with temporal and semantic scoring.
README
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.
Overview
Kontext provides two powerful MCP tools for intelligent memory management:
remember
remember(fact: str, type: str, scope: Optional[str] = "global") -> str
Stores a memory item in the Kusto-backed memory store with automatic embedding generation.
Parameters:
fact: Text to remembertype: Memory type ("fact","context", or"thought")scope: Memory scope (defaults to"global")
Returns: Unique ID of the stored memory
recall
recall(query: str, filters: Optional[Dict[str, Any]] = None, top_k: int = 10) -> List[Dict[str, Any]]
Retrieves relevant memories using semantic similarity and KQL-powered ranking.
Parameters:
query: Search query for semantic matchingfilters: Optional filters (e.g.,{"type": "fact", "scope": "global"})top_k: Maximum number of results to return
Returns: List of memory objects with metadata (id, fact, type, scope, creation_time, sim)
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.
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.