Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Cursor setup

Use Castellan in Cursor via MCP (castellan mcp). ACP is available for experiments but MCP is the primary editor path.

Install

git clone https://github.com/Alphabetsoup16/Castellan.git && cd Castellan
./install.sh
export PATH="$PWD/target/release:$PATH"

Wire MCP in Cursor

Add a server entry to Cursor MCP config (Settings → MCP, or ~/.cursor/mcp.json):

{
  "mcpServers": {
    "castellan": {
      "command": "/path/to/Castellan/target/release/castellan",
      "args": ["mcp"]
    }
  }
}

Set command to your built target/release/castellan path. Restart Cursor.

Discovery flow: castellan_search_toolscastellan_describe_tool → invoke. Full catalog: MCP tools.

First smoke

castellan run --goal "reach target" --plugin gridworld
castellan run --goal "reach target" --plugin gridworld --json
castellan mcp

MCP vs ACP

PathCursor use
castellan mcpPrimary — tool discovery, substrate read/write
castellan acpExperimental — in-process prompt bridge only

Skills and memory

Skills: .castellan/skills/ and ~/.cursor/skills/ are both scanned on castellan run.

Memory is the substrate (blackboard, field, episodes) — see Memory architecture. Vector RAG is deferred. Maintainer SQL schema and trait detail: MEMORY_ARCHITECTURE.md.

Agent onboarding

For paste-into-agent context: Agent guide.