Palinode
Inspectable, correctable project memory in git-versioned Markdown for AI agents.
Connector by phasespace-labs · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/phasespace-labs-palinode
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-memory, knowledge-base
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 23 read · 9 write · 7 delete
- Secrets
- 2 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 39
Read from the source code; the running server may list different tools.
Read 23 · Look things up without changing anything.
palinode_blamepalinode_cluster_neighborspalinode_correction_previewpalinode_correctionspalinode_dedup_suggestpalinode_dependspalinode_diffpalinode_doctorpalinode_doctor_deeppalinode_entitiespalinode_explainpalinode_history
Show 11 more tools
palinode_lintpalinode_listpalinode_orphan_repairpalinode_readpalinode_resolvepalinode_reviewpalinode_searchpalinode_session_initpalinode_statuspalinode_topic_coveragepalinode_trace
Write 9 · Create, change, send or run things.
palinode_correction_dismisspalinode_correction_undopalinode_ingestpalinode_promptpalinode_pushpalinode_restorepalinode_savepalinode_session_endpalinode_trigger
Delete 7 · Delete, drop, revoke or wipe things.
palinode_archivepalinode_archive_expiredpalinode_consolidatepalinode_correction_applypalinode_forget_withdrawpalinode_rollbackpalinode_unretract
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
PALINODE_API_TOKENPALINODE_API_TOKEN_FILE
Other settings (environment variables or headers).
PALINODE_API_HOSTPALINODE_API_PORTPALINODE_DIR
Network hosts it talks to 8
ai.dev· found in codeai.google.dev· found in codeapi.openai.com· found in codecode.claude.com· found in codedeploy.example.invalid· found in codegenerativelanguage.googleapis.com· found in codegithub.com· found in codehuggingface.co· found in code
Files it touches
~/.claude/projects~/.claude/settings.json~/.claude/skills/etc/cron.d/etc/crontab/etc/passwd/etc/systemd/system/home/example-user/old-data/home/example-user/palinode/home/example-user/palinode-data/proc/cpuinfo/proc/meminfo/proc/self/statm/tmp/lme-palinode-store/usr/sbin/sysctl/var/lib/palinode- Your home directory (~)
~/.cache/longmemeval-v2~/Code/LongMemEval-V2~/palinode- Any path the agent passes to its tools
Tools (39)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
palinode_archiveArchive / Supersede Memorycan change or delete dataRetire one specific memory that is wrong or obsolete. Sets `status: archived` so it leaves default recall, records the reason in the file's history sibling, and commits — never hard-deletes, so the content stays auditable. Pass `superseded_by` to name the memory that replaces it (a SUPERSEDE rather than a plain archive). Use this instead of re-saving a memory with a hand-written tombstone body: that leaves the wrong content live in search.
palinode_archive_expiredArchive Expiredcan change or delete dataArchive ephemeral memories whose `expires_at` has passed (ADR-015 §2.3 TTL regime). Deterministic + idempotent — flips expired memories to status: archived so they drop out of default recall while staying on disk. Set `dry_run=true` to preview.
palinode_blameBlame / Provenanceread-onlyTrace when a fact was recorded and by which session.
palinode_cluster_neighborsCluster Neighborsread-onlyGiven a memory file path, find the top-K semantically related files that are NOT currently linked to or from it (no existing [[wikilink]] in either direction). Use during wiki-maintenance passes to surface implicit relationships that no wikilink yet captures — the LLM can then propose new cross-links. Preprocessing strips wikilink syntax and the auto-generated `## See also` footer so notes linking the same entities don't false-positive as related.
palinode_consolidateRun Consolidationcan change or delete dataRun a manual knowledge consolidation pass. Set `dry_run=true` to preview the proposed operations without applying them. A pass that reaches the LLM can run for minutes and may outlast your client's own tool-call timeout; the server finishes it either way and holds a run lock while it does, so a retry returns 409 rather than starting again.
palinode_correction_applyApply a Reviewed Correctioncan change or delete dataApply a correction that was previewed. Requires confirm=true and the expect_revision the preview returned; a target that changed since, or a ref matching more than one memory, is refused rather than guessed. The original is archived with superseded_by, never deleted. `applied: "partial"` means the replacement was saved and the original was NOT retired — run the complete_command it returns rather than re-running the correction.
palinode_correction_dismissDismiss a Correction CandidateRecord that a correction candidate was reviewed and declined. Writes no memory: the queue row is marked dismissed with its reason and kept, which is what stops a later scan re-proposing the same span.
palinode_correction_previewPreview a Correctionread-onlyShow what correcting or retiring one memory would change, and change nothing. Returns the old text, the proposed new text, the target's exact revision, the rationale, the correction's source, the scope, the supersedes/superseded_by relation that would be recorded, the records that reference the target (reported, never rewritten) and the recovery command.
palinode_correction_undoUndo a CorrectionPreview (default) or apply the undo of a correction. Restoring a previous assertion, deleting history and undoing an agent's external actions are three different things: the result names all three, does the first, refuses the second and cannot reach the third.
palinode_correctionsCorrection Candidatesread-onlyList correction candidates mined from harness session transcripts — moments a user overturned a decision, rejected an approach with a reason, or asked for something to be remembered. Advisory proposals, never applied; empty unless the store's operator enabled transcript capture.
palinode_dedup_suggestDedup Suggestread-onlyGiven draft memory content the LLM is about to save, return the top-K existing memory files whose embeddings are semantically near it. Use BEFORE writing a new memory to decide 'create new' vs 'update existing'. Each result includes a `strong_dup` flag — when true (similarity ≥ 0.90), the existing file is a near-paraphrase and the LLM should usually update rather than create. Preprocessing strips wikilink syntax and the auto-generated `## See also` footer so notes linking the same entities don't false-positive as duplicates.
palinode_dependsDependency Treeread-onlyReturn the dependency tree for a milestone or task slug, or list all unblocked (ready-to-start) items.
palinode_diffRecent Changesread-onlyShow what memories changed recently.
palinode_doctorDoctor (fast)read-onlyFast palinode health check (<500ms). Skips network probes and canary writes. Checks path integrity, config consistency, and env-var drift. Use this first; call palinode_doctor_deep when results are unclear.
palinode_doctor_deepDoctor (deep)read-onlyFull palinode health check including network probes and canary write tests. Takes 10-15s. Use when palinode_doctor reports unclear results or you need to verify the API, watcher, and service connectivity.
Show 24 more tools
palinode_entitiesEntity Graphread-onlyList all known entities, or get memory files referencing a specific entity.
palinode_explainExplain Deliveryread-onlyExplain one delivery of context: given the bundle_id a search receipt returned, show which memories were supplied, the exact revision of each (and whether its source changed since), the resolved scope, the calling surface, each record's disposition and the coverage qualifiers. Fields that were never recorded are reported as unavailable with the reason, never guessed. Supplied context only — no evidence that anyone acted on it is recorded.
palinode_forget_withdrawWithdraw Forget Requestcan change or delete dataTake a forget request back. Given the memory that holds the request ('please forget that I…'), restores every memory it archived, un-strikes every mention it retracted, and archives the request record(s) so they stop acting as the retraction. Each step is its own audited commit; failures are reported per target.
palinode_historyFile Historyread-onlyShow the change history of a memory file. Tracks renames (--follow) and includes diff stats per commit. Use detail='full' for the commit-level evolution view.
palinode_ingestIngest URLIngest a URL into Palinode research. Fetches the page, extracts content, saves as a research reference file.
palinode_lintLint Memoryread-onlyScan memory for health issues: orphaned files, stale active files (>90 days), missing frontmatter fields, and potential contradictions. Returns a report without modifying files.
palinode_listList Memory Filesread-onlyList memory files, optionally filtered by category, core status or frontmatter. Use to browse what memories exist before reading or searching.
palinode_orphan_repairOrphan Repairread-onlyGiven a `[[wikilink]]` whose target file does not exist, return existing memory files semantically near the link target text. Use during wiki-maintenance passes to either propose a redirect (rename the link to point at an existing file) or to create the missing target file with informed context about its semantic neighbours. Accepts either `[[name]]` or bare `name`.
palinode_promptManage PromptsList, read, or activate versioned LLM prompts stored as memory files in the prompts/ directory. Use 'list' to browse available prompts, 'read' to view a specific prompt's content, or 'activate' to set a prompt version as active (deactivates others of the same task).
palinode_pushPush to RemoteSync memory changes to GitHub for backup and cross-machine access.
palinode_readRead Memory Fileread-onlyRead the full contents of a memory file. Use after palinode_list or palinode_search to see the complete content of a specific file.
palinode_resolveResolve Current Stateread-onlyAsk what memory holds RIGHT NOW about a question, or about one record. Returns the assertions that stand (with their evidence and source revisions), what replaced what, conflicts with every side intact, and what is explicitly unknown. Use instead of palinode_search when you want the current answer rather than a list of hits. Read-only; a tight budget can shrink the answer but never turns a conflict into a settled one. Retired records are left out, as in search, unless include_retired=true.
palinode_restoreRestore Archived MemoryBring one archived memory back into default recall — the inverse of `palinode_archive` for every archive path (on-demand, forget request, TTL expiry, consolidation). Flips `status` back to `active`, drops `superseded_by`, records `restored_at` / `restored_from` provenance and a history line, and commits. Does not un-strike retraction markers (use `palinode_unretract`) or re-enable triggers.
palinode_reviewReview Project Memoryread-onlyAdvisory project-memory review. Composes the deterministic health signals (stale files, long-unresolved open questions, open contradictions, orphans, missing descriptions, wiki drift) scoped to a project, and proposes corrective ops (PROPOSE_ARCHIVE/UPDATE/SUPERSEDE). Read-only — proposes, never applies. Omit `project` to review the whole store.
palinode_rollbackRollback Filecan change or delete dataRevert a memory file to a previous version. Safe: creates a new commit preserving the old version in history. Defaults to dry run. A rollback that would undo a retirement (archive/supersede/retraction) is named in the preview and refused unless undo_retirements=true; prefer palinode_restore to bring a retired memory back.
palinode_saveSave MemorySave a memory to Palinode. Use for decisions, insights, person context, or project updates worth remembering across sessions.
palinode_searchSearch Memoryread-onlySearch Palinode memory for relevant past context, decisions, people, projects, or insights.
palinode_session_endEnd SessionCall at the end of a coding or chat session to capture key outcomes to persistent memory. Writes a session summary to today's daily notes and appends status to relevant project files. Provide a brief summary of what was accomplished, decisions made, and any blockers.
palinode_session_initSession Init / Contextread-onlySession-start context: call this FIRST in a new conversation. Returns the resolved project scope with recent session snapshots, core memories, recent decisions, and open action items as a bounded digest.
palinode_statusHealth Statusread-onlyShow Palinode memory stats: file counts, index health, Ollama status.
palinode_topic_coverageTopic Coverageread-onlyGiven a topic phrase (not a file), check whether any wiki page already covers it. Returns {covered: bool, best_match: str | null, similarity: float}. Use BEFORE ingesting new content to ask 'is this already covered?'. Different framing from palinode_dedup_suggest: takes a short topic phrase rather than full draft content, and answers the binary 'already covered?' question.
palinode_traceTrace / Lineageread-onlyCompose the full provenance lineage of a memory file into one view: source citations, when it was first saved and last changed, the supersession trail, typed contradiction/evidence links, and how often it has been recalled. Rows whose provenance is not yet captured render an honest placeholder. Read-only.
palinode_triggerManage TriggersRegister or manage a prospective trigger for Palinode. When a future user message semantically matches the description, the specified memory file will be automatically injected.
palinode_unretractUnretract MentionsWithdraw one preference's mention-level retraction from one memory: un-strikes every `~~…~~ [RETRACTED …]` span the pref produced and removes the pref from the file's `retracted_prefs` record, so a later forget request for the same pref can strike again. Pass the pref phrase as recorded in the file's history sibling. The file's `status` is never changed.
Signals
- Stars
- 46
- Forks
- 50
- Open issues
- 9
- Contributors
- 40
- Weekly downloads
- 151
- Last commit
- Oct 20, 2026 (8 days ago)
- Last release
- Oct 14, 2026 (15 days ago)
- Last package publish
- Oct 14, 2026 (15 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.phasespace-labs/palinode- Version
- 0.23.0
- Auth
- API key
- License
- MIT
- Repository
- github.com/phasespace-labs/palinode
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
Palinode MCP server. Agent Mart. https://agentmart.dev/connectors/phasespace-labs-palinode (last updated 2026-10-24)