Skip to main content
Glama
slowave-ai

slowave

Official
by slowave-ai

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

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

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

Tools

Functions exposed to the LLM to take actions

NameDescription
slowave_activateA

Prime working memory with relevant context. Opens an implicit session.

Call this once at the beginning of every task. Spreading activation surfaces
relevant memories and procedures, and opens a server-side session so you
never need to call session_start manually.
Retrieval considers meaning and specific terms, then selects context
applicable to the task. The bounded result is not a complete inventory
or a verification of the returned claims; assess their actual use.
A user message establishing or changing durable guidance is also a
task, even without another action request. Save the durable claim
and complete feedback and commit before acknowledging completion;
saving guidance is part of completing the task.
Answer-only tasks also require retrieval feedback and commit before
the final response; remember and recall are conditional.
Procedures include complete steps, applicability context, outcomes,
and caveats. Inspect these against current evidence before adapting
a method. Recall only when needed history or details are absent;
name the original goal and relevant conditions in that query.

The cognitive cycle:
    1. slowave_activate(task, initial_goal, scope)      <- start here
    2. slowave_remember(session_id, scope, content, type)
       <- when you discover new knowledge worth retaining as durable memory
          because it could help you with future tasks
    3. slowave_recall(session_id, scope, query)                            <- mid-task lookup
    4. slowave_feedback(retrieval_id, memory_feedback, procedure_feedback, coverage)    <- after using memories
    5. slowave_commit(session_id, final_goal, outcome, outcome_summary, verification)         <- close the task

Args:
    task: copy the user request exactly (required, nonblank); do not
        rewrite or translate it. Put interpretation in initial_goal.
    initial_goal: concise action-led provisional objective (required, nonblank).
    scope: required retrieval boundary in ``kind:id`` form.
    continuity_id: omit on the first client-conversation activation;
        retain and resend the returned opaque token unchanged on later
        activations in that conversation. Never invent it or reuse it across different client conversations.
    page_size: optional strict integer 1–10; omitted values use the server default.
    task_context: optional structured facts that condition retrieval.

Returns:
    retrieval_id: pass to slowave_feedback.
    session_id: required by recall and commit.
    memory_state: cold_start or available for the resolved scope.
    memories: canonical [{memory_id, content, pathway, provenance?}].
    procedures: execution-ready methods with ID, goal, summary, steps,
        context, outcome, outcome_summary, and safety caveats.
        Deliberate recall additionally returns detailed reuse evidence.
    warnings: stable structured safety warnings.
    continuity_id: server-issued opaque client-conversation token.
    continuity_state: started on omission, continued on valid reuse.

retrieval_policy_version: server-selected retrieval-policy identifier. relevant_total: number of discovered relevance-qualified declarative memories in a relevant-set response. catalog_truncated: true when the bounded candidate search could have omitted qualifying memories; false does not include procedure results. more_available: whether a frozen continuation page is available. continue_from: opaque continuation cursor, present only when more_available. accessible_field: bounded orientation for unreturned candidates; contains extra_candidates, kinds, and approx_extra_tokens, never content.

slowave_recallA

Semantic retrieval: bring relevant memories into working memory. Use for deliberate mid-task lookups when you need specific historical context beyond what activate surfaced. Recall is explicitly bound to the active session and matching scope. Retrieval considers semantic meaning and specific lexical matches, then selects context relevant to the current need. Ask a focused natural-language question naming the subject, goal, and relevant conditions; preserve exact project/service names, identifiers, and error text when known. Paraphrases can match; you do not need to reproduce the stored wording. Avoid keyword stuffing or assuming the answer in the query. For example, a stored claim "Atlas authentication credentials expire after 45 minutes" can be queried with "How long do Atlas login tokens remain valid?" State independent needs as separate sentences when asking several questions. Results are bounded suggestions, not proof of truth or a complete inventory. If needed history is missing, clarify the question or use a returned continuation when more context would help; an empty result does not prove absence. Inspect provenance/evidence and procedure outcomes/caveats before applying guidance; use evidence="full" when source content is needed, noting truncation. Args: page_size: optional strict integer 1–10; omitted values use the server default for a new query. Omit with continue_from. query: natural-language query; omit when continuing a frozen result. session_id: active session returned by slowave_activate. scope: required retrieval boundary; must match the session. task_context: optional context update for this sub-question. evidence: references (default) or full; budget and policy are server-owned. continue_from: opaque cursor returned by activate or recall. The cursor is bound to this session and scope and replays a frozen tail. Returns: retrieval_id: pass to slowave_feedback after using memories. memories: canonical direct/associated memories with stable pathways. procedures: canonical procedures, including their ID, goal, summary, context, steps, caveats, outcome, outcome_summary, created_at, aggregate evidence, and recent contributions; no ranking scores. evidence: bounded records with evidence_id, source_kind, recorded_at, occurred_at, and source_ref; full mode also returns content and per-record truncated. evidence_mode: the applied references or full mode. evidence_truncated: whether evidence records exceeded the response budget. retrieval_policy_version: server-selected retrieval-policy identifier. relevant_total: number of discovered relevance-qualified declarative memories in a relevant-set response. catalog_truncated: true when the bounded candidate search could have omitted qualifying memories. more_available: whether a frozen continuation page is available. continue_from: opaque continuation cursor, present only when more_available. accessible_field: bounded orientation for unreturned candidates; contains extra_candidates, kinds, and approx_extra_tokens, never content.

