Skip to main content
Glama

Waymark

CI License: MIT

Shared memory and handoff hub for AI agents. A waymark is a trail sign left for whoever walks the path next — Waymark does the same for agent sessions: Claude Code finishes work, and the next session of Codex, Claude Desktop, or any other MCP client starts already knowing what was done, what was decided, and what to do next.

No retelling. No re-reading the repo. One token-budgeted call.

Why

Every new agent session starts cold: it re-reads files, re-asks questions, and burns tokens rediscovering context that another agent had five minutes ago. Waymark replaces that with a local MCP server over a single SQLite database shared by all your agents:

  • workspace_resume — one call returns a compact packet (project metadata, open tasks, ranked memory, recent sessions, active handoff) within a token budget you set (default 1,200 tokens).

  • Automatic handoffssession_log(outcome: "partial", next_steps: [...]) writes a handoff memory that tops the next agent's resume. Logging completed retires it. No discipline required.

  • Task queue with atomic claimstask_claim guarantees only one agent takes a task, with capability and dependency checks.

  • Memory lifecycle — supersede instead of accumulate; feedback ratings demote stale records in ranking.

  • Provider-neutral — agents register with provider/model/client identity; nothing in the core is tied to one vendor.

Related MCP server: Shared Memory MCP Server

Measured savings

Continuation scenario (fresh session must orient in a project and name the next step), estimated cohort, reproducible via node scripts/benchmark-orientation.cjs:

median tokens

Cold orientation (reading README, docs, sources, git log)

13,540

Waymark resume (packet + core tool schemas + follow-up reads)

3,392

Net saving

74.9%

The orientation context itself shrinks from ~13.1k tokens of raw files to a 1.1k-token ranked packet (−91.5%) — and unlike cold reading, the packet contains what files can't: what the previous agent actually did and decided. The exact-token A/B protocol with live clients is in docs/BENCHMARK_RUN.md.

Quick start

Requires Node.js 22+.

npm install -g waymark-hub
waymark-hub init          # registers the hub in Claude Code / Codex, offers the hook
waymark-hub doctor        # verifies the whole installation

init asks before touching anything; init --yes enables everything applicable. The database lives in ~/.waymark/hub.db (survives package upgrades); override with WAYMARK_HOME or DB_PATH.

From source instead:

git clone https://github.com/SerjMihashin/waymark && cd waymark
npm install && npm test   # build + 20 integration tests

Connect Claude Code (stdio)

waymark-hub init --claude, or manually:

claude mcp add --scope user waymark node "<install>/dist/server.js"

Optional but recommended — waymark-hub init --hook installs a SessionStart hook that injects the resume packet into every new session (zero tool calls spent on orientation).

Connect Codex

waymark-hub init --codex, or manually:

# ~/.codex/config.toml
[mcp_servers.waymark]
command = "node"
args = ["<install>/dist/server.js"]

Connect Claude Desktop / web (HTTP)

waymark-hub serve --http   # listens on 127.0.0.1:3747

Add a custom connector: http://localhost:3747/mcp. Also available via docker compose up -d / podman compose up -d.

The protocol

Session start — one call, not three:

workspace_resume(project_id, task?, agent_id?, max_tokens=1200)

Session end:

session_log(started_at, summary, outcome, next_steps?)   # partial/blocked → auto-handoff
memory_write(...)                                        # only durable decisions/facts

Cross-agent handoff happens automatically: agent A logs a partial session with next_steps; agent B's workspace_resume surfaces that handoff first, with the session trail and files touched. When someone logs completed, the handoff retires itself.

Tool profiles

Greedy MCP clients inject every tool schema into context each turn. Waymark defaults to a core profile of 10 tools (~1.8k tokens instead of ~4.7k for all 28). Set HUB_TOOLS=full where you need the admin surface (projects, agents, experiments, telemetry).

Tools (28)

Group

Tools

Context

workspace_resume, context_get

Memory

memory_write/read/list/search/set_status/feedback

Tasks

task_create/list/update/claim/release/add_dependency

Projects

project_list/get/upsert/set_status

Agents

agent_register/get/list/set_status

Sessions & telemetry

session_log, usage_report, experiment_create/list/update/summary

Deep dives: docs/CONTEXT.md, docs/MEMORY_LIFECYCLE.md, docs/TASK_COORDINATION.md, docs/BENCHMARKING.md.

