Skip to main content
The 3ngram MCP server registers 10 tools (hard ceiling: 12). Every tool validates against the schemas below; scope floors are enforced per call.

remember

Append a new memory (decision, fact, preference, blocker, commitment, …). Never merges; append-only. To surface a commitment or blocker in a PROJECT-scoped briefing, pass project — a memory written with a NULL project never matches a project filter (issue #244). Title: Remember · Required scope: memory:write

Input schema

Output schema

Unified semantic + keyword retrieval over your memories, supersession-aware. Accepts a query and an optional result limit, plus five optional filters that narrow the candidate set BEFORE fusion (no change to ranking weights): memoryType, scope, project, status, and asOf (bi-temporal time travel with validAt/asKnownAt). Omit a filter to leave that axis unconstrained. Title: Search · Required scope: memory:read

Input schema

Output schema

get_facts

Currently-valid facts for a subject, with optional bi-temporal time travel. List mode (no subject) returns the most recent facts, bounded by an optional limit (default 50, max 200). Title: Get Facts · Required scope: memory:read

Input schema

Output schema

revise

Supersede an existing memory with a corrected successor, linked by a typed edge (supersedes or updates). Never edits in place; append-and-supersede. Title: Revise · Required scope: memory:write

Input schema

Output schema

resolve

Settle a memory by its id. A commitment transitions to a target status (open, waiting, resolved, expired) — serves resolve and unresolve (resolved -> open); illegal transitions are rejected. A blocker is archived (status active -> archived) and leaves the active-blocker briefing; the passed status is ignored for blockers and the result reports archived. Commitments AND blockers must be written WITH a project to be resolvable from a project-scoped briefing. Title: Resolve · Required scope: memory:write

Input schema

Output schema

briefing

Structured session orientation: open/overdue commitments, blockers, stale candidates, recent decisions, preferences. Requires an explicit selector (scope, project, or all) — no unfiltered default. A PROJECT selector only matches commitments/blockers written WITH that project; a NULL-project memory never appears in a project briefing (issue #244). Active blockers leave this set when resolved (resolve archives the blocker memory). brief mode (default) returns counts plus top items; full returns the bounded lists. Title: Briefing · Required scope: memory:read

Input schema

Output schema

handoff

Export structured context (decisions, open commitments, preferences — with content) for another agent or provider to pick up the thread. Requires an explicit selector (scope, project, or all); the payload is bounded. Title: Handoff · Required scope: memory:read

Input schema

Output schema

configure_scope

Manage your memory scopes: list, create, rename, set aliases, or delete (registry only — existing memories keep their scope). Mutating actions require the write scope. Title: Configure Scope · Required scope: memory:read or memory:write

Input schema

Output schema

describe_environment

Report server capabilities (tool names, count, version), your registered scopes, and bounded memory/commitment counts. Exposes no secrets or configuration values. Title: Describe Environment · Required scope: memory:read

Input schema

Output schema

review_proposals

List consolidation proposals (optionally by status), reject one, or accept one (materializes the proposed edge; a supersedes/updates edge also closes the predecessor). Reject and accept require the write scope. Title: Review Proposals · Required scope: memory:read or memory:write

Input schema

Output schema