Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.3ngram.ai/llms.txt

Use this file to discover all available pages before exploring further.

3ngram’s MCP server provides 45 registered tools, 12 prompt templates, and 19 resources for AI assistants to interact with the knowledge base.
Surface refactor: Most read-only “list” tools are now MCP resources (engram:// URIs). Several legacy tool wrappers (recall, search_memories, search_content, get_memory, get_decision_lineage, commitments, blockers, overdue, stale_commitments, suggested_context, status, list_preferences, list_pending_actions, compile_context, triage_stale, suggest_reclassifications, reclassify_memory, batch_reclassify_memories, archive_memories) were removed from the registry in the v0.6.14, v0.7.7, and search-consolidation refactors. They no longer appear in tools/list. Use search, resources, or the active replacement listed in the table below.

Active tool catalog

The full per-family reference is generated from the backend source — see All Tools. The table below summarises the active surface in one place.
ToolPurposeR/WNotes
rememberPersist a structured memory with type, scope, project, due dateWrite
resolveMark a memory as resolved with optional noteWrite
unresolveReopen a resolved memoryWrite
searchCanonical search across memories + content chunks; memory_ids=[…] short-circuits to direct lookupReadReplaces search_memories, search_content, get_memory
reindexRe-index markdown content into content chunksWrite
get_indexed_fileRead a single indexed file by pathRead
update_memoriesBulk-update memory type and/or status (replaces legacy reclassify_memory + batch_reclassify_memories + archive_memories)Write
set_memory_sharingShare, deny, allow, or revoke paired-user memory accessWriteReplaces share_memory, revoke_memory_share, set_memory_scope_share, set_memory_scope_denial
get_memory_sharingInspect memory share state for one memory, one scope, or the callerReadReplaces list_memory_shares, get_memory_share_state
list_plansList plans owned by or shared with the callerRead
get_planFetch a plan with its items, modules, and sharesRead
configure_scopeAssign a project to a scope (work/personal)Write
reapply_scope_mappingsReapply scope mappings to existing memoriesWrite
briefingGenerate session briefing (commitments, blockers, overdue, stale, recent decisions)Read
handoffExport active commitments, blockers, recent decisions, and selected memory types as JSON for provider switchingRead
sync_sourceTrigger re-sync for a connected content sourceWrite
list_sourcesList indexed content sources with chunk countsRead
get_factsLook up entity-bound facts (single fact when attribute is set, otherwise the active list)ReadReplaces get_fact + list_facts
merge_entitiesMerge duplicate entities into a canonical oneWrite
describe_environmentServer environment + tool surface metadataRead
create_docCreate a new Google Doc with optional initial contentWrite
export_docExport a Google Doc as plain text by document IDRead
propose_actionPropose an external action for user approvalWrite
set_preferenceSet a user preference key-value pairWrite
create_promptCreate a custom prompt templateWrite
update_promptUpdate an existing custom promptWrite
delete_promptDelete a custom promptWrite
get_promptRead full details of a custom promptRead
list_promptsList custom promptsRead
create_scheduleCreate a cron-based agent scheduleWrite
update_scheduleUpdate an existing scheduleWrite
delete_scheduleDelete a scheduleWrite
get_schedule_historyQuery past schedule runsRead
create_triggerCreate an event-based triggerWrite
update_triggerUpdate an existing triggerWrite
delete_triggerDelete a triggerWrite
get_trigger_historyQuery trigger evaluationsRead
list_templatesList available agent templates, optionally filtered by categoryRead
install_templateInstall a curated agent template (bundles prompts, triggers, schedules)Write
uninstall_templateRemove an installed agent template and its resourcesWrite

MCP resources

Resources are read-only data exposed via engram:// URIs. Clients that support MCP resources can read these directly instead of calling tools.
Resource URIPurpose
engram://statusIndex statistics and memory breakdown
engram://sourcesConnected content sources
engram://preferencesAll active user preferences
engram://schedulesAll agent schedules
engram://triggersAll agent triggers
engram://promptsAll custom prompt templates
engram://pool-statsMCP connection pool diagnostics
engram://actions/pendingPending agent actions
engram://commitmentsOpen commitments
engram://blockersOpen blockers
engram://overdueOverdue commitments
engram://staleStale commitments
engram://suggested-contextRecently active and revisit-worthy context
engram://plansPlans owned by or shared with the current user
engram://memories/{memory_id}Full content of a single memory
engram://preferences/{key}A single preference by key
engram://plans/{plan_id}Full detail for a single plan
engram://schedules/{name}/historyPast runs for a schedule
engram://triggers/{name}/historyEvaluation history for a trigger

Key parameters

remember

ParameterTypeRequiredDescription
topicstringYesShort identifier for the memory
contentstringYesFull memory content
memory_typestringNodecision, commitment, blocker, preference, pattern, note, event, fact
projectstringNoProject tag
scopestringNowork or personal
due_datestringNoISO date for commitments
statusstringNoopen, waiting, scheduled
ParameterTypeRequiredDescription
querystringYesSearch query (ignored when memory_ids is set)
source_typestringNoall (default), memory, or content
memory_idsarrayNoDirect visible-id lookup (absorbs the prior standalone get_memory by-id tool, no longer registered)
limitintegerNoMax results after merge (default 10)
memory_typestringNoFilter the memory leg by type
projectstringNoFilter the memory leg by project
scopestringNoFilter by scope (work / personal)
sourcestringNoMemory-leg source filter (manual, hook, auto)

resolve

ParameterTypeRequiredDescription
memory_idintegerYesMemory to resolve
resolutionstringNoWhat happened

Output format

Most MCP tools return both:
  • A human-readable text fallback (content block) optimised for LLM consumption.
  • A structuredContent payload matching a published JSON schema (see backend/src/engram/models/mcp_responses.py) for clients that prefer structured output (MCP 2025-11-25 SEP-1613).
briefing, search, list_sources, describe_environment, and list_prompts are the leading examples — every new tool should publish a schema. Direct callers (CLI, HTTP bridge) keep the text format; MCP clients with output-schema support read structuredContent directly. Example briefing text fallback:
Open Commitments (3):
  [122] Implement memory consolidation UI (5 days) [project: engram]
  [125] Write integration tests for OAuth flow (3 days) [project: engram]
  [131] Review Cursor MCP configuration (1 day) [project: my-project]

Progressive disclosure

Use search(query=…, source_type="memory") to scan, then read the full content of specific memories via the engram://memories/{memory_id} resource. This keeps token usage low when browsing large memory sets.

Auto-consolidation

When remember finds a sufficiently similar existing memory, it merges instead of creating a duplicate. Consolidation uses advisory locks to prevent race conditions.