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.

This server is the project's Cairn brain: ideas, tasks, decisions, notes and a daily journal kept as plain Markdown in the repo. Before answering questions about why the project works the way it does, search it (decisions record the reasons). When the user settles on something, capture it as a decision; when work is agreed, capture a task; when you finish a step, log it to the journal and move the task with update_note. Call context first for a one-page brief of open tasks, accepted decisions and active ideas.

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
searchA

Search ideas, tasks, decisions, notes and journal pages. Every word must match; titles and tags rank first. Use it before answering 'why did we...' questions.

read_noteA

Read one note in full (frontmatter and Markdown body) plus the notes that link to it.

list_notesB

List notes, optionally filtered by type, status (e.g. task todo/doing/done, decision accepted) or tag.

contextA

One-page project brief: goals, open tasks, accepted decisions, active ideas and the recent log. Read this first.

recentB

What happened lately: journal entries of the last N days and the most recently changed notes.

code_todosB

TODO, FIXME and HACK comments found in the repo's code, with file:line.

captureA

Create a note from one line. Prefix picks the kind: 'idea:', 'todo:', 'decision:', 'note:', 'feedback:'; #tags become tags. Example: 'decision: cache in SQLite, not Redis #storage'.

update_noteA

Change a note in place: set its status (task todo/doing/done, idea raw/exploring/ready/parked, decision proposed/accepted/superseded), add or remove tags, or append Markdown. Other fields are kept as they are.

logA

Add a timestamped line to today's journal page. 'todo:'/'idea:'/'decision:' lines also create that note and link it.

precedent_briefB

Before starting a delegated goal: a brief built from the user's own history. Draft Definition of Done, hidden asks (what they asked for next after similar goals), closest past prompts, lessons, related notes, their working profile, the queue and the work loop.

queue_nextA

The next open item of the work queue (tasks tagged #queue), skipping items blocked on the user (#needs-me).

queue_addA

Add a follow-up to the work queue instead of asking the user. auto: safe to run unattended; needs_me: blocked until the user acts (a login, a purchase, a decision only they can make).

precedent_logA

When a goal is done: record what was delivered and any correction the user made, so the next brief learns from it. queue_path also marks that queue task done.

Prompts

Interactive templates invoked by user choice

NameDescription
project-briefOpen tasks, accepted decisions, active ideas and the recent log, as context for this chat.
precedentHand over a goal: the brief from your own precedents plus the loop to build, verify, publish and log it without check-ins.

Resources

Contextual data attached and managed by the client

NameDescription
contextOpen tasks, accepted decisions, active ideas, recent log
0001-plain-markdown-in-the-repodecision (accepted)
0002-github-is-the-backenddecision (accepted)
0003-no-vanity-metricsdecision (accepted)
0004-sign-in-through-a-tiny-workerdecision (accepted)
agents-as-membersidea (ready)
cross-brain-linksidea (raw)
proof-of-work-profilesidea (exploring)
structured-debatesidea (exploring)
2026-11-05journal
claim-built-cairnnote
design-principlesnote
collect-feedbacktask (doing)
debate-note-typetask (todo)
editorial-redesigntask (done)
explore-and-profilestask (done)
join-requests-inboxtask (todo)
mcp-servertask (todo)
ship-v1task (done)
sign-in-with-githubtask (done)

TDQS

B3.4/5.0

Scored across 13 tools

Disambiguation4/5

Most tools have clearly distinct roles: read_note (single full note), list_notes (filtered enumeration), search (keyword match), capture (create), update_note (mutate). The main overlap is between summary-style tools — context, recent, precedent_brief and queue_next all answer variants of 'what should I look at' — but the descriptions draw usable boundaries (project brief vs. recent activity vs. pre-goal history vs. next queue item).

Naming Consistency3/5

There is a loose family pattern (read_note, list_notes, update_note, queue_add, queue_next, precedent_brief, precedent_log) but it is mixed with bare nouns/verbs: search, context, recent, capture, log, code_todos. The prefix grouping (note/queue/precedent) helps readability, yet the overall convention is inconsistent.

Tool Count4/5

13 tools sits comfortably in the sensible range for a notes/tasks/decisions server and each maps to a real operation. A few (precedent_brief, precedent_log) are narrow, workflow-specific additions rather than core surface, so the set is slightly heavier than strictly necessary.

Completeness3/5

Creation (capture, log, queue_add), retrieval (search, read_note, list_notes, context, recent) and in-place mutation (update_note) are covered, but there is no delete, archive, or supersede-by-removal operation for notes, and journal entries appear append-only. Queue items can only be completed indirectly via precedent_log's queue_path, leaving dead ends for basic lifecycle management.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues