Using it from Claude or ChatGPT¶
mimem produces a script. Two things are missing before that is useful on its own: a voice, and something that comes back tomorrow to ask you about it. An assistant cannot be a voice — that is still to come — but it can be everything else, and it can write the explanations that otherwise need a paid API key.
With this set up you can say "make me a study programme from this paper" and then, days later, "quiz me on what's due".
Set it up¶
You need Python 3.11+, uv, and the app.
Download mimem.mcpb, then Settings → Extensions → Install extension and pick the file. Or drag it onto the Claude Desktop window.
That is the whole install. The extension's settings let you choose where programmes are
written and point at a listener.yaml, without editing any JSON.
Do not edit claude_desktop_config.json
Older instructions — including this page's, until recently — told you to add mimem to
mcpServers in that file. On current Claude Desktop the application owns it and rewrites
it when it exits, so a server added by hand disappears on the next start, silently and
with no error. Extensions are the supported route.
Building it yourself, from a clone:
Settings → Connectors → Advanced → Developer mode, then add a connector of type STDIO with the command:
Restart, and the tools appear.
Point the extension at your clone instead of at GitHub by editing packaging/manifest.json
before building — set server.mcp_config to:
Then uv run python packaging/build_extension.py and install the result.
ChatGPT on the web cannot do this
Web clients only reach servers on the internet. This one runs on your machine, which is the point — your papers never leave it. Use the desktop app.
Try it¶
Make a study programme from ~/Downloads/paper.pdf
It builds, and tells you how long the programme is, how it is structured, what it thinks the key
ideas are, and whether anything failed the design rules. Nothing is uploaded anywhere; the files
land in ~/mimem/programmes/.
Show me the figures
If the paper is a PDF, mimem has cropped each figure out of the page. next_figure hands one
over as an image, you describe it, and the description is checked before it is spoken — the same
gate the glosses face, plus one rule of its own: a description may not quote a value the paper
never wrote in a sentence. Numbers read off a plot cannot be checked against anything, so they
are rejected whether they are right or wrong. "Well over half", not "sixty point two seven
percent". The exact values stay in study.md, next to the picture, where you can check them.
That rule is not caution. Given a real four-panel figure, a vision model returned a fluent description with two gases swapped and a 60.27% label read as "~69%" — so no retrieval card ever takes its answer from a figure description either. One wrong spoken sentence is a cost worth the feature; the same sentence drilled at expanding intervals is not.
Now write the explanations yourself
This is the good part. The assistant fetches the concepts that want explaining, along with the paper's own sentences about each one, writes the glosses, the concrete images and the analogies, and sends them back.
And they are checked. Every number in what it wrote is looked up in the sentences it was given; a claim that reverses a direction the paper states is rejected. Not warned about — rejected, and reported back so it can try again. This is the same check that runs when a paid API writes them, which is why letting the conversation do it is safe:
Rejected — gloss for "solid electrolyte interphase": number '41.85' does not appear in the cited source. Rewrite it using only what the source sentences say.
Read me the opening
One section at a time. A hundred-minute programme is fifteen thousand words, so the tools return summaries and let you ask for the parts you want.
The part that makes it worth doing¶
Quiz me on what's due
Every question mimem generated is a card, and answering one is recorded. Get it right and it comes back later; get it wrong and it comes back tomorrow. That is the spacing effect, which is the largest thing in the science and the reason any of this exists.
Ask for a session the next day and it will know which cards are ready and which you have never seen.
The log is a plain text file at ~/mimem/reviews.jsonl, one line per answer. You can read it,
graph it, or delete it.
Where things are¶
~/mimem/programmes/<name>/ |
One directory per programme: audio.md, study.md, cards.json, manifest.json, and every intermediate stage |
~/mimem/reviews.jsonl |
Every answer you have given |
MIMEM_WORKSPACE |
Set it to put all of that somewhere else |
audio.md is what you hand to a speech engine. mimem does not synthesise it yet — that is the
next milestone — so for now: say -f audio.md on macOS, or paste it into a web reader.
What it can do¶
| Build a programme | From a file on your machine, a link, or text pasted into the chat |
| Write the explanations | Glosses, concrete images, analogies — checked against the paper |
| Read it back | The outline, or one section of the audio or study track |
| Quiz you | What is due, across every programme |
| Record how it went | And schedule the next showing |
| Explain a choice | Which rule produced a beat, and which sentence it came from |
| Take a correction | Disagree with a ranking; it survives every future run |
If it does not show up¶
The tools do not appear after restarting
Check uvx --from git+https://github.com/jepegit/mimem --with mcp mimem-mcp runs in a
terminal. It should sit there silently waiting for input — that is a working server. Ctrl-C
to stop it. If it fails, the error will say why.
It cannot find my PDF
Give the full path — /Users/you/Downloads/paper.pdf, not paper.pdf. The assistant cannot
see where a chat attachment lives on disk; if you only have it as an attachment, ask the
assistant to pass the text instead.
Everything is rejected when it writes the explanations
Working as intended, and worth reading: the rejections say which number or direction the paper does not support. If they look wrong, that is a bug worth reporting.
It read the whole programme into the chat
Ask it to read one section at a time. The tools return summaries by default, but an assistant can always ask for more than it needs.