Skip to main content
Glama

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.

Universal Memory manages local project/global facts, context, host instructions, and Agent Skills. Start a session with bootstrap; inspect only relevant skill details. Tools run with the server process filesystem permissions. No server account, API key, or remote-service rate limit is required. Tools operate locally except initialize_project, which can invoke the official skill installer over the network. Local repositories may use storage lock files during reads. Context assembly and host validation also persist summaries/audit records as disclosed by their tools. Success returns ok, operation, scope, data, warnings; failure returns a sanitized error envelope. Inspect ok and warnings. Annotations describe every supported mode, including optional apply/overwrite modes, not just safe defaults. Do not blindly retry mutations after an uncertain result.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
initialize_projectA

Initialize local project memory and configure detected agent connections. Use for a new workspace; use inspect_project_layout to inspect storage or migrate_project_layout to share existing legacy content. Creates project storage and managed host configuration and may install the official skill through npx, requiring Node.js and network access when that bridge is selected. Existing managed content is reconciled rather than blindly replaced. Returns initialization details, connection execution results, warnings, and manual fallback steps; inspect them before retrying. Repeated calls may run connection validation again.

statusA

Inspect project initialization, fact counts, storage size, registered skills, and host validation status. Use before initialization or to diagnose whether context can be loaded; use doctor for environment diagnostics and bootstrap for session startup. Does not change memory records or configure hosts. Returns status and recommended actions, including initialized=false for an uninitialized project.

bootstrapA

Load status, project context, and the skill catalog once at session startup. Use instead of separate status, context, and list_skills calls; use get_skill_detail only for relevant catalog entries. Requires initialized project memory for context loading. Persists the compiled context summary and audit event; repeated calls create fresh records. Does not install skills or synchronize hosts. Returns status, context, and skills on success or an error envelope if a step fails.

inspect_project_layoutA

Inspect which local project storage layout and roots are active, including migration warnings. Use before initialize_project or migrate_project_layout when layout is uncertain. Does not initialize, copy, or remove project content and requires no initialized project. Returns the layout report, storage paths, and warnings.

migrate_project_layoutA

Preview or migrate selected legacy project facts, rules, and skills into shared repository storage. Use to expose curated existing content; initialize_project creates new storage and share_skill shares one skill. Requires legacy content and filesystem access. dry_run=true previews without modifying content. false writes shared content and migration state, then rewrites the legacy facts file to remove migrated or already- shared facts; private, global, and conflicting facts remain local. Writes use the safe snapshot/audit pipeline. Returns the migration plan/results and warnings. Review private exclusions and source changes before applying: shared content can become visible to repository collaborators.

doctorA

Inspect Python, storage, project layout, and supported host integration health. Use for diagnostic checks; use host_setup to change configuration. Does not repair or install anything and can inspect an uninitialized environment. Returns named checks with success/failure details and recovery guidance.

contextA

Compile active facts, preferences, and rules into prompt-ready Markdown within a character budget. Use for agent context; use list_facts to inspect individual records. Project scope requires initialized project memory; global scope excludes project content. Persists a generated summary and audit event, so repeated calls create new records even with identical arguments. Returns context_markdown, included fact IDs, size information, and the summary metadata.

remember_factA

Save a curated durable memory fact, with optional tags and visibility. Use for a learned preference or project decision; use track_latent_skill for repeated workflow evidence and list_facts for inspection. Project scope requires initialization. Writes a fact through the safe mutation pipeline with audit/snapshot references; repeated calls may add records rather than update an existing fact. Returns the stored fact and write references. Do not store secrets or raw conversation logs.

list_factsA

Inspect individual memory facts filtered by scope, lifecycle status, and visibility. Use for record IDs and metadata; use context for compiled prompt context. Project or combined scope requires initialized project memory. Does not change fact records. Returns a facts array; omitted scope searches both project and global records, while omitted status selects active records.

purge_factA

Destructively remove one fact by ID or all facts in an explicitly selected scope. Use list_facts first to identify intended records; use context only for reading. confirm=true is mandatory; false rejects without purging. Supply id or scope, not both; omitting both is rejected. Project or unscoped ID lookup requires initialization. The configured repository uses safe writes for recovery; inspect list_snapshots and list_audit_events rather than assuming the response contains a snapshot ID. Returns purged_count, affected_ids, and an audit marker. Repeating a purge may fail if the fact no longer exists.

list_audit_eventsA