slowave_rememberA

Record newly discovered knowledge worth retaining for future tasks in this scope. Scalar and batch forms inherit one explicitly verified session and scope. Proactively call this when you discover new knowledge worth retaining as durable memory because it could help you with future tasks: pursue a goal, avoid rework or a wrong assumption, or avoid asking the user again. Do not wait for the user to say “remember”. Good candidates are confirmed facts, user preferences, decisions, constraints, lessons, warnings, and open questions that affect future goals. Save the claim when it becomes clear; review for missed claims before commit. Use concise, standalone wording with enough context for a later session, and batch independent claims. Check activated memories and task context for duplicates; a matched claim is acceptable. Skip speculation, progress notes, pending steps, temporary task state, and details unlikely to matter again. A fact recorded elsewhere can still be worth saving when rediscovery would cost meaningful work.

Write for later retrieval: use one independent claim per entry and name its subject explicitly instead of "this" or "that approach". Preserve conditions, exceptions, and negation; include the reason for a decision when it explains when to apply it. Keep meaningful exact names, identifiers, commands, and error text alongside natural-language context. Retrieval considers meaning and specific terms, so avoid keyword lists, repeated synonyms, and unrelated claims in one entry. For example, prefer "Atlas authentication credentials expire after 45 minutes" to "Tokens: timeout, expiry, login, auth; same as discussed above." Include source/time context when it affects applicability, and use occurred_at only for the source-event time described below.

Args: scope: required scope matching the active session. session_id: required active session returned by slowave_activate. content: one standalone durable claim; mutually exclusive with memories. type: required scalar type. Reusable directions use instruction; only verified commit procedures are execution-backed procedures. occurred_at: optional RFC 3339 source-event time, such as 2026-08-26T09:30:00Z. Use only when the claim records an event that happened at a different time from this MCP call. Slowave always sets internal raw-event ts itself to the write time; occurred_at never changes event order. memories: strict batch of {content, type, occurred_at?} objects inheriting the outer scope and session.

Returns: stored: true when the scalar claim was accepted. memory_id: canonical identifier for a scalar stored or matched memory. disposition: created or matched for a scalar claim. type: confirmed scalar memory type. scope: confirmed scalar memory scope. source_event_id: source provenance event for a scalar claim. results: for batch input, ordered item envelopes with index and independent ok/data or ok/error results.

slowave_feedbackA

Record append-only evidence about retrieved memories and procedures.

Task outcome does not belong here; slowave_commit owns it. Memory feedback informs future retrieval; procedure use/effect informs future ordering. Task mismatch does not establish that a claim is false. When a retrieved claim is replaced, remember the corrected claim first, then mark the old one stale/superseded with its replacement_memory_id. Declarative assessments are used|not_used|unassessable|irrelevant|already_known|stale. Report used only after observed influence on reasoning, an action, a check, or an applied constraint; reading or topical similarity is insufficient. not_used means no influence; irrelevant means task mismatch. unassessable requires reason and records unknown usage, never guessed non-use. Both not_used and unassessable are neutral and complete target accountability. Complete all exposed targets after the relevant work, before commit. Partial checkpoints may report observed use or stale evidence earlier. Only returned targets need feedback; do not exhaust continuation pages. You may batch multiple retrievals in items. A minimal memory entry is {"memory_id":"","assessment":"not_used"}. A stale assessment must include stale_reason (contradicted|superseded|outdated|unsupported|withdrawn) and a concise reason; superseded additionally requires replacement_memory_id. Procedure feedback keeps use (used|not_used|unassessable) separate from effect (helped|no_effect|harmed|unknown), with contribution required when used. Memory feedback additionally accepts: relevance (relevant|irrelevant|uncertain), effect for used marks (helped|no_effect|harmed; absent means helped, unknown is invalid), and the already_known assessment (dedup observation; no reinforcement, no suppression). Relevance never gates the usage axis and vice versa (decoupled axes). For assessments other than used, omit effect or set unknown. not_used/unassessable procedures require omitted/unknown effect and no contribution; unassessable additionally requires reason. Replacement memories must be active, different, and in the retrieval scope; replacement IDs need not have been exposed by this retrieval. Even an empty retrieval requires {"retrieval_id": "", "coverage": "complete"}. Default coverage is partial. For batches put coverage inside each item, never at top level. Outer ok=true can contain rejected targets or failed batch items: inspect every results[i].ok, data.rejected and data.outstanding. Correct rejected entries and outstanding targets, then declare complete.

