add_plan_item
Add Plan Item ·writes · non-destructive · non-idempotent · closed-world
Append an item to a plan you own (owner-only).
Returns: str
Source: backend/src/engram/mcp/tools/plans.py
Parameters
UUID of the plan.
memory (requires memory_id), gh_issue (requires gh_issue_url), or freeform.3ngram memory id when
source_kind='memory'.GitHub issue URL when
source_kind='gh_issue'.Display title (recommended for freeform/gh items).
Optional canonical URL for the item source.
Optional upstream status snapshot (e.g.
open).Priority tier —
critical, high, or steady.Item status —
open (default), in_progress, waiting, done, or dropped.Optional markdown notes.
add_plan_module
Add Plan Module ·writes · non-destructive · non-idempotent · closed-world
Append a render module to a plan you own (owner-only).
Returns: str
Source: backend/src/engram/mcp/tools/plans.py
Parameters
UUID of the plan.
Module kind — one of
lede, status_snapshot, flow_diagram, decision_matrix, checklist, acceptance, dependencies, out_of_scope, references.JSON-object string with the module payload (defaults to
{}). The shape is module-specific and rendered by the frontend.create_plan
Create Plan ·writes · non-destructive · non-idempotent · closed-world
Create a new plan artifact owned by the caller (draft by default).
Returns: str
Source: backend/src/engram/mcp/tools/plans.py
Parameters
Plan title (1-200 characters).
Optional horizon label (free text, max 64 chars) — e.g.
today, week, quarter, release.Lifecycle status —
draft (default), active, or archived.get_plan
Get Plan ·read-only · non-destructive · idempotent · closed-world
Fetch a plan plus its items, modules, and shares (owner-only).
Returns: str
Source: backend/src/engram/mcp/tools/plans.py
Parameters
UUID of the plan to load.
list_plans
List Plans ·read-only · non-destructive · idempotent · closed-world
List plans the caller owns and, optionally, plans shared to them.
Returns: str
Source: backend/src/engram/mcp/tools/plans.py
Parameters
Optional filter on plan lifecycle. One of
draft, active, or archived. None returns every status.When
True (default), also include plans another user has shared with the caller. Set False to restrict the result to owner-authored plans.update_plan
Update Plan ·writes · non-destructive · idempotent · closed-world
Update a plan you own (partial, owner-only).
Only the fields you pass are changed. A status transition
(draft / active / archived) is recorded in the audit log.
Returns: str
Source: backend/src/engram/mcp/tools/plans.py
Parameters
UUID of the plan to update.
New title (1-200 characters).
New horizon label (max 64 chars).
New lifecycle status —
draft, active, archived.