Phileas: persistent memory for AI
AI conversations reset every session. Phileas is a local memory layer that any LLM can read and write through MCP, so context survives across sessions and tools.
Requirements
- Python 3.11 or newer.
- An MCP client. Phileas exposes its memory over MCP. The setup wizard wires it into Claude Code automatically; any other MCP client (a GPT or Ollama front-end, and so on) connects to
phileas serve. - A few hundred MB of disk and one download. Phileas runs two small models locally (about 150 MB) and depends on PyTorch. The steps below keep that download lean.
Installation
Install with uv (recommended):
uv tool install phileas-memory --torch-backend cpu
phileas init
--torch-backend cpu fetches PyTorch's lean CPU build (a few hundred MB) instead of the multi-gigabyte CUDA build uv would otherwise pull on Linux. Phileas runs two small models (an embedding model and a reranker) on the CPU and needs nothing more; on macOS and Windows the CPU build is the default anyway. uv tool install puts phileas on your PATH, so phileas status and the other commands just work.
Prefer pip? Create a virtual environment and install into it:
python3 -m venv ~/.venvs/phileas # an isolated environment
source ~/.venvs/phileas/bin/activate
pip install torch --index-url https://download.pytorch.org/whl/cpu
pip install phileas-memory
phileas init
With the pip route, activate that venv before running phileas commands yourself.
phileas init is the setup wizard: it chooses where memories live, connects Phileas to Claude Code, downloads the models, and starts the background daemon. Restart Claude Code afterward so it picks up the memory tools.
The MCP server is launched by its full path, so Claude Code finds it regardless of your shell environment.
First run
The first run downloads three models from Hugging Face that then run locally: an embedding model (all-MiniLM-L6-v2), a reranker (ms-marco-MiniLM-L-6-v2), and an NLI model (nli-deberta-v3-small) for contradiction detection, about 300 MB together. They are cached after the first download, so later runs work offline. No API key is needed: the three models run locally on your machine. In Claude Code, capture hooks store every turn verbatim as it happens (the raw floor under memory), and Claude records the conclusions you endorse with memorize.
Connect other MCP clients
phileas init wires up Claude Code. Any other MCP client connects to the same server: phileas serve speaks MCP over stdio, so register it the way that client registers a stdio server.
Most clients (Cursor, Antigravity, and others) read a JSON config with the same shape. Add Phileas to its mcpServers map:
{
"mcpServers": {
"phileas": {
"type": "stdio",
"command": "/absolute/path/to/phileas",
"args": ["serve"]
}
}
}
Use the absolute path to the phileas executable (run command -v phileas to find it), since the client launches it without your shell's PATH or an active venv. To point a client at a named profile, add "env": {"PHILEAS_PROFILE": "<name>"} to the entry.
Proactive recall and memorize
The tools work in any client, and the server ships usage guidance that every MCP client receives on connect. The extra layer that makes memory feel automatic (recall before answering, memorize when something worth keeping comes up, the query shapes that retrieve well) lives in a skill file. phileas init installs it for Claude Code at ~/.claude/skills/phileas/SKILL.md; its text uses bare tool names so it carries to any client. If your client has a rules or skills mechanism, put that file's content into it.
Principles
- Local-first: memories stay on your machine.
- Model-agnostic: works with any LLM via MCP.
- Natural forgetting: irrelevant detail decays; recall favors what stays useful.
- Open: run it yourself, read the code.
For the full command list, run phileas --help or phileas COMMAND --help.
License
MIT
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 phileas_memory-0.7.1.tar.gz.
File metadata
- Download URL: phileas_memory-0.7.1.tar.gz
- Upload date:
- Size: 298.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5bb0a770995f797f4c0de2b2edebb1a4844a674e47dd28f126585aa574d6476
|
|
| MD5 |
4c374382948ff34cc6fc7b659dfd9b8c
|
|
| BLAKE2b-256 |
5b5321fdcd28fae5dcf5d39ebe84d71ce00b1c193cec8cdcd58a1f22a951097b
|
Provenance
The following attestation bundles were made for phileas_memory-0.7.1.tar.gz:
Publisher:
release.yml on alexajuno/phileas
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
phileas_memory-0.7.1.tar.gz -
Subject digest:
b5bb0a770995f797f4c0de2b2edebb1a4844a674e47dd28f126585aa574d6476 - Sigstore transparency entry: 2096852919
- Sigstore integration time:
-
Permalink:
alexajuno/phileas@dbdb709d0c2c92ba38bf5351075099ee2c92627d -
Branch / Tag:
refs/tags/v0.7.1 - Owner: https://github.com/alexajuno
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@dbdb709d0c2c92ba38bf5351075099ee2c92627d -
Trigger Event:
release
-
Statement type:
File details
Details for the file phileas_memory-0.7.1-py3-none-any.whl.
File metadata
- Download URL: phileas_memory-0.7.1-py3-none-any.whl
- Upload date:
- Size: 257.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48c4a6e8f004c7007dee8e7187d0cd94933cb32110874581a5a01c6ed1c50481
|
|
| MD5 |
f24538f31af8da44465f69e43df2582d
|
|
| BLAKE2b-256 |
177214a2fb1827fabde8620ec96534435d7841bbff99cf3d6a8e4ee021c701e1
|
Provenance
The following attestation bundles were made for phileas_memory-0.7.1-py3-none-any.whl:
Publisher:
release.yml on alexajuno/phileas
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
phileas_memory-0.7.1-py3-none-any.whl -
Subject digest:
48c4a6e8f004c7007dee8e7187d0cd94933cb32110874581a5a01c6ed1c50481 - Sigstore transparency entry: 2096854340
- Sigstore integration time:
-
Permalink:
alexajuno/phileas@dbdb709d0c2c92ba38bf5351075099ee2c92627d -
Branch / Tag:
refs/tags/v0.7.1 - Owner: https://github.com/alexajuno
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@dbdb709d0c2c92ba38bf5351075099ee2c92627d -
Trigger Event:
release
-
Statement type: