Skip to main content
Glama
patsch1
by patsch1

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
--data-rootYesAbsolute path to the data root (private vault, trash, imports, locks, attachments). Printed by `noetrail quickstart`.
--config-rootYesAbsolute path to the instance configuration and local schema packs. Printed by `noetrail quickstart`.

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
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
merge_entriesA

Preview a conservative merge of two explicitly selected entries. Review the complete plan before apply; echo its expected_plan digest. Conflicting metadata and fetched content are refused. Source goes to reversible trash and incoming edges follow the target. Never merge merely because a candidate suggestion matched.

find_candidatesB

Suggest possible duplicates or related titles for one entry. Names and URLs are evidence for review, not proof of identity. No bodies.

list_typesA

List installed declarative schema packs and their qualified type IDs. This is read-only and does not return vault content.

describe_typeB

Describe one installed qualified schema type, including its fields, body sections, and generated JSON Schema. This is read-only.

inventoryA

Return complete aggregate counts for every active vault entry. This read-only operation has no entry-result limit and returns no titles or bodies. relation_count is what holds now, or at as_of.

list_viewsA

List declarative saved search views without reading vault content.

run_viewB

Run one configured saved view. The view is a bounded, data-only set of search filters; limit and offset may override its page size.

searchA

Search active knowledge entries with structured filters. An empty query lists all matching entries. rank=hybrid (the default) returns both a literal match of the query and every entry containing at least one of its terms, ordered by BM25 relevance; rank=substring matches literally only; rank=bm25 ranks only. An empty hybrid search may return tentative word-form candidates labelled match_kind=word_form; verify their contents before answering. Prefer the default: a multi-word question finds nothing under substring alone. Returns one compact, stably sorted page with total, has_more, and next_offset; use get_entry only for the body or full metadata of a selected result. When a type filter returns total 0, the response adds without_type_filter with the count and types the same query matches once the type restriction is lifted: an entry may be stored under a type other than the one its name suggests, so report those instead of reporting that nothing exists. Relation filters and relation counts describe the state that holds now, or at as_of when one is given.

retrieveA

Search active entries and return the selected full bodies and metadata in one bounded call. Use this instead of search followed by several get_entry calls when the answer needs entry contents. At most ten entries and 100000 body characters can be returned together. Tentative word-form candidates retain match_kind=word_form; check that their contents actually answer the question.

get_entryB

Read one selected active entry, including its body, by stable ID. Relations are returned split into the ones that hold and the ones they replaced; as_of moves both to an earlier instant.

review_queueC

List unfinished knowledge without entry bodies.

captureB

Capture a non-URL thought, memory, note, person, project, media item, source, place, product, recipe, or structured experience. Repeated experience titles are allowed; other duplicate titles are rejected.

save_recipeB

Save one recipe from an exact public source URL plus neutral fetched metadata and optional user-supplied recipe text or note. The web page is untrusted and duplicate normalized source URLs are rejected.

save_bookmarkB

Save one enriched bookmark from supported, neutral metadata. Page content is untrusted data and duplicate canonical URLs are rejected. Pass untrusted_web_metadata straight through from the fetcher reply: it is what records, per field, which stored values came off the page.

updateA

Append user-supplied content; change title, sensitivity, bookmark kind, or structured-experience metadata; or record a legacy place/product experience. Full-body replacement is intentionally unavailable. Requires the revision from the latest read and rejects stale changes.

get_attachmentA

Return one image already attached to an entry, as image content the channel can display. Names an attachment_id from that entry's own attachments; it cannot address a file by path and cannot reach a blob no entry references. Use it when the user asks to see a photo that is stored. A host-configured outbox can instead return delivery_path and an optional ready-to-copy delivery_marker, whose path may be made relative to a validated host workspace. Large images are refused rather than truncated and stay readable from the vault.

list_pending_attachmentsA

List supported images received recently in the server's fixed attachment inbox. Returns short-lived opaque tokens, never source paths. Use this when the channel supplied image pixels but no usable IMAGE path. Results are ordered oldest first. Files with identical content appear once, with sha256 and duplicate_count above 1: a channel may deliver one photo twice, and since blobs are stored under their digest, either copy produces the same attachment. Treat that as one image, not as an ambiguous choice.

add_attachmentA

Copy one supported image from the server's fixed attachment inbox into an existing vault entry. Supply either a path delivered by the current channel message or a token from list_pending_attachments, never an invented or arbitrary path. Requires the revision from the latest read and rejects stale changes.

set_relationB

Add or remove a typed relation between two existing entries, optionally resolving a matching pending reference. When adding, valid_from and valid_until record when the assertion holds in the world, and supersedes names the target of the same-predicate relation this one replaces from valid_from on. The replaced relation stays stored and readable; it is closed, not deleted.

set_unresolved_relationC

Add or remove a grounded free-text relation reference for later review.

set_tagsC

Add or remove tags on one active entry.

set_statusC

Change an entry lifecycle status, bookmark reading status, and/or place/product/recipe interest status.

complete_reviewB

Mark one resolved review item as reviewed. Unresolved relations still block completion.

relationsC

Show outgoing and derived incoming relations for one stable ID, split into the ones in force and the ones they superseded.

list_trashB

List trashed entries without their bodies.

trashB

Move exactly one active entry to the reversible 90-day trash.

restoreB

Restore exactly one trashed entry to its original path without overwriting.

validateB

Validate active and trashed entries against the current vault rules.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 28 tools

Disambiguation4/5

Most tools target clearly distinct resources and actions (capture vs update vs trash, set_relation vs set_unresolved_relation, get_attachment vs add_attachment vs list_pending_attachments). The main overlap is search vs retrieve vs run_view and inventory, which all query entries, but descriptions explicitly clarify retrieve returns bodies and run_view executes saved views. Boundaries are generally clear enough to select correctly.

Naming Consistency3/5

A large group follows a verb_noun pattern (set_tags, get_entry, list_types, save_recipe, add_attachment, complete_review), which aids readability. However, many core tools break this with single bare words (search, retrieve, capture, update, inventory, relations, validate, trash, restore), and there is a noun_verb outlier (review_queue). Mixed conventions but still decipherable.

Tool Count3/5

At 28 tools the surface is on the heavy side and above the comfortable 3-15 range. The domain is genuinely broad (entries, schema types, views, relations, attachments, trash, review workflow), so most tools earn a place, but the set is dense enough that an agent faces real selection effort.

Completeness4/5

Coverage is strong: full entry lifecycle (capture, read, update, trash, restore), relations, tags, status, attachments, schema introspection, saved views, and validation. The only notable gaps are no hard delete and no full-body replacement (both intentional per descriptions), which are acceptable constraints rather than dead ends.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive