{"name":"io.github.Mnemosyne-OS/mcp","slug":"mnemosyne-os-mcp","title":"Mnemosyne OS","description":"Memory the human governs, on their own machine, plus what other coding agents here wrote.","url":"https://mcp.market/server/mnemosyne-os-mcp","rating":null,"grade":"A","score":91,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":43,"stars":16,"forks":0,"downloads_week":467,"last_push_at":"2026-09-19T06:11:38.000Z","license":"NOASSERTION"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Mnemosyne-OS/Mnemosyne-Neural-OS","website":"https://mnemosyne-os.io","version":"2.0.0","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@mnemosyne_os/mcp","version":"2.0.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Vault used when a call does not name one. The vaults are the user's own domains of memory (code, notes, journal); nothing outside the granted list is reachable.","default":"DEV","name":"MNEMO_DEFAULT_VAULT"},{"description":"Comma-separated list of vaults this server may reach. Narrow it: a vault left out here cannot be read even by mistake.","default":"DEV,PERSONAL,SOCIAL","name":"MNEMO_VAULTS"},{"description":"Port of the local Mnemosyne OS SDK server the desktop app listens on.","default":"7799","name":"MNEMO_SDK_PORT"}]}],"tools":[{"name":"mnemosyne_about","description":"Read who Mnemosyne OS is and the rules you must honor when using it: its governance tenet, the vault protection model (NORMAL/MAXIMUM, mixableWith, isolated sandbox vaults), the spine model, and the do/don't behavior for an agent operating on a human's memory. The same briefing is delivered as the server instructions on connect. Call this to re-read it, or if your client did not surface those inst","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_agenda_add","description":"Put appointments or deadlines into the human's calendar (the Agenda widget on their canvas). Use it when a conversation names a specific date/time to remember: \"add this to my calendar\", a deadline, a meeting. The host routes the write through the widget's own store, so what you file is exactly what the human sees.","write_action":true,"price_micros":0,"input_schema":null},{"name":"mnemosyne_agenda_list","description":"Read the human's calendar back: the appointments in a time window, each with the ID you must use to change or remove it. Call this BEFORE mnemosyne_agenda_update or mnemosyne_agenda_remove - both name appointments by id and never by title or date, because the calendar has no archive and a removal cannot be undone. A repeating event appears ONCE, with its cadence and the date of its next occurrence","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_agenda_remove","description":"REMOVE appointments from the human's calendar. Read them with mnemosyne_agenda_list first and pass the ids: this tool never matches by title or by date, because \"remove my meetings on Thursday\" is how an agent removes the wrong Thursday. THERE IS NO ARCHIVE - unlike a To-do task, a removed appointment is gone, so the answer names each one it removed by title and start time, for the human to check.","write_action":true,"price_micros":0,"input_schema":null},{"name":"mnemosyne_agenda_update","description":"CHANGE an appointment already in the human's calendar: move it, rename it, add or drop a reminder, start or stop it repeating. Names appointments by the id from mnemosyne_agenda_list - call that first. A field you leave out is left alone; passing null CLEARS it. A start or end time that cannot be read REFUSES the change rather than leaving the old one silently in place, and a cadence that is not o","write_action":true,"price_micros":0,"input_schema":null},{"name":"mnemosyne_agent_collisions","description":"Are two agent sessions live in the SAME git working tree and branch right now, from ANY installed harness? This is the one to call before `git add -A`, before a commit, and before a rebase: the git index is shared by every process in one working tree, so a commit from one session picks up whatever the other has staged. Answers from transcript files on disk; needs neither Mnemosyne OS nor a token. ","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_agent_files","description":"Which FILES other agent sessions have written or edited recently, newest first, with the session each came from. Paths and timestamps only, never file contents. Each entry says how it is known: `recorded` means the harness logged a file-writing tool call, `from a command` means a redirection was read out of a shell command the session ran and may never have completed. Spans every installed harness","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_agent_list","description":"What OTHER coding-agent sessions exist on this machine, read from the transcripts their harnesses already write to disk. Returns metadata only: conversation name, project, git branch, model, last tool, how many files were touched, and when a line was last written. Reads EVERY coding-agent harness installed on this machine, not just your own, so you can see a session from a different agent working ","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_cockpit_update","description":"Your own status card on the human's canvas (the cockpit). Call it when you START a task (\"working\" + a short title and status), when you NEED the human (\"waiting\": the card pulses and the taskbar flashes), when you are stuck (\"blocked\"), and when you are DONE (\"done\"). The state is what you declare; the host prints it next to the time since your last call, so keep calling at real milestones or the","write_action":true,"price_micros":0,"input_schema":null},{"name":"mnemosyne_dream_bridges","description":"List the connections Mnemosyne's Dream State engine discovered between memories during its offline (idle-time) scans (\"what did you dream about?\"). Each bridge links two chronicles (possibly across vaults) with a composite Dream Bridge Score (dbs, prime-aware) and a raw cosine similarity, plus a short excerpt of both sides. Use it to surface non-obvious associations the memory found on its own, to","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_git_log","description":"Read recent commits from the Mnemosyne OS monorepo. Read-only: it reads the repository and writes nothing. Each commit carries an 8-character hash, the subject line, the author and the date, newest first. The repository path is fixed on the OS side, so this cannot be pointed at another checkout, and it needs the monorepo:read scope; when either is missing it answers with a message naming what is m","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_memory_ask","description":"Ask Mnemosyne a question and get a SYNTHESIZED prose answer grounded in the vault, PLUS the chronicles it drew on. It runs the full local RAG pipeline (deeper retrieval, lexical fusion and a re-rank), so it is both the reasoning tool AND, measured on 2026-08-31, the better RETRIEVER: reach for it whenever you need to find something, and read the Sources list even if you ignore the prose. Best on \"","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_memory_forget","description":"Permanently erase ONE chronicle from a Mnemosyne OS vault, by id. \\u26D4 This is not reversible and there is no undo, no trash, and no copy kept: the chronicle is gone from the vault and from every future retrieval. Call it only when the human asked for that specific thing to be erased in this conversation. Never to tidy up, never to correct yourself (write a new chronicle instead, memory is meant","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_memory_ingest","description":"Persist a memory into the Mnemosyne OS vault: a decision, an architecture note, a debug finding, or a session summary. Stored permanently and indexed for future semantic retrieval by any agent. Use this at the END of a meaningful work session, or whenever you reach a decision that future you (or other agents) would want to recall.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_memory_query","description":"Raw chronicle search in a Mnemosyne OS vault. Returns the matching chronicles themselves (architecture notes, code, decisions, sessions, git history) for YOU to read, rank and cite. Nothing is rewritten, so this is what to use when you need the source text verbatim, e.g. to quote it or to write documentation from it. Ranked by vector similarity fused with a local BM25 channel, weighted by spineTyp","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_pheme_radar","description":"Read what the human's Pheme radar last found: fresh threads in the subreddits and Hacker News queries they watch, each with a topic score and, when the human has run the Mnemosyne pass, a tier (high / mid / low = how much substance THEY can bring to that thread). The answer leads with WHEN the scan ran: it is as fresh as the last time the human opened Pheme and pressed Scan, never fresher. Use it ","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_pheme_watch","description":"Put a subreddit, a Hacker News search query or a topic on the human's Pheme radar (their reputation cartridge, which finds fresh threads worth a genuine reply), or take one off. The lists are THEIRS: an op that would empty a list is refused, every op reports its own outcome (done / already there / not there / refused), and the human sees a receipt in Pheme naming this agent and what changed. Use i","write_action":true,"price_micros":0,"input_schema":null},{"name":"mnemosyne_position_get","description":"Read the last saved position of one Resonance: the phase and the free-text note an agent or the cockpit wrote when it stopped. Read-only: it queries memory and writes nothing. Returns the resonance id, when it was saved, the chronicle spineType, and the whole note. When nothing was ever saved under that id it answers in plain words and points at mnemosyne_position_update, never an error, so \"never","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_position_update","description":"Update the current position of a Resonance. Call this at the end of a session to record where you left off: phase, current state, next steps. This is persisted as a DECISION chronicle in the vault.","write_action":true,"price_micros":0,"input_schema":null},{"name":"mnemosyne_resonance_list","description":"List the Resonances recorded in the default vault, the cognitive workspaces tracking ongoing projects. Read-only: it queries memory and writes nothing. Each entry carries the resonance id, its last phase, how many minutes ago it moved, and the id of the chronicle behind it. There is no active/paused filter and no status field: you get every resonance the scan matched, in one vault, from at most 30","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_spine_assignments","description":"Inspect how Mnemosyne classified its memories: chronicle \\u2192 spine assignments for a vault (newest first), whole-vault per-spine counts, and optionally the global spine taxonomy tree. Use it to audit auto-classification quality (\"did memories land in the RIGHT spines?\"), to see a vault's composition at a glance, or to discover the taxon ids to pass as spine_type_filter in mnemosyne_memory_query","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_todo_add","description":"Put tasks into the human's To-do backlog (the To-do widget on their canvas), in order, optionally under named steps. Use it when a conversation has settled WHAT to do: \"make tasks out of everything we said we would do\". Name the list (\"list\"): call once without it to be told the lists that exist on a LIST_NOT_FOUND answer, or pass create_list: true to make a new one. Never assume a default list. T","write_action":true,"price_micros":0,"input_schema":null},{"name":"mnemosyne_todo_categories","description":"Manage the LISTS of the human's To-do backlog: create one, rename or recolour one, remove an empty one. Separate from mnemosyne_todo_update because these change the shape of someone's workspace rather than the work in it. Two refusals worth knowing before you call: a list that still HOLDS tasks is never removed (you are told how many are in the way - move them first, the host will not pick a desti","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_todo_list","description":"Read the human's To-do backlog back: the lists that exist and the tasks in them, each with the ID you must use to change it. Call this BEFORE mnemosyne_todo_update - that tool names tasks by id and never by text, because \"delete the task about the invoice\" is how the wrong task goes, in a sentence that reads perfectly either way. Also the way to answer \"what is on my plate\" or to check whether som","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_todo_update","description":"CHANGE the human's To-do backlog: edit a task, tick it off, move it to another list, or take it out. Every operation names a task by the id from mnemosyne_todo_list - call that first. Removing a task ARCHIVES it by default (it leaves the list and can be restored); pass permanent: true only when the human asked for it to be deleted outright. The whole batch is applied in order as ONE save, and each","write_action":true,"price_micros":0,"input_schema":null},{"name":"mnemosyne_vault_list","description":"List the memory vaults this Mnemosyne OS exposes, each with its TOKEN, display name and chronicle count. Call this first when you are unsure which vault to query/ask/ingest against, or when the user refers to a memory store by a name you have not seen. Pass a returned **token** (bold, e.g. MNEMOSYNE_OS) as the `vault` argument to the other tools, never the `id` line, which is the host's internal p","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_voice_list","description":"List what can SPEAK on this machine: the local TTS engines (installed or not), the reference voices available for cloning, and where rendered files are written. ALWAYS call this before mnemosyne_voice_speak: it tells you which engine to ask for, which clone names exist (an invented name is refused, never substituted), and warns when a reference clip is too short or not mono to clone well. Requires","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_voice_speak","description":"Render a written script to a WAV file using a local voice, including the user's own cloned voice. Made for producing voice-overs (TikTok, YouTube, podcast, narration): the audio is written to a file on disk and the PATH is returned, ready to drop on a video timeline. Runs entirely offline on the local engines; nothing is sent to a cloud service. This is a JOB, not an instant call: synthesis runs a","write_action":false,"price_micros":0,"input_schema":null},{"name":"mnemosyne_voice_status","description":"Check a voice render started by mnemosyne_voice_speak: how many segments are done, the estimated time left, and, once finished, the path of the WAV file. Call it with no job id to list every render of this session. A render can also be stopped here (it halts at the next segment boundary and leaves no file).","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":91,"grade":"A","scanned_at":"2026-09-19T19:47:52.555Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:47:52.542Z","components":{"code":{"score":25,"max":25,"notes":["2 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@mnemosyne_os/mcp","version":"2.0.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-09-16T02:59:46.705Z","repositoryUrl":"git+https://github.com/Mnemosyne-OS/Mnemosyne-Neural-OS.git","weeklyDownloads":467}],"repo":{"found":true,"owner":"Mnemosyne-OS","repo":"Mnemosyne-Neural-OS","archived":false,"pushedAt":"2026-09-19T06:11:38Z","stars":16,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/311208913?v=4","ownerCreatedAt":"2026-07-30T23:14:41Z","license":"NOASSERTION"},"icon":{"url":"https://avatars.githubusercontent.com/u/311208913?v=4&s=128","source":"registry","width":128,"height":128},"presence":{"stars":16,"forks":0,"downloadsWeek":467,"license":"NOASSERTION","lastPushAt":"2026-09-19T06:11:38.000Z","score":43}}}},"grade_history":[],"reviews":[]}