palinode
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PALINODE_DIR | No | Path to the memory directory (default ~/.palinode) | ~/.palinode |
| PALINODE_API_TOKEN | No | API token for authentication when the API is exposed beyond loopback |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| palinode_session_initA | Session-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_listA | List memory files, optionally filtered by category or core status. Use to browse what memories exist before reading or searching. |
| palinode_readA | Read the full contents of a memory file. Use after palinode_list or palinode_search to see the complete content of a specific file. |
| palinode_searchA | Search Palinode memory for relevant context about people, projects, decisions, insights, or research. Returns the most relevant memory file excerpts ranked by semantic similarity. |
| palinode_saveA | Save a memory to Palinode. Use for important facts, decisions, insights, or project updates worth remembering across sessions. Provide either |
| palinode_ingestA | Fetch a URL and save it as a research reference in Palinode memory. |
| palinode_statusA | Check Palinode health: API reachability, index stats, last watcher run. |
| palinode_historyA | Show 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 (previously palinode_timeline). |
| palinode_timelineA | Deprecated: use palinode_history with detail='full' instead. Shows commit-level evolution of a memory file including unified diffs per commit. |
| palinode_entitiesA | List all known entities, or get memory files referencing a specific entity. |
| palinode_consolidateB | Run a manual knowledge consolidation pass. Set |
| palinode_archive_expiredA | Archive ephemeral memories whose |
| palinode_archiveA | Retire one specific memory that is wrong or obsolete. Sets |
| palinode_diffA | Show what memories changed recently. Use to review what was learned, decisions made, or facts updated in the last N days. |
| palinode_blameA | Trace a fact back to when it was first recorded. Shows which session or commit created each line in a memory file. |
| palinode_traceA | Compose 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_rollbackA | Revert a memory file to a previous version. Safe: creates a new commit preserving the old version in history. Defaults to dry run. |
| palinode_pushA | Sync memory changes to GitHub for backup and cross-machine access. |
| palinode_triggerA | Register 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_session_endA | Call 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_lintA | Scan memory for health issues: orphaned files, stale active files (>90 days), missing frontmatter fields, and potential contradictions. Returns a report without modifying files. |
| palinode_reviewA | Advisory 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 |
| palinode_dedup_suggestA | Given 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 |
| palinode_orphan_repairA | Given a |
| palinode_cluster_neighborsA | Given 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 |
| palinode_topic_coverageA | Given 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_doctorA | Fast 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_deepA | Full 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. |
| palinode_promptA | List, 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_dependsA | Return the dependency tree for a milestone or task slug, or list all unblocked items. Reads depends_on / blocks / parallel_with frontmatter from ProjectSnapshot files. Set unblocked=true to answer 'what can I work on right now?' across all slugs. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/phasespace-labs/palinode'
If you have feedback or need assistance with the MCP directory API, please join our Discord server