Persistent semantic key-value memory MCP server with ChromaDB backend
Project description
memorious-mcp
Memorious-MCP is a minimal Model Context Protocol (MCP) server that provides a persistent key-value memory store with vector-similarity lookup using ChromaDB.
Features
- FastMCP-based MCP stdio server exposing three tools:
store,recall, andforget. - ChromaDB backend (
ChromaMemoryBackend) persisting data on disk using Chroma's PersistentClient. - Tests (integration) that exercise store/recall/forget behavior.
- Standard Python package layout for easy installation and distribution.
Getting Started
- Install the package (recommended in a virtual environment):
# Install in development mode
uv sync
# Or install from source
pip install .
- Run the server (stdio transport, suitable for local/CLI integrations):
# Using uv
uv run memorious-mcp --collection memories
# Or if installed globally
memorious-mcp --collection memories
- Call tools using an MCP client (FastMCP client or a compatible MCP client) over stdio.
Example Tool Signatures
store(key: str, value: str) -> {"id": str}recall(key: str, top_k: int = 3) -> {"results": [...]}where each result includes id, key, value, distance, timestampforget(key: str, top_k: int = 3) -> {"deleted_ids": [...]}
Testing
Run tests with:
# Using uv
uv run python -m pytest tests/ -v
# Or if pytest is available globally
pytest tests/ -v
Package Structure
The project follows the standard Python package layout:
memorious-mcp/
├── src/
│ └── memorious_mcp/
│ ├── __init__.py
│ ├── main.py # MCP server entry point
│ └── backends/
│ ├── __init__.py
│ ├── memory_backend.py # Abstract base class
│ └── chroma_backend.py # ChromaDB implementation
├── tests/
│ └── test_chroma_backend.py # Integration tests
├── pyproject.toml # Package configuration
└── README.md
Notes
- By default memory persistence is enabled and stored under
./.memorious. You can overridepersist_directorywhen creatingChromaMemoryBackendin code. - The backend uses Chroma's default embedding function when available.
- The package is configured with a console script entry point for easy command-line usage.
Contributing
Contributions are welcome. Open a PR with tests.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file memorious_mcp-0.0.1.tar.gz.
File metadata
- Download URL: memorious_mcp-0.0.1.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77d81a5a3e0faf78013ba12855ade525dfeca9124a41cb4e49905ab5f153bc6e
|
|
| MD5 |
171a6b3f852b22f1711ed668f4bb0e81
|
|
| BLAKE2b-256 |
ae76a1341e709032ac85692d800b6b8f09947399a934b2e6fbca06a4d9fa770b
|
File details
Details for the file memorious_mcp-0.0.1-py3-none-any.whl.
File metadata
- Download URL: memorious_mcp-0.0.1-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da8557f7dda0ae6b33fa6176553c8623795cfd15e65d49f10ff3c13f2271323e
|
|
| MD5 |
b029f0d806501db0399f3f98aac4f45d
|
|
| BLAKE2b-256 |
52078bdc4e1dbad3982c34ef33f13aaa89c9a753c15621cc7160459a86b4335d
|