Built on palace-rs · Self-hosted · MIT core

Your AI agent forgets
everything. Give it a memory.

Palace is persistent, searchable memory for your coding agents — Cursor, Claude Code, Codex. Free and local for you. Shared across your whole team when you're ready.

Works withCursorClaude CodeCodexMCP
agent session · your-repo
youWhy did we choose Postgres over MongoDB?
agentI don't have any record of that decision. Could you re-explain the context?
context lost when the last session ended

A memory layer for your AI coding agents

Palace remembers your decisions, conventions, and fixes — then feeds them back to your agent (and your teammates' agents) over MCP. No more re-explaining your project every single session.

Without Palace
  • You re-explain the same architecture, conventions, and decisions every session.
  • Last week's fix is invisible — your agent starts from zero again today.
  • On a team, knowledge never crosses from one developer's agent to another.
With Palace
  • Your agent recalls past decisions, fixes, and conventions automatically.
  • Answers come back with provenance — the exact source it remembered.
  • Turn it on for the team and memory flows between everyone's agents.

Your agent is brilliant —
and completely amnesiac

AI agents are only as good as their memory. Today that memory evaporates the moment a session ends — and it never crosses from one developer to the next.

🔁

Every session starts from zero

Decisions, fixes, conventions — re-explained to your agent every single session. Wasted tokens, broken flow, the same answers typed again and again.

🧩

Switch tools, lose everything

Move from Cursor to Claude Code to Codex and context doesn't follow. Each agent starts blind — no project history, no preferences, no past work.

🏝️

Knowledge never crosses the team

Alice solved that database migration last week. Bob hits the same wall today. Neither agent knows — the fix lived and died on one laptop.

🌩️

Cloud memory is a non-starter

Shipping your codebase decisions and architecture context to a third-party cloud isn't an option for most teams. You need recall that stays on your infra.

One install for you.
One server for the team.

Start free and solo in two minutes. Flip on shared memory for the whole team whenever you're ready — same tools, same agents.

For you · free

Solo developer

01

Install palace-rs

One command adds the open-source memory engine and wires it into Cursor, Claude Code, or Codex over MCP.

02

Your agent starts remembering

Decisions, fixes, and conventions are stored locally and recalled automatically — across every future session. Free, forever, on your machine.

Start free on GitHub
Team architecture
your infrastructure
palace-server:8080

storage
postgres+ pgvector
embeddingsall-MiniLM-L6-v2

developers (seats)
alice → CursorMCP
bob → Claude CodeMCP
carol → CodexMCP

license
offline-capableno phone-home

Everything a team needs.
Nothing it doesn't.

Recall that just works
🏛️

Shared workspace memory

A first-class wings registry organizes drawers into workspaces — backend, frontend, data, infra. Wings auto-register the moment an agent writes a memory, so every workspace inherits its context automatically.

wings · rooms · drawers
🧭

Project-aware agents

Agents detect whether the current repo is a known project or topic and act on it — palace_project_status reports the state, palace_create_wing declares a topic wing, and palace_list_wings returns the full registry.

project_status · create_wing
🔍

Hybrid semantic search

The same BM25 + cosine retrieval from palace-rs, now over your whole team's collective memory, with source-grounded provenance on every hit. R@5 = 0.981 on LongMemEval.

recall@5 = 0.981
Shared across your team
🕸️

Shared knowledge graph

Temporal entity relationships across all teammates. Facts written by one agent are queryable by all — architecture decisions, API contracts, team conventions.

KG · temporal · facts
📖

Team diaries

Session diary entries in AAAK format — private by default, optionally shared. Any agent can warm-start from the last person's session context.

AAAK · warm-start
🔐

Workspace permissions

Fine-grained read/write permissions per workspace per user, backed by Postgres row-level security and admin RBAC. Contractors see what they need; sensitive projects stay scoped.

RBAC · RLS · seats
📊

Usage tracking + audit

Every MCP tool call is recorded as a usage event, and every memory write lands in a tenant-scoped audit log. Gain reports and Prometheus metrics show adoption across the team.

palace_gain · /metrics
Runs anywhere. Trusts no one.
📡

MCP server — drop-in

Exposes all palace_* MCP tools over the network. Any MCP-compatible agent — Cursor, Claude Code, Codex — connects with zero configuration change.

MCP · stdio · http
🦀

Built in Rust

Single binary, low memory, fast startup. Runs comfortably on a small VM or a Raspberry Pi. No JVM, no Node, no Python runtime needed.

~10 MB binary
🔒

Air-gap friendly

Embeddings run locally via ONNX. License verification is offline-capable. No data ever leaves your network — full air-gap mode supported.

no cloud dependency

Real recall. Open core. Zero lock-in.

0.000
Recall@5 on LongMemEval
0
coding agents supported
~0 MB
single Rust binary
0%
on your own infrastructure
Works withCursorClaude CodeCodexClaude Desktopany MCP agent

Built on open-source palace-rs

The Rust memory engine at the core is MIT-licensed and free forever. Embeddings run locally via ONNX — no telemetry, no outbound traffic, air-gap friendly by default.

Star palace-rs on GitHub

Free for you.
Flat-priced for the team.

Start free and solo with the open-source core — forever. When your team needs shared memory, pick a flat tier: seats included, no per-seat billing, no cloud dependency.

Free trialWant to evaluate Palace Server with your team first? Get a no-commitment trial license for any paid plan — set up within one business day.
Start a free trial →
Start here
Free / Open Core
For every solo developer. Local memory for your own agents.
€0
1 developer · unlimited projects

  • MIT open core — free forever
  • Persistent local memory across sessions
  • Works with Cursor, Claude Code & Codex over MCP
  • Runs fully on your machine — no cloud, no telemetry
Start free on GitHub
Growth
For growing teams.
€3,490 / year
€349 / month · up to 30 users

  • Up to 30 developer seats (enforced by license)
  • Everything in Team
  • Flat price — seats included, no per-seat billing
  • Self-serve checkout and billing portal
Enterprise
For larger companies, regulated environments, and custom rollouts.
Custom
from €8,000+/year · custom monthly

  • Custom seat counts beyond 30
  • Everything in Growth
  • SLA and priority support
  • Custom contract terms
  • Custom quotes
Contact sales

Your infra.
Your rules.

Palace Server is distributed as a Docker image and a static binary. No cloud lock-in, no telemetry, no surprise egress fees.

  • Single binary + Postgres — bring your own database or use the Docker Compose starter kit
  • Public Docker image & starter-kit zip included
  • Runs on Linux, macOS, ARM64
  • Data persists in PostgreSQL (pgvector) — standard backups work
  • Config via env vars — 12-factor friendly, migrations run automatically on startup
  • License key is issued here and configured on your Palace Server
# easiest: grab the starter kit (compose + .env template)
curl -fsSLO https://github.com/AncientiCe/public-server-dist/releases/latest/download/palace-server-starter-kit.zip
unzip palace-server-starter-kit.zip && cd starter-kit
 
# paste your license key into .env, then:
cp .env.example .env && $EDITOR .env
docker compose up -d
 
✓ palace-server + postgres ready on :8080

License key invalid or expired

Confirm PALACE_LICENSE_KEY is set with no surrounding quotes or whitespace. Keys are Ed25519-signed and verified on startup; an "expired" error means the embedded expiry has passed — check your subscription status in the billing portal, which re-issues a fresh key.

Database connection fails

Verify DATABASE_URL points at a reachable Postgres with the pgvector extension available. Use only ASCII characters in the password (the URL is parsed as UTF-8), and make sure the database accepts connections from the server's host.

Port 8080 already in use

Another process is bound to :8080. Stop it, or override the bind address via env (for the binary) / remap the published port in your docker-compose.yml.

Migrations on startup

Migrations run automatically and are forward-only (IF NOT EXISTS). If startup fails mid-migration, check that the database user owns the schema and has permission to create tables and extensions.

ARM / Apple Silicon

The Docker image and binary support Linux, macOS, and ARM64. On Apple Silicon, ensure Docker pulls the matching architecture and that your Postgres image is also ARM-compatible.

Still stuck? Reach us through the contact form.

Palace-rs — free & open source forever

The Rust crate at the core of Palace Server is MIT-licensed and always will be. Use it freely in your own projects. Palace Server is the commercial layer on top.

Common questions

Can I use Palace for free, as a solo developer?+
Yes. palace-rs — the open-source core — is MIT-licensed and free forever. Install it, point Cursor, Claude Code, or Codex at it over MCP, and your agent gets persistent local memory across sessions. No account, no cloud, no payment. Palace Server (paid) is only needed when you want to share that memory across a team.
Do I need a whole team to benefit?+
No. Solo, the win is immediate: your agent stops forgetting your decisions, conventions, and fixes every session. Teams add a second win — shared recall, so one developer's solved problem becomes every developer's answer.
How is Palace Server different from palace-rs?+
palace-rs is a local-first crate for individual developers — memory lives on your machine. Palace Server adds a shared layer: one deployment your whole team connects to, so memory and context flow between teammates. It's built on palace-rs internally.
Does any data leave our network?+
No. Palace Server runs entirely on your infrastructure. Embeddings are computed locally with ONNX Runtime. The license is verified cryptographically on your server — fully offline by default, with an optional online revalidation you can enable to roll the expiry forward automatically. There is no telemetry, no logging to external services, and no outbound traffic required.
Which AI coding tools does it support?+
Any tool that supports MCP (Model Context Protocol). That includes Cursor, Claude Code, Codex, and Claude Desktop. The server exposes all palace_* MCP tools over the network — developers point their local MCP config at the server and nothing else needs to change.
How does licensing work offline / air-gapped?+
Licenses are Ed25519-signed key strings verified locally — no network connection required after you set PALACE_LICENSE_KEY. The signed payload contains your seat count and expiry date and is verified cryptographically on every server start.
Can I run multiple Palace Server instances?+
Licensing is based on developer seats, not process counts. You can design your self-hosted deployment around your infrastructure needs; for separate environments, high availability, or larger rollouts, contact us so the subscription and support scope match the setup.
What happens if I cancel my subscription?+
The server continues running until the license expiry date embedded in the key. You can export all drawers and knowledge graph entries as standard JSON at any time. No lock-in.

Give your agent a
memory today

Free and local in two minutes. Shared across your whole team in ten. No cloud, no lock-in.