Dashboard

npm run dashboard → read-only web panel on http://localhost:4747: projects, tasks, memory (FTS search), sessions, agents, benchmark results. Opens the DB in read-only mode — it physically cannot mutate hub state.

Architecture

src/server.ts            entry point: stdio / HTTP (--http), tool profiles
src/db/client.ts         SQLite singleton (WAL) + idempotent migrations 001..005
src/tools/               projects · memory · tasks · sessions · agents · context · telemetry
src/context/builder.ts   deterministic ranking + token budget (no LLM calls)
src/cli/benchmark.ts     A/B experiment CLI
dashboard/               read-only Express panel

Storage: SQLite + FTS5. The core never calls an LLM or any external service.

Principles

  • Context on demand — summaries + ids by default; bodies only when asked.

  • Budget first — every aggregated response fits a token budget.

  • Evidence over retelling — link files/commits/tasks instead of copying text.

  • Replace, don't accumulate — supersede outdated memory, no duplicates.

  • Provider-agnostic — any MCP client is a first-class citizen.

License

MIT

Available Tools

10 tools
context_getC
Read-only

Build task-specific project context using deterministic ranking within a token budget.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYes
agent_idNo
client_idNo
max_tokensNo
project_idYes
memory_typesNo
include_sourcesNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral details beyond the readOnlyHint annotation by mentioning 'deterministic ranking' and 'token budget', which imply predictable, constrained output. However, it does not disclose edge cases (e.g., behavior when token budget is exceeded) or clarify if the tool modifies state (contradicting the annotation only if 'build' is interpreted as mutation; but readOnlyHint=true suggests it is safe).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, making it very concise, but it omits crucial information. While there is no wasted text, the lack of structure (e.g., parameter explanation) reduces its effectiveness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no output schema, no schema descriptions), the description is severely incomplete. It does not explain the return format, how ranking works, or how parameters like memory_types affect behavior. The presence of readOnlyHint partially compensates, but the description leaves major gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description carries the full burden of explaining parameters, but it does not mention any of the seven parameters (task, project_id, max_tokens, etc.). The agent receives no help understanding parameter roles, constraints, or defaults from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: building task-specific project context using deterministic ranking and token budget. It implies a distinct purpose from sibling tools like memory_read and memory_search, which likely retrieve raw memories rather than curated context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as memory_read or memory_search. The description does not mention prerequisites, exclusions, or typical use cases, leaving the agent without decision-making support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

memory_readA
Read-only

Read a single memory node by id or by project+name.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoMemory node UUID
nameNoMemory node name slug
project_idNo

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true. The description merely restates 'Read' without adding further behavioral details (e.g., error handling, auth requirements, or limitations). No contradiction, but no added transparency beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with purpose and key usage. Zero waste, every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with readOnlyHint annotation, the description covers the essential lookup modes. While it omits return format and not-found behavior, the tool is straightforward and the description is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description clarifies the idiomatic usage patterns: either 'id' alone or 'name' + 'project_id' together. This adds meaningful context beyond the schema, which marks parameters as optional without explaining the combinatorial constraint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description precisely states 'Read a single memory node by id or by project+name.' This clearly identifies the verb and resource, and distinguishes it from sibling tools like memory_search (which likely returns multiple results) and memory_write (which mutates).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like context_get or memory_search. The description implies usage for known identifiers but does not specify prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

memory_writeC

Create or replace a named memory node (project-scoped, or global if no project_id).

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesmarkdown body
nameYeskebab-case slug
tagsNo
typeNoproject
statusNo
surfaceNoclaude-code
agent_idNo
confidenceNo
importanceNo
project_idNoomit for global
source_refNo
valid_fromNo
descriptionYesone-line summary
source_typeNo
valid_untilNo
supersedes_idNoid this record replaces
origin_sessionNo
last_verified_atNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must cover behavioral traits. It only states 'Create or replace', but does not explain what 'replace' entails (e.g., full overwrite or merge), side effects, auth requirements, or rate limits. This is insufficient for a mutation tool with many optional fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the verb and resource. It is concise, but could benefit from a brief explanation of replacement behavior or required fields. Still, no extraneous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 18 parameters, no output schema, and no annotations, the description is far too minimal. It fails to explain the return value, how replacement works, or how to use the many optional parameters like tags, type, status, etc., making it incomplete for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 28%, so the description should add meaning for the many undocumented parameters. However, the description only references project_id (scope) and does not explain any other parameter (e.g., tags, type, status, confidence, etc.), leaving a significant gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Create or replace' and the resource 'named memory node', along with scope differentiation (project-scoped vs global based on project_id). This distinguishes it from sibling read tools like memory_read and memory_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of when to use memory_write instead of task_create or other write tools, nor any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_logA