Read audit events for one memory scope to investigate prior operations and recovery references. Use list_snapshots to inspect recoverable snapshots instead. Project scope requires initialization. Does not create audit events or change recorded history. Returns an events array with the recorded operation details.

list_snapshotsA

Read created recovery snapshots in one scope. Use before rollback_scope to inspect available recovery points; list_audit_events provides operation history. Project scope requires initialization. Does not create or restore snapshots. Returns the created snapshots array; already consumed snapshots are excluded.

rollback_scopeA

Restore the latest created snapshot in a scope, replacing current state covered by that snapshot. Use list_snapshots and list_audit_events before choosing recovery. confirm=true is required; false rejects without restoring. Project scope requires initialization. Returns restored state references and rollback details. Destructive and not idempotent: a second call can select a different snapshot, so inspect results before retrying.

host_setupA

Plan or apply managed instruction configuration for a supported agent host. Use after project initialization; use host_check to validate an existing configuration and sync_instructions to refresh active rules. force=false returns a plan; force=true applies managed changes through the snapshot/audit pipeline. It does not mean unrestricted overwrite of unmanaged files. Returns planned changes, validation, manual steps, warnings, and write references.

host_checkA

Validate an existing agent host instruction manifest and record the validation result. Use after host_setup or to diagnose host readability; use doctor for broader diagnostics. Requires initialized project memory. Does not rewrite the host manifest, but writes an audit event, so repeated checks create new audit records. Returns validation status, checks/manual guidance, warnings, and audit reference.

sync_instructionsA

Plan or apply active-rule synchronization into selected agent instruction targets. Use after changing approved rules; use sync_skills for native skill directories and host_setup for initial host configuration. Requires initialized project memory. apply=false previews; true writes managed instruction blocks with recovery/audit references. Returns planned changes, validation, warnings, and manual steps; does not grant permission to overwrite unrelated host content.

propose_skillA

Review a tracked latent workflow candidate or record a decision about it. Use after track_latent_skill or recommend_skills; use create_skill for an explicitly requested new canonical skill. Requires initialized project memory and a latent candidate ID. Omitted decision returns a proposal and follow-up choices; yes/y accepts, no/n ignores, and always also records future approval policy. Decisions mutate candidate state through the safe pipeline. Returns candidate, proposal, decision requirements, and write references; inspect state before repeating a decision.

track_latent_skillA

Record curated evidence of a repeated workflow and create or increment a matching latent skill candidate. Use only for recurring workflow observations; use remember_fact for preferences and create_skill for an explicit new skill request. Project scope requires initialization. Matching proposed/active candidates gain recurrence and evidence; otherwise a proposed candidate is created. Not idempotent: every call counts another observation. Does not publish or generate skill files. Returns latent_skill, matched_existing, and audit/snapshot references. Use recommend_skills or propose_skill next; never submit secrets, raw logs, or transcripts as evidence.

generate_skillA

Generate physical Agent Skill content for an approved latent candidate. Use after proposal approval; use create_skill for new canonical content without a latent candidate and publish_skill for a draft. Requires initialized project memory and an eligible latent ID. Writes skill content, native copies for enabled runtimes, and related state; update_existing=true permits updating existing generated content while retaining native drift protections. Returns generation details, paths, warnings, and write references. Review existing content before enabling updates or retrying.

create_skillA

Create a new canonical Agent Skill from a name, purpose, triggers, and optional Markdown. Use for an explicit new skill request; use import_skill for an external/native directory, adopt_skill for existing canonical content, or create_skill_draft for an editable draft. Project scope requires initialization. Writes canonical content and registration; sync=false avoids native copies, true also synchronizes selected targets. Returns skill metadata, paths, warnings, and write references. Repeated calls may conflict with an existing slug; use update_canonical_skill to edit it.

create_skill_draftA

Create an editable skill draft without canonical publication or native runtime writes. Use when content needs review; use create_skill for direct canonical creation. Project scope requires initialization. Both draft paths are relative to the server workspace: project uses .umem/drafts/skills//SKILL.md; global uses drafts/skills//SKILL.md and registers the draft in user memory. Global scope does not move the physical draft into user memory; draft-file audit/snapshot writes also use the project writer. Writes the draft file and registration with snapshot/audit references. An existing unregistered file at the same draft path can be overwritten without confirmation; only registered slug collisions are rejected. Inspect the draft destination first. When generating Markdown, omitted/empty triggers default to the skill name. Returns draft metadata, paths, validation information, and warnings. Validate with validate_skill before publish_skill.

