microsoft / microsoft/agent-framework
.NET: Feature request: Mimir memory connector (local-first, encrypted, 23 MCP tools)
@sphenry is already working on this.
Since Jun 16, 2026.
- Dominant language
- Python
- Stars
- 13.6k
- Forks
- 2.3k
- Avg merge
- 2d 45m
- Merged PRs (30d)
- 358
Description
## Feature Request: Mimir as a memory connector for Microsoft Agent Framework
[Mimir](https://github.com/tcconnally/mimir) is an open-source (MIT) persistent memory engine with 23 MCP tools — encrypted, local-first, embedded SQLite with hybrid search.
### Proposal
Add a Mimir memory connector to the Microsoft Agent Framework's memory abstraction layer. This would complement the existing memory implementations and provide a zero-dependency, production-ready option for teams that can't or won't use cloud memory services.
### Why this fits Agent Framework
- Agent Framework v1.0 has a modular memory connector architecture (#6415 even calls for consolidating memory implementations between Python and C#)
- Mimir has both a Python client and a Rust core that compiles to a single binary — perfect for the "local-first" agent pattern
- The 23 MCP tools integrate naturally with the framework's MCP support (#6118 works on MCP skill integration)
- Encryption at rest addresses enterprise security requirements without adding cloud dependencies
### Integration sketch
```python
from agent_framework.memory import MemoryConnector
from mimir_client import MimirClient
class MimirMemoryConnector(MemoryConnector):
def __init__(self, db_path: str):
self.client = MimirClient(db_path)
async def store(self, key: str, value: dict, metadata: dict = None):
await self.client.remember(content=json.dumps(value), metadata=metadata)
async def retrieve(self, query: str, limit: int = 10):
results = await self.client.recall(query, limit=limit)
return [r.content for r in results]
async def forget(self, key: str):
await self.client.forget(key)
```
Happy to contribute a PR.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.