Record a session summary at the end of significant agent work. On outcome "partial"/"blocked" (or when next_steps are given) the hub automatically writes a handoff memory so the next agent resumes without retelling; outcome "completed" retires that auto-handoff.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNo
clientNo
outcomeNocompleted
summaryYeswhat was accomplished and decided
surfaceNoclaude-code
agent_idNo
providerNo
next_stepsNoconcrete next actions for whichever agent continues this work
project_idNo
started_atYesISO datetime session started
commits_madeNo
files_touchedNo
client_session_idNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description reveals key behaviors: automatic handoff memory creation for 'partial'/'blocked' outcomes, retirement for 'completed'. However, it does not mention side effects like overwriting handoff state, destructive actions, or auth requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no wasted words. Information is front-loaded with the core action, followed by conditional behavior details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains side effects (handoff memory) but lacks error cases, rate limits, or guidance on parameter usage for the 11 undocumented fields. Given 13 parameters and no output schema, more detail would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is low (23%), and the description only semantically clarifies 'outcome' and 'next_steps' in the context of handoff behavior. Most parameters (model, client, surface, etc.) remain unexplained, failing to compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Record' and the resource 'session summary at the end of significant agent work'. It distinguishes from sibling tools like memory_write by emphasizing session logging and automatic handoff behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies when to use ('at the end of significant agent work') and explains behavior based on outcome values. It does not explicitly exclude situations or name sibling tools, but context signals show it's distinct from general memory tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_claimB

Atomically claim a pending task after validating assignment, capabilities, and dependencies.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
agent_idYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It states atomicity and validation but fails to disclose side effects (e.g., task state change, failure behavior, permissions required). The behavioral picture is incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the core action. However, it could be structured better (e.g., separate parameter details) given the lack of schema descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and a complex operation involving validation and state changes, the description omits crucial context: return values, error conditions, and post-claim state. Sibling tools exist but are not contrasted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description adds no meaning for the two parameters ('id', 'agent_id'). It does not explain what they represent (e.g., task ID, claimant). This is a major gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'claim' and resource 'pending task', clearly distinguishing it from sibling tools like task_create or task_list. It also adds conditions (validating assignment, capabilities, dependencies), making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for claiming a pending task but does not explicitly state when to use it vs alternatives (e.g., when not to use, prerequisites). Sibling tool names are provided but no comparative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_createC

Create a handoff task for another agent or client.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesshort imperative title
priorityNo0-100, higher = more urgent
created_byNoclaude-code
project_idNo
assigned_toNo
descriptionYeswhat to do and why
context_jsonNostructured handoff data: paths, URLs, selectors
dependency_idsNotasks that must finish first
created_by_agentNo
assigned_agent_idNo
required_capabilitiesNocapabilities the claiming agent must have

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits such as side effects, idempotency, authorization requirements, or what happens upon creation. The description is minimal and fails to inform the agent of critical behavioral aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the tool's purpose. Every word is necessary, and there is no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 11 parameters, no output schema, and no annotations, the description is severely lacking. It does not explain the creation process, what constitutes a handoff, how tasks are claimed, or any constraints. The agent would be left with significant uncertainty.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no extra meaning beyond what the input schema already provides. With schema description coverage at 55%, the description does not compensate for the 5 parameters lacking descriptions in the schema (e.g., created_by, project_id, assigned_to, created_by_agent, assigned_agent_id).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Create' and the resource 'handoff task', and specifies the target audience 'for another agent or client'. This distinguishes it from sibling tools like task_claim, task_list, and task_update, which perform different actions on tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives. It lacks explicit context for appropriate use, such as scenarios requiring task handoff, and does not mention when not to use it or mention any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_listC
Read-only

