TMF (True Memory Fragments)
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tmf_contextB | Investigating a codebase: start here; usually cheaper than grep plus whole-file reading. Return one deterministic thin context bundle with anchors and key fresh graph relations. Partial coverage; fresh != correct; source is authoritative; stale should degrade to source. |
| tmf_fragmentA | Explore indexed code relationships around a known claim before a cross-file change. Get entry from tmf_context or tmf_retrieve; it is a claim ID, not a path or symbol name. Returns verified_hops, boundaries, gaps, stale_or_unknown, stop_reason and coverage. Start with relations=["calls"], hop_limit=1, boundary_types=["function"], semantic_boundaries=false. Inspect gaps and stop_reason before expanding: missing or stale entries return no verified hops; unsupported relations or invalid bounds raise an error. Re-read source for stale/unknown evidence and use tmf_stale_slice for a stale claim. This does not return a complete dependency graph, modify source, or refresh source-derived claims. For full claim details use tmf_explain(full=true). Source is authoritative; fresh does not mean correct. |
| tmf_stale_sliceA | Plan which current source to re-read after a stored claim becomes stale, for example after a merge. Use a claim_id previously returned by tmf_context, tmf_retrieve or tmf_explain; do not invent IDs. Returns claim_fresh, per-binding stale status, required_reads with source anchors, retained_fresh_bindings, optional_fresh_neighbors, side_effect_checks and a stop_rule. Read the suggested current source and resolve applicable side-effect checks before editing; retain matching bindings rather than re-reading the whole repository. Reading suggestions are bounded heuristics, not proof of complete dependency coverage. An unknown claim ID raises an error; rediscover the target with tmf_retrieve. This plans reads only: it does not perform edits, refresh the index, or guarantee freshness at a later write. Source is authoritative; fresh does not mean correct. |
| tmf_retrieveA | Investigating a codebase: start here; usually cheaper than grep plus whole-file reading. Retrieve thin TMF claims for a lexical query. Partial coverage; fresh != correct; source is authoritative; stale should degrade to source. |
| tmf_explainB | Explain one claim; full=true includes thick body/source-bound details. Partial coverage; fresh != correct; source is authoritative; stale should degrade to source. |
| tmf_callersA | List known callers by claim_id or by qualname plus optional path; ambiguous names return candidates, never a guess. Partial coverage; fresh != correct; source is authoritative; stale should degrade to source. |
| tmf_readersA | List known readers by declaration claim_id or qualname plus optional path; ambiguous names return candidates. Partial coverage; fresh != correct; source is authoritative; stale should degrade to source. |
| tmf_writersB | List known writers by declaration claim_id or qualname plus optional path; ambiguous names return candidates. Partial coverage; fresh != correct; source is authoritative; stale should degrade to source. |
| tmf_subtypesB | List known Java subtype/implementor edges by type claim_id or qualname plus optional path; ambiguous names return candidates. Partial coverage; fresh != correct; source is authoritative; stale should degrade to source. |
| tmf_warmB | Read-only source derivation into .tmf cache; optional path is containment-checked. Partial coverage; fresh != correct; source is authoritative; stale should degrade to source. |
| tmf_statusB | Report claim/freshness/cache status. Partial coverage; fresh != correct; source is authoritative; stale should degrade to source. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Most tools have distinct roles (entry, explain, traversal, relation-specific queries, lifecycle management). However, tmf_context and tmf_retrieve both advertise themselves as the place to "start here" for codebase investigation, and tmf_fragment overlaps conceptually with tmf_callers/readers/writers/subtypes. Descriptions help distinguish them, but some misselection risk remains.
All 11 tools consistently use the tmf_ prefix with snake_case, making the set easy to scan and predict. The suffixes mix nouns and verbs (e.g. context, retrieve, explain, warm, status), so it is not a strict verb_noun pattern, but conventions are otherwise stable.
11 tools is well within the typical 3-15 range and appropriate for a code-memory/index server. Each tool covers a distinct facet: entry/retrieval, explanation, graph traversal, relation-specific queries, and freshness/cache lifecycle.
The tool surface covers core memory-fragment workflows: context/retrieve, explain, relationship exploration, caller/reader/writer/subtype queries, cache warming, status, and stale-read planning. Minor gaps exist, such as a global claim listing/search or explicit cache invalidation, but agents can work around them with existing tools.