validate_skillA

Validate a draft, registered canonical skill, or local skill file/directory without publishing or changing skill content. Use before publish_skill or after editing a skill; get_skill_detail reads registered metadata. Accepts an ID/name or path and does not require project initialization at this interface. Returns a validation report with errors and warnings; inspect the report rather than treating a successful tool envelope as proof that the skill is valid.

publish_skillA

Validate and publish an existing draft into canonical skill storage. Use after create_skill_draft and validate_skill; use update_canonical_skill to edit an already published skill. Requires initialized project memory. Writes canonical content and registration; sync=false leaves native targets untouched, true also synchronizes selected targets. Returns skill metadata, published paths, warnings, and write references. Publication can conflict with an existing slug; inspect before retrying.

share_skillA

Copy an existing project skill into shared repository content for collaboration. Use for deliberate sharing; use sync_skills to distribute native copies without changing visibility. Requires initialized project memory and a resolvable project skill. Writes shared content and updates registration. Existing shared files at matching destination paths can be overwritten without a destination-conflict check or an overwrite confirmation; there is no preview mode. Sharing operational content additionally requires confirm_operational=true. Writes use the safe snapshot/audit pipeline. Returns the shared skill, paths, warnings, and write references. Inspect existing destination files and remove private information before calling. Re-sharing an already-shared skill can update registration and policy again.

promote_skill_recommendationA

Promote a proposed, not previously promoted latent recommendation into a canonical Agent Skill. Use after reviewing recommend_skills; this call itself performs promotion. Use propose_skill followed by generate_skill for the separate approval/generation flow, or publish_skill for drafts. Project-scoped promotion requires initialized memory. Writes canonical content, changes the recommendation to active, and records promotion metadata. targets alone does not enable native synchronization; use sync_skills afterward. Returns promoted recommendation, skill metadata, paths, warnings, and write references. Repeated promotion of the same candidate is rejected.

sync_skillsA

Synchronize one or all active canonical skills into native runtime directories. Use after canonical content changes; use sync_instructions for host instruction blocks and import_skill to bring external content into UMEM. Requires initialized project memory. Writes native copies; drift_decision=keep preserves divergent native content, overwrite permits replacement of managed divergent copies. Returns per-skill synchronization results and warnings, optionally including gitignore checks. Repeated sync can still create audit records; review drift before overwriting.

import_skillA

Import an existing native or local skill directory into canonical UMEM storage. Use for external skill content; use adopt_skill to register an existing canonical directory or create_skill for new content. Project scope requires initialization. Copies content and registers the skill; optional replacement/synchronization can alter native files. Defaults preserve native source content and avoid post-import sync. Returns imported skill metadata, paths, warnings, and write references. Repeated imports can conflict with an existing canonical destination.

adopt_skillA

Register an existing canonical skill directory in UMEM while avoiding duplicate slugs. Use for unregistered canonical content; use import_skill for an external/native source or create_skill for new content. Project scope requires initialization. May reconcile canonical location and registration; optional native replacement and synchronization can change native copies. Defaults avoid native replacement/sync. Returns adopted skill metadata, paths, warnings, and write references; inspect conflicts before repeating.

update_canonical_skillA

Validate and replace Markdown content for an existing canonical skill. Use for canonical edits; use update_skill for latent metadata or rename_skill for a slug change. Requires initialized project memory and an active canonical selector. Writes canonical content through the safe pipeline; sync=true also updates native targets subject to drift_decision. Returns skill metadata, changed paths, warnings, and write references. Repeated calls can create audit/snapshot records even when content matches.

rename_skillA

Rename an existing canonical skill slug and reconcile managed locations. Use for identity/path changes; use update_canonical_skill to edit content. Requires initialized project memory and an active canonical selector. Moves managed skill content and updates registration while rejecting unmanaged destination conflicts. Returns renamed skill metadata, paths, warnings, and write references. The old slug may no longer resolve after success; inspect before retrying.

cleanup_skillA

Preview or remove managed native copies for one active canonical skill. Use when cleaning that skill's installed runtime copies; use repair_skills for orphan targets across the project and deactivate_skill for latent candidate state. Requires initialized project memory and a canonical ID, slug, or unambiguous name. dry_run=true lists removable/blocked paths; false deletes removable native directories. Keeps canonical content and blocks targets without suitable managed manifests. targets is a compatibility flag and currently does not disable cleanup. Returns plan, removed_paths, and warnings. No cleanup snapshot is created; restore native copies with sync_skills if needed.

