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.
Metadata
Release files for memorious-mcp 0.0.2
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 | |
|---|---|---|---|---|
| memorious_mcp-0.0.2.tar.gz | 5.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| memorious_mcp-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.5 kB
Release files / memorious_mcp-0.0.2.tar.gz
| Download URL | memorious_mcp-0.0.2.tar.gz |
|---|---|
| Size | 5.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
35d5dccd0961a74dbbc89e40748f7a392f96f2b969f55a52425d255889d879b4
|
|
BLAKE2b-256 checksum How to use checksums |
f1cf2f0dea2f9f6013dc6d218ac3163d750558e33dd966fb8b0b0583f09b7005
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / memorious_mcp-0.0.2-py3-none-any.whl
| Download URL | memorious_mcp-0.0.2-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7b3766774843aa64f379e3eba761319bdb4ee8c88482ec8fb68ab765f491b0df
|
|
BLAKE2b-256 checksum How to use checksums |
8fc675a299ead1ae990f344d1e4a34ac447ed47051cda4455357d39ef9513632
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for memorious-mcp 0.0.2
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.