Args: retrieval_id: opaque ID returned by activate/recall. memory_feedback: [{memory_id, assessment, relevance?, effect?, stale_reason?, replacement_memory_id?, reason?}]. procedure_feedback: [{procedure_id, use, effect, contribution?, reason?}]. retrieval_quality: optional whole-result quality assessment. missing: optional descriptions of expected but absent knowledge. coverage: partial or complete; silence under partial is not negative. items: batch of records with the same fields. Scalar feedback fields and items are mutually exclusive. Returns: retrieval_id: the assessed scalar retrieval. coverage: achieved partial or complete coverage. A rejected complete request reports partial. requested_coverage: the client's requested coverage. outstanding: memory_ids and procedure_ids still requiring assessment. accepted_event_ids: append-only feedback events accepted by the server. rejected: feedback targets or shapes the server did not apply, with reasons. applied: actual strengthened/weakened/unchanged numeric changes, plus neutral not_used/unassessable observations and stale transitions. results: for batch input, ordered item envelopes with independent ok/data or ok/error results.

slowave_commitA

Close the current task and trigger offline memory consolidation.

Before calling, review whether the task revealed useful knowledge that a future task should retrieve directly. Store any such claims with slowave_remember; if none qualifies, commit normally. Commit records the task outcome and optional procedure, not a substitute for explicit claims. In particular, save a newly established requirement or decision that governs future tasks as a standalone claim before closing. Describing it in outcome_summary alone does not create that remembered claim. Call at the end of every task. If skipped, the idle-session reaper closes the session after SLOWAVE_SESSION_IDLE_TIMEOUT seconds (default 3600). Args: session_id: required active session from activate. final_goal: required confirmed goal. outcome: required success|partial|failure. outcome_summary: required standalone actual result. verification: required {status, summary, evidence_refs?}; status is verified|partially_verified|unverified. procedure: optional {version: 2, summary, context: {}, steps: [{summary}], caveats: []}; include only for a reusable method that was actually attempted. trajectory: optional executed-attempt trace of at most 32 action/observation entries, each {kind, summary, status?}. Must contain TASK actions/observations only. Do NOT include Slowave lifecycle bookkeeping (activate/recall/feedback/commit calls, "Activated the Slowave session." etc.) -- the server filters those out and reports the count as trajectory_lifecycle_filtered. If you have no task-level actions, omit the trajectory. Returns: session_id: the session that was closed. episodes_formed: number of episodic memories created. feedback_status: complete for normal closure. committed: true when the session outcome was recorded. outcome: confirmed success, partial, or failure outcome. verification_status: confirmed verification status. operation: closed for a new close or updated for an already-ended session. trajectory_lifecycle_filtered: number of lifecycle entries removed, when any were filtered. already_ended: true when the session had already been closed.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 5 tools

Disambiguation4/5

Each of the five tools occupies a distinct phase of an explicit cognitive cycle (open/prime, mid-task lookup, write, assess, close), and the descriptions repeatedly contrast them (e.g. activate 'once at the beginning of every task' vs recall 'deliberate mid-task lookups'). The only real overlap is that activate and recall both perform semantic retrieval, which an agent could conflate without careful reading of the lifecycle guidance.

Naming Consistency5/5

All tools use the identical slowave_ prefix followed by a single snake_case verb (activate, recall, remember, feedback, commit). No mixed conventions, no camelCase, no redundant noun suffixes.

Tool Count5/5

Five tools map cleanly onto one closed lifecycle loop, and each earns its place: retrieval is split into proactive (activate) and reactive (recall) only because the guidance distinguishes them. Nothing feels padded or vestigial.

Completeness4/5

The surface covers open, read, write, assess/correct, and close, with feedback even handling stale/superseded replacement, so core lifecycle is complete. The notable gap is explicit forgetting or deletion of memories, and browsing/listing a scope, which an agent can only approximate via stale feedback.

Maintenance

ActivityActive
ResponsivenessResponsive