List tasks by status, project, assignee, or blocker.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNo
blockedNo
created_byNo
project_idNo
assigned_toNo
claimed_by_agentNo
created_by_agentNo
assigned_agent_idNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, but description adds no behavioral context (e.g., pagination, ordering, response format). Does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence of 8 words, highly concise. Front-loaded with filtering capabilities but could benefit from structuring or additional context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complexity is moderate with 9 optional parameters and no output schema. Description fails to mention response format, ordering, pagination, or the default behavior when no filters applied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% so description must compensate. It explains four parameters (status, project, assignee, blocker) but omits limit, created_by, and agent-related fields. Partial compensation for low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb (List) and resource (tasks) and mentions filtering dimensions (status, project, assignee, blocker). Differentiates from sibling tools focusing on memory or mutation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like memory_search or task_search. Does not mention it is read-only or that it returns unfiltered tasks if no parameters provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_updateB

Update task status, progress, blocker, or notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
statusNo
blockerNonull clears it
progressNo
descriptionNo
context_jsonNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It only says 'update' but doesn't disclose if it is destructive, idempotent, or has side effects like status change triggers. No error conditions or authorization requirements mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise single sentence, front-loaded with key fields. Could be improved by listing fields inline, but no extra fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 6 parameters, no output schema, and no annotations, the description misses return values, error handling, required id, and completely omits context_json. Inadequate for fully understanding the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 17% (only blocker has a description). The description maps 'status, progress, blocker, or notes' to parameters, but 'notes' is actually 'description'. It omits 'context_json' entirely, so adds some but incomplete meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update task status, progress, blocker, or notes', specifying the action and resources. It distinguishes from siblings like task_create (create), task_list (list), task_claim (claim), etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives, no prerequisites mentioned (e.g., task must exist), and no exclusions provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

workspace_resumeC
Read-only

Restore compact project state for a new agent session in one token-budgeted call.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskNo
agent_idNo
client_idNo
max_tokensNo
project_idYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation indicates readOnlyHint=true, covering safety. The description adds the 'token-budgeted' trait, but 'restore' could be misinterpreted as a mutation. No additional behavioral context (e.g., what state is loaded, impact on session) is disclosed beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no extraneous words. It is front-loaded with the core purpose, though it could benefit from a clearer structure or bullet points.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given five parameters, no output schema, and 0% schema description coverage, the description is insufficient. It omits all parameter semantics, return values, and edge case behavior, making the tool hard to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention any of the five parameters. The agent receives no guidance on the meaning or usage of parameters like 'task', 'agent_id', 'client_id', 'max_tokens', or 'project_id'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('restore'), the resource ('compact project state'), and the context ('new agent session', 'token-budgeted'). However, it does not differentiate from sibling tools like context_get or memory_read, which might also restore state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or typical contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 10 tool updatesv1.0.0
    • First observedcontext_get
    • First observedmemory_read
    • First observedmemory_search
    • First observedmemory_write
    • First observedsession_log
    • First observedtask_claim
    • First observedtask_create
    • First observedtask_list
    • First observedtask_update
    • First observedworkspace_resume

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: context building, memory operations, session logging, task management, and workspace resumption. No overlapping functionality.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (e.g., `memory_read`, `task_create`), making naming predictable and intuitive.

Tool Count5/5

10 tools is well-scoped for the server's domain of agent orchestration and memory management, covering core operations without bloat.

Completeness4/5

Covers CRUD for memory (read, search, write) and tasks (create, list, update, claim) plus session logging and context. Minor gap: no explicit task deletion or memory deletion, but these are not critical for the intended workflows.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides persistent context synchronization and memory management for AI agents across sessions and projects, including file indexing, bug tracking, spatial navigation, and agent-to-agent handoff coordination.
    12
    3
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Provides a shared context layer for AI agent teams to improve token efficiency through context deduplication and incremental state sharing. It enables multiple agents to coordinate tasks, share real-time discoveries, and manage dependencies while significantly reducing redundant data transmission.
    15
    0
    7
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    A production-grade coordination hub that enables AI agents and human teams to work as a single organism by sharing tasks, context, decisions, and persistent memory across projects. It features two-tier agentic memory with per-agent hot caches, inter-agent messaging, and multi-agent authorship tracking for seamless collaboration.
    2
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SerjMihashin/waymark'

If you have feedback or need assistance with the MCP directory API, please join our Discord server