microsoft / microsoft/agent-framework

.NET: Feature request: Mimir memory connector (local-first, encrypted, 23 MCP tools)

Open
#6,529 0 comments 0 reactions 1 assignee View on GitHub

@sphenry is already working on this.

Since Jun 16, 2026.

.NET python
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.