Skip to main content
Glama
PlainTxtOffice

Plain Text Memory MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MEMORY_AGENTNoOverride the agent name used to tag entries.
MEMORY_FILE_PATHNoPath to the memory file. A relative path resolves against the folder the agent starts the server in. If unset, defaults to `<git root>/.agents/memory.local.jsonl`, or `<start folder>/.agents/memory.local.jsonl` outside a git repo.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_entitiesA

Create new entities, each with a type and observations.

Returns the entities created. A name that already exists, or repeats within the call, is not saved and is listed under "skipped", with its observations unsaved; to add facts to an existing entity, see add_observations.

create_relationsA

Create directed, typed relations between existing entities.

Returns the relations created. A relation that names an entity that does not exist is not saved; it is listed under "skipped" with the missing names. A relation that already exists is neither created nor reported.

add_observationsA

Add observations to existing entities.

Returns the observations added, per entity; a text already on the entity is skipped. Fails without saving anything if any named entity does not exist. To create an entity, see create_entities.

edit_observationA

Replace one observation's text in place.

Keeps the observation's original added_at and agent, and records the edit in edited_at and edited_by. Returns the edited observation. Fails without saving when the entity or old text does not exist, or when the entity already has the new text. To add a new fact, see add_observations.

rename_entityA

Rename an entity and every relation that names it.

Keeps every tag, so the entity and its observations still show when and by which agent they were added. Returns the renamed entity and a message counting the relations updated. Fails without saving when the entity does not exist or the new name is taken; to combine two entities, see merge_entities.

merge_entitiesA

Fold one entity into another and delete the first.

Moves the source's observations to the target with their original tags; a text the target already has keeps the target's copy. Points the source's relations at the target, dropping any that would repeat an existing relation or point the target at itself. The target keeps its own name and type. Returns the merged target and the relations moved to it. Fails without saving when either entity does not exist.

delete_entitiesA

Delete entities by name, with every relation that touches them.

Returns the deleted entities and relations in full, with a summary message. Names that do not exist are ignored. To remove single facts from an entity, see delete_observations.

delete_observationsA

Delete observations from entities, matched by exact text.

Returns the deleted observations in full, per entity, with a summary message; entities that lost nothing are left out. Entities and texts that do not exist are ignored. To delete a whole entity, see delete_entities.

delete_relationsA

Delete relations matched by source, target, and relation type.

Returns the deleted relations in full, with a summary message. Relations that do not exist are ignored. Deleting an entity with delete_entities already removes its relations.

read_graphA

Read every entity and relation, or only those in a date range.

Returns the whole graph, which grows with the repo's memory. With since, before, or agent, returns only entries whose tags match: an entity appears when it or any of its observations matches, with only the matching observations. Any filter leaves out untagged entries. To read part of the graph by topic, see search_nodes and open_nodes.

search_nodesA

Search entities by name, type, or observation text.

The query is split into words, and a "quoted phrase" stays one term. Returns the entities whose name, type, or any observation contains at least one term, ignoring case, ordered by how many terms they contain, plus every relation that touches them; a relation's other end may be outside the results. A blank query returns every entity. Since, before, and agent narrow the search to matching entries, as in read_graph. To fetch entities by exact name, see open_nodes.

open_nodesA

Open entities by exact name.

Returns the named entities and every relation that touches them; a relation's other end may be outside the results. Names that do not exist are ignored. To find entities by keyword, see search_nodes.

initialize_memoryA

Claim the memory file for this repo, or start a new one.

Resolves the error other tools return when the memory file's header names a different repo. 'fresh' renames the old file to a timestamped backup and starts an empty graph, for a file copied from another repo; 'adopt' rewrites the header to this repo, for a repo that was moved or renamed. Returns the status, the header, and the backup path if one was made. Changes nothing when the file already belongs to this repo.

export_taxonomyA

Write this repo's memory taxonomy to a JSONC file the user can read.

The file sits beside the memory file as memory.local.taxonomy.jsonc. It holds the server's versioned schema (record types, tools, allowed values, resources, prompts) and this repo's usage: entry counts, entity and relation types in use, and entries per agent. Comments explain each section and the purpose of each record type. Returns the file path, the taxonomy version, and entry counts.

Prompts

Interactive templates invoked by user choice

NameDescription
cleanupReview the memory graph and propose deletions and merges; nothing is deleted until approved.
exportWrite this repo's taxonomy and usage counts to .agents/ and report them.

Resources

Contextual data attached and managed by the client

NameDescription
taxonomyThe server's versioned schema: record types and their fields, tools with their parameters and results, allowed enum values, resources, prompts, and the changelog. To write it to the repo with this repo's usage counts, see the export_taxonomy tool.

TDQS

A4.4/5.0

Scored across 14 tools

Disambiguation5/5

Every tool has a clearly distinct purpose, and descriptions explicitly cross-reference related tools (e.g., 'to add facts to an existing entity, see add_observations') to prevent misuse. Boundary cases like edit_observation vs. add_observations vs. merge_entities are well delineated.

Naming Consistency5/5

Tool names follow a strict verb_noun pattern throughout (create_entities, add_observations, edit_observation, rename_entity, merge_entities, delete_entities, read_graph, search_nodes, open_nodes, etc.). The single exception, initialize_memory, is still verb_noun and clearly consistent with the rest.

Tool Count5/5

With 14 tools covering entity CRUD, relation CRUD, observation CRUD, querying, merging, renaming, initialization, and export, the count is well-scoped. Each tool earns its place; no redundant or trivially thin operations.

Completeness5/5

The surface covers full lifecycle operations for entities, relations, and observations, plus graph-level read/search, taxonomy export, and memory file initialization. No obvious dead ends; the domain of a plain-text knowledge graph is fully served.

Maintenance

ActivityMaintained
ResponsivenessNo issues