repair_skillsA

Preview or remove orphan managed native skill targets across the project. Use for stale installations; use cleanup_skill to inspect one registered skill. Requires initialized project memory. remove_orphan_targets=false selects no action; true discovers orphan targets. dry_run=true previews, false deletes discovered targets. Returns plans, removed_paths, and warnings. Does not delete canonical skills or create a recovery snapshot; inspect the plan before applying.

list_skillsA

Read the catalog of canonical skills, native installation state, and latent candidates. Use at startup through bootstrap or to find skill IDs; use get_skill_detail for one entry and recommend_skills for evidence-based candidates. Requires initialized project memory. Does not register, synchronize, or activate skills. Returns the catalog, recommendations, and metadata; unregistered directories remain unregistered.

recommend_skillsA

Review latent workflow recommendations from explicit track_latent_skill evidence. Use to choose candidates for proposal or promotion; use list_skills for the full catalog. Project/all scope requires initialized project memory. Read-only: does not promote, import, synchronize, create, or mutate skill records, even when dry_run=false. Uses recurrence plus nonempty curated evidence-entry thresholds (duplicate summaries count separately) rather than scanning facts, logs, or transcripts. Returns recommendations, thresholds, evidence sources, and limitations; inspect these before propose_skill or promote_skill_recommendation.

get_skill_detailA

Read metadata, triggers, content references, and installation state for one registered skill. Use after list_skills to inspect a relevant entry; use validate_skill to validate local content and recommend_skills to discover candidates. Requires initialized project memory. Does not activate, generate, or synchronize skills. Returns the matching skill details or an error when the selector is unresolved or ambiguous.

activate_skillA

Reactivate an ignored latent skill candidate whose generated SKILL.md still exists and has valid frontmatter. Use to reverse candidate deactivation; use create_skill or publish_skill for canonical creation. Requires initialized project memory and a latent candidate ID in ignored state. Updates latent status with audit/snapshot references; it does not reinstall removed native files. Returns the candidate, skill_file, and mutation references. Use sync_skills separately for native copies where applicable; repeating activation fails once the candidate is active.

deactivate_skillA

Mark an active latent skill candidate ignored and disable its recorded native installations according to runtime policy. Use to deactivate a latent workflow; use cleanup_skill for explicit native cleanup of a canonical skill. Requires initialized project memory and a latent ID in active state. Preserves canonical SKILL.md, but can remove native directories, replace them with disabled stubs, or preserve them according to host policy. Returns candidate and audit/snapshot references; removed directories do not necessarily have recovery snapshots. Repeating the call fails once ignored. activate_skill restores candidate state but does not reinstall native files.

update_skillA

Update metadata and rewrite generated Markdown for an existing latent skill. Use for latent candidate edits; use update_canonical_skill for direct canonical content replacement. Requires initialized project memory and a latent candidate ID. Omitted metadata values retain their stored fields, but omitting raw_markdown regenerates the entire SKILL.md from metadata and can discard a customized body even when no other edit is supplied. To retain custom content, read the existing file and supply complete edited raw_markdown with compatible frontmatter. Writes use the safe pipeline and may synchronize recorded native copies while preserving divergent native content. Returns candidate, warnings, and audit/snapshot references. Repeated calls can create additional audit records.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 38 tools

Disambiguation3/5

Many skill tools overlap in purpose (create_skill, create_skill_draft, publish_skill, import_skill, adopt_skill, generate_skill, promote_skill_recommendation), and latent-skill tools require careful reading. The descriptions explicitly cross-reference alternatives, so an agent can usually pick correctly, but the boundaries remain subtle.

Naming Consistency4/5

Overwhelmingly snake_case with predictable verb_noun forms for most operations. A few noun-only or status-style tools (status, context, bootstrap, doctor, host_setup, host_check) break the strict verb_noun pattern but remain readable and consistent in casing.

Tool Count2/5

38 tools is well above the 25-tool threshold, and the server spans several subdomains: memory facts, skill lifecycle, project setup, host configuration, audit, and snapshots. Many skill tools are highly specialized, but the total surface is heavy for an agent to navigate.

Completeness4/5

Skill lifecycle coverage is exceptionally complete: draft, validate, publish, update, rename, sync, import, adopt, latent proposal, promotion, cleanup, activate/deactivate. Memory facts have create/list/purge and compiled context, but there is no direct update_fact, forcing purge-and-recreate for edits.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues