Skip to main content
Glama

Project Memory

project_memory

Manage durable project knowledge across MCP sessions: create projects, record plans, experiments, decisions, and corrections, then search, rebuild, export, or reverse changes in a shared knowledge base.

Instructions

PROJECT MEMORY MANAGEMENT. With research enabled, one local broker lets multiple MCP sessions query the same knowledge base concurrently and orders writes safely. Use create to create a project; show to inspect known projects or durable records; record to store session intent, immutable plan revisions, experiments, decisions, versioned ontology terms, or corrections; rebuild to index approved local roots; export to write graph or lineage views; and forget for reversible deletion. show always returns a bounded summary; detail_level=full is accepted for compatibility but never dumps every durable record body. Use project_memory_search for relevant bodies or target_id for one assertion or entity. record returns only a compact receipt and never echoes submitted bodies. action=search remains a compatibility alias, but project_memory_search should be used for local knowledge retrieval. Ontology revisions use supersedes_term_id. Corrections preserve bitemporal data lineage and support assertion replacement plus entity merge or split. rebuild indexes approved local roots and code structure into a reproducible snapshot; export writes an interactive HTML viewer, Graphviz DOT, D3 JSON, or a Neo4j import bundle. HTML always includes PKM, Lineage, and Ontology tabs, an embedded-project selector, empty-canvas focus reset, and visible PNG or JSON download. forget previews impact before reversible project or assertion deletion. Search, search_parallel, scholar_search, and extract automatically capture sources and provenance; project_memory manages their durable structure.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyNoPlan body for record_type=plan.
nameNoProject name for create, or entity name lookup for show.
limitNoMaximum local RAG results for action=search.
queryNoRequired for action=search. Searches stored local knowledge only and does not start live web discovery.
rootsNoApproved local roots to index. Omit to rebuild derived state from stored sources.
titleNoPlan title, experiment name, or decision title.
actionYescreate: project_id and name required. show: inspect a known project, assertion, entity, or durable record. search: compatibility alias for project_memory_search. record: project_id and record_type required. rebuild: project_id required; roots optional. export: project_id, include_project_ids, or all_projects=true required. forget: project_id and forget_mode required; apply also requires confirm_token.
intentNoDurable intent for record_type=session.
reasonNoRequired reason for any correction.
statusNoUse success, failed, or inconclusive to finish an experiment. Omit or use running when starting it.
aliasesNoOntology term aliases, or aliases moved during entity_split.
metricsNoTerminal experiment metrics.
summaryNoExperiment result or decision summary.
versionNoOntology revision number. Defaults to 1 or the superseded term version plus one.
git_rootNoOptional Git root recorded with a rebuild snapshot.
valid_toNoCorrected assertion valid-time end.
artifactsNoExperiment artifact paths or identifiers.
target_idNoAssertion or entity id for show or correction.
hypothesisNoHypothesis when starting an experiment.
project_idNoStable project id. For search, this is the write-isolated primary scope. Omit to list projects or use all_projects.
source_idsNoEntity ids merged into target_id by entity_merge.
valid_fromNoCorrected assertion valid-time start.
export_viewNoInitial HTML tab or non-HTML export scope. graph is PKM; ontology shows types, shared schema, verified identity links, and typed instances; lineage shows aligned data and research lineage.graph
forget_modeNoPreview first. Apply requires its confirm_token. Restore reverses deletion.
record_typeNoRequired for record. session stores intent; plan creates an immutable revision; experiment starts or finishes a run; decision links a conclusion; ontology creates a versioned type or relation; correction replaces an assertion or merges/splits entities.
replacementNoNew assertion value, or new entity name for entity_split.
all_projectsNoSearch or export every active named project. Excludes Inbox and cannot be combined with project ids.
detail_levelNoFor show with project_id and no target_id, both values return a bounded summary. full is retained only for compatibility and never returns every durable record body.summary
evidence_idsNoEvidence retained on a corrected assertion.
change_reasonNoReason for a new plan revision.
confirm_tokenNoToken returned by the matching forget preview.
experiment_idNoExperiment to finish or associate with a decision.
export_formatNoVisualization file format. html writes one offline explorer with PKM, Lineage, Ontology, project selection, and current-view PNG or anonymized JSON download; d3 writes node-link JSON; dot writes Graphviz DOT; neo4j writes an import-ready CSV and Cypher bundle.d3
memory_handleNoExisting project session handle for a session intent revision.
ontology_kindNoOntology term kind for record_type=ontology.
query_variantsNoOptional local retrieval variants for action=search. They run inside one broker request and are fused before one rerank.
correction_kindNoCorrection operation. Defaults to assertion.
plan_revision_idNoPlan revision associated with an experiment or decision.
supersedes_term_idNoPrior ontology term replaced by this revision.
include_project_idsNoAdditional read-only projects for one local search or integrated visualization export.
based_on_experiment_idNoExperiment that motivated a plan revision.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
metaNo
errorNo
indexNo
plansNo
queryNo
entityNo
forgetNo
memoryNo
recordNo
projectNo
resultsNo
sessionNo
entitiesNo
projectsNo
assertionNo
decisionsNo
elapsed_msNo
job_countsNo
plan_countNo
experimentsNo
entity_countNo
memory_handleNo
session_countNo
visualizationNo
decision_countNo
document_countNo
assertion_countNo
correction_countNo
experiment_countNo
search_event_countNo
source_entry_countNo
active_source_snapshotNo
entity_operation_countNo
citation_observation_countNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed4 schema fields changedv1.0.6
    • addedInput schema / properties / detail_level
      Added value: +{
      +  "default": "summary",
      +  "description": "For show with project_id and no target_id, both values return a bounded summary. full is retained only for compatibility and never returns every durable record body.",
      +  "enum": [
      +    "summary",
      +    "full"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / decision_count
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / experiment_count
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / plan_count
      Added value: +{
      +  "type": "number"
      +}
  2. Changed1 schema field changedv1.0.4
    • addedInput schema / properties / query_variants
      Added value: +{
      +  "description": "Optional local retrieval variants for action=search. They run inside one broker request and are fused before one rerank.",
      +  "items": {
      +    "maxLength": 400,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 19,
      +  "type": "array"
      +}
  3. Changed2 schema fields changedv1.0.2
    • addedOutput schema / properties / results / items / properties / source_length
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / results / items / properties / truncated
      Added value: +{
      +  "type": "boolean"
      +}
  4. Addedv1.0.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by disclosing bounded show results, detail_level=full compatibility behavior, compact record receipts that never echo bodies, reversible deletion with preview, bitemporal lineage for corrections, and provenance capture from sibling search tools. This substantially enriches the agent's understanding of side effects and response boundaries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and every sentence contributes, but it is presented as one long paragraph with all-caps opening, which makes parsing harder than needed. A structured bullet list per action would improve scannability without adding length. Still, there is little waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 41 parameters and 7 actions, the description covers action selection, output shapes, compatibility aliases, correction modes, export formats, and the relationship to sibling search tools. Combined with the highly detailed schema and output schema, nothing critical is missing for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to re-explain each parameter. It adds valuable cross-parameter context such as supersedes_term_id for ontology revisions, entity_merge/entity_split semantics, include_project_ids as read-only projects, and action-specific requirements like export needing project_id, include_project_ids, or all_projects. This exceeds the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'PROJECT MEMORY MANAGEMENT' and enumerates concrete verbs and resources: create, show, record, rebuild, export, and forget. It distinguishes itself from sibling project_memory_search by explicitly telling the agent to use project_memory_search for local knowledge retrieval instead of action=search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit per-action instructions: 'Use create to create a project; show to inspect known projects or durable records; record to store...; rebuild to index approved local roots; export to write graph or lineage views; and forget for reversible deletion.' It also clarifies when to prefer project_memory_search over the search alias.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HarimxChoi/google-surf-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server