Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CASEMGR_URLNoMCP endpoint URL (for self-hosted instances)https://casemgr.systems/mcp
CASEMGR_API_TOKENYesAPI token from casemgr.systems/tokens. Required for stdio clients (Claude Desktop, Cursor).

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
agents-deregisterA

Marks an agent session offline. The vertex is preserved so the next register call can refresh it; the live presence record is removed.

agents-getB

Fetches a single agent session by RID, with live_present indicating live MCP connection state.

agents-heartbeatA

Refreshes an agent session's heartbeat. Bumps last_heartbeat_at to keep the agent marked online. Call periodically (~30s) to avoid being swept offline.

agents-listA

Lists agent sessions owned by the current user. Each entry includes a live_present flag indicating whether the agent has a live ETS frame (i.e., currently connected via MCP).

agents-registerA

Registers an MCP agent session. Upserts on (user_id, machine_id, alias) — reconnects update the existing row. Returns the agent_session_id used by other tools.

ai-cancel_work_itemA

Cancels a pending work item (pending → cancelled). Cannot cancel items that are already processing.

ai-claim_and_complete_work_itemA

Atomically claims a pending work item and completes it. Use this when the agent already knows the result and doesn't need a separate processing step — collapses the (claim → complete) two-call sequence into one. Idempotent: if the item is already in 'processing', skips the claim and just completes. Items in terminal states (completed/failed/cancelled) return an error.

ai-claim_work_itemA

Claims a pending work item for processing (pending → processing). Call this before starting to process a work item.

ai-complete_work_itemA

Marks a work item as completed with optional result and output. If output_item_type was configured, creates the output item. Triggers connected sentry if configured. Item must be in 'processing' status — call ai-claim_work_item first, or use ai-claim_and_complete_work_item to do both atomically.

ai-count_pendingA

Gets the count of pending AI work items. Useful for checking if there's work available.

ai-fail_work_itemB

Marks a work item as failed with an error message.

ai-get_work_itemA

Gets a specific AI work item with full details including prompt, input_items, and configuration.

ai-list_work_itemsA

Lists AI work items. By default returns pending items sorted by priority. Use this to find work for AI agents to process.

billing-generate_invoice_pdfA

Generates a PDF invoice and stores it as a file item in the specified case.

billing-generate_invoice_texB

Generates a LaTeX invoice document and stores it as a file item in the specified case.

calendar-get_or_createC

Gets or creates the main calendar

calendar-get_or_create_dayA

Gets or creates a calendar day (also creates month if needed)

cases-add_documentationA

Adds a documentation entry to a case following the CMMN tCmmnElement pattern. Returns the updated case with all documentation entries.

cases-add_tagB

Adds a tag to a case for categorization

cases-createC

Creates a new CMMN case

cases-deleteC

Deletes a case

cases-getB

Gets a specific case by ID

cases-get_parentA

Gets the parent case of a sub-case (if any)

cases-listC

Lists all cases

cases-list_documentationA

Lists all documentation entries for a case. Returns array of {id, text, textFormat, created_at, created_by}.

cases-list_in_workspaceB

Lists all cases in a workspace

cases-list_subcasesA

Lists all sub-cases of a parent case (CaseTask pattern)

cases-load_contextA

Loads a case's full context in ONE call: case metadata, all items with content, and sub-cases recursively. Use this instead of multiple cases-get + items-list + items-get calls when the user says 'load this case into context' or similar.

cases-remove_documentationB

Removes a documentation entry from a case by its ID.

cases-remove_tagB

Removes a tag from a case

cases-updateB

Updates a case name, description, and/or parent case

cases-update_statusA

Updates a case's lifecycle status with CMMN transition validation. Automatically sets timestamps. Valid transitions: active → completed|terminated|suspended|failed, suspended → active|terminated, completed → active|closed, terminated → closed, failed → closed, closed → active.

clients-createC

Creates a new client (billing entity)

clients-deleteC

Deletes a client

clients-getB

Gets a client by ID

clients-get_by_nameB

Gets a client by name

clients-listA

Lists all clients

clients-updateC

Updates a client

cmmn-achieve_milestoneA

Achieves a milestone (transitions from available to completed). Sets achieved_at timestamp.

cmmn-activate_event_listenerA

Activates an event listener (available -> active). For timers, calculates and schedules the next trigger time.

cmmn-add_discretionary_itemB

Adds a discretionary item to a running case by instantiating from a PlanItemDefinition. The definition must be marked as discretionary.

cmmn-add_model_to_caseA

Adds items from a Case Plan Model to an existing case. Creates a 'model' container item that holds all model items as children, allowing the entire workflow to be managed as a unit. Returns model_item_id for the container.

cmmn-check_sentry_conditionA

Checks if a single condition is satisfied without updating any sentry. Useful for AI to preview conditions.

cmmn-claim_complete_with_evidenceA

Judge-layer task completion (case #1:4264 phase 3). Evaluates the task's acceptance_criteria against the supplied evidence. On satisfied: completes the task. On not_satisfied: returns a judge_rejected halt with per-criterion verdicts. On uncertain (manual criteria present): returns user_review_required (phase 4 will introduce LLM judging). Tasks with no acceptance_criteria fall through to cmmn-complete_task semantics.

cmmn-claim_stage_complete_with_evidenceA

Phase 7 — stage analogue of cmmn-claim_complete_with_evidence. Evaluates the stage's acceptance_criteria against evidence; on satisfied, transitions the stage to completed. Otherwise returns a judge_rejected or judge_uncertain halt.

cmmn-complete_taskA

Completes a task. Stores result in task.data.result, sets status to completed, and evaluates sentries. Pre-flight gates: human tasks require confirm_human=true; tasks in 'available' state with unsatisfied entry sentries return 'blocked_by'; tasks with acceptance_criteria require the judge-layer evidence path — call cmmn-claim_complete_with_evidence instead, OR use force=true here to bypass. Use force=true to bypass any gate when the user has explicitly confirmed.

cmmn-create_event_listenerB

Creates a CMMN Event Listener - timer, user, or generic event that can trigger sentries.

cmmn-create_milestoneB

Creates a CMMN Milestone - an achievable target that marks important progress (no work, just achievement).

cmmn-create_planning_tableB

Creates a Planning Table that defines which discretionary items can be added at runtime to a stage or case.

cmmn-create_sentryB

Creates a CMMN Sentry with optional CMMN 1.1 enhancements (multiple conditions, evaluation modes).

cmmn-create_stageC

Creates a CMMN Stage for grouping related plan items (tasks, milestones, other stages).

cmmn-create_taskC

Creates a CMMN-aligned task with lifecycle state management

cmmn-evaluate_sentryB

Evaluates a sentry's conditions and updates its satisfied status. Returns detailed results for each condition.

cmmn-execute_stageA

Executes a stage by traversing its task tree depth-first. Human tasks pause execution. IMPORTANT: When the result contains next_actions with action_required='llm_execute', YOU (the calling LLM) MUST process each prompt immediately. Read the 'prompt' field, execute the work it describes, then call cmmn-complete_task with the task_id and your result. Do NOT just report these back to the user — you are the executor. The stage is not complete until all llm_execute actions have been processed and their tasks completed.

cmmn-execute_taskA

Executes a single task directly. Process/decision/case tasks execute automatically. Human tasks return an error (use update_task_status instead). IMPORTANT: When the result contains action_required='llm_execute' or a 'prompt' field, YOU (the calling LLM) MUST execute the prompt immediately, then call cmmn-complete_task with the task_id and your result. You are the executor — do the work, don't just report it.

cmmn-get_acceptance_criteriaA

Returns the judge-layer acceptance criteria + required_evidence for a task. Each criterion has id, text, verifier. verifier is a registered automated check name (e.g. schema_check, file_exists) or 'manual' (deferred to LLM judge). Backwards-compatible: if only legacy data.exit_criteria strings exist, they're normalized to manual criteria with auto-generated ids. Phase 1 of case #1:4264.

cmmn-get_execution_flowA

Gets the execution flow for a case by traversing OnPart and Guards edges. Returns workflow connections showing which items trigger sentries (OnPart) and which items are guarded by sentries (Guards). Useful for visualizing CMMN workflow dependencies.

cmmn-get_execution_planA

Preview execution order for a stage without executing. Shows which items are blocked by sentries and execution dependencies.

cmmn-get_nextA

Gets the next task to execute in a case workflow. Returns the task with gathered context (from context_sources), prompt, and result_schema. For human tasks, this is what to present to the user. For process tasks, includes execution instructions.

cmmn-get_resume_contextA

Gets context for AI to resume work on a case. Returns active/suspended/enabled tasks, recent completions, and summary.

cmmn-list_added_modelsA

Lists all models that have been added to a case (via add_model_to_case or instantiate).

cmmn-list_discretionary_itemsB

Lists all discretionary items available for a stage or case. Returns planning tables and their available PlanItemDefinitions.

cmmn-list_itemsA

Lists CMMN plan items for a case. Filter by type (task/stage/milestone/event_listener/sentry) and/or status.

cmmn-list_sentries_for_itemB

Lists all sentries (entry and exit criteria) that guard an item.

cmmn-mark_sentry_part_satisfiedB

Marks a specific condition/part of a sentry as satisfied (for onPart evaluation mode).

cmmn-mark_sentry_satisfiedB

Marks a sentry as satisfied. Sets satisfied=true and records timestamp.

cmmn-reset_sentryA

Resets a sentry to unsatisfied state, clearing all satisfied_parts. Used when re-evaluation is needed.

cmmn-reset_stageA

Resets a completed stage to active state for re-execution. The stage executor can then re-process its child tasks. Use cascade=true to also reset all downstream items.

cmmn-reset_taskA

Resets a task to allow re-execution. Returns reset_items audit listing every item touched (id, name, type, from_status, to_status). With cascade=true, walks the sentry graph forward and resets all downstream items so cmmn-execute_stage will re-run them rather than skipping completed work. With dry_run=true, returns the same audit without applying. Existing result data and child items are kept.

cmmn-set_acceptance_criteriaA

Sets the judge-layer acceptance criteria on a task. The runtime judge (case #1:4264 phase 3) will evaluate these when the agent claims completion via cmmn-claim_complete_with_evidence. Workflow authors call this to attach verification recipes — schema_check for SQL migrations, command_runs_clean for build steps, manual for natural-language assertions.

cmmn-terminate_event_listenerA

Terminates an event listener (cancels any scheduled timer jobs).

cmmn-trigger_eventB

Manually triggers an event listener (marks as completed). Use for user events or testing.

cmmn-update_sentryA

Updates a sentry's fields after creation. If guards_item or source_ref change, the corresponding graph edges (Guards/OnPart) are automatically deleted and recreated.

cmmn-update_stage_statusA

Updates a stage's status with CMMN transition validation. Automatically sets timestamps. Valid transitions: available → enabled|disabled, enabled → active|disabled, disabled → enabled, active → completed|terminated|failed|suspended, suspended → active|terminated. Note: Stages with acceptance_criteria require cmmn-claim_stage_complete_with_evidence when transitioning to 'completed' (or pass force=true).

cmmn-update_task_statusA

Updates a task's status with CMMN transition validation. Automatically sets timestamps. Valid transitions: available → enabled|disabled, enabled → active|disabled, disabled → enabled, active → completed|terminated|failed|suspended, suspended → active|terminated. Tip: To complete a task from any startable state (available/enabled/active), use cmmn-complete_task instead — it auto-transitions through intermediate states.

cmmn-validate_timer_expressionA

Validates a timer expression without creating anything. Returns parsed details (seconds for duration, datetime for date, next_trigger for cron) or an error message. Use before creating timer event listeners to catch expression errors early.

cmmn-verify_sentry_edgesA

Verifies sentry JSON data matches graph edges. Returns count of matching sentries and any mismatches where source_ref or guards_item JSON fields don't match OnPart/Guards edges. Useful for data integrity checks.

files-find_by_nameA

Finds a file by name within a case. Returns the file item if found, null if not.

files-list_versionsA

Lists all versions of a file, including current version info and version history

files-readA

Reads file content from storage. Images (PNG, JPEG, GIF, WebP, SVG) are returned as native MCP image content blocks that LLMs can view directly. Non-image files return base64-encoded content by default, or plain text if encoding='text'.

graph-get_linkedC

Gets all items linked from a vertex

graph-linkA

Creates a LinkedTo edge between any two vertices. Use link_type='context' to link a case as a context source.

graph-unlinkB

Removes a LinkedTo edge between two vertices

invoices-createB

Creates a standalone Invoice vertex with a BillTo edge to the specified client.

invoices-deleteC

Deletes an invoice

invoices-getB

Gets an invoice by ID

invoices-get_clientB

Gets the client for an invoice via BillTo edge. Returns the Client details.

invoices-get_durationsC

Gets all durations linked to an invoice

invoices-get_expensesA

Gets all expenses linked to an invoice

invoices-link_itemB

Links a duration or expense to an invoice

invoices-listA

Lists invoices, optionally filtered by client, billing period, or status

invoices-list_unbilled_durationsB

Lists all durations not yet linked to any invoice

invoices-list_unbilled_expensesA

Lists all expenses not yet linked to any invoice

invoices-unlink_itemB

Unlinks a duration or expense from an invoice

invoices-updateC

Updates an invoice

items-add_childB

Adds an existing item as a child of another item

items-add_documentationB

Adds a documentation entry to a CaseFileItem following the CMMN tCmmnElement pattern. Documentation is stored in data.documentation array.

items-convert_typeA

Converts a CaseFileItem from one type to another. Supported conversions among todo, note, task, and checkbox (todo<->note, todo<->task, note<->task, todo<->checkbox, note<->checkbox). Previous data is preserved for recovery.

items-createA

Creates a case file item. Set 'type' to choose the item type. Common params: case_id, name/title, parent_id, tags, description. Type-specific: note(content), bookmark(url,title), todo(title,status,priority,due_date), duration(start_time,end_time,billable), expense(description,amount,date), invoice(invoice_number,amount,client_id), file(filename), folder(name), checkbox(label,checked), journal_entry(content,mood), sms(body,to), directory(path), desktop(name).

items-deleteA

Deletes a case file item. If it's a file, also removes the stored file (unless referenced by other items)

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
AI Work Items PlaybookFocused guide on processing AI work items — the claim→execute→complete pipeline.
Agent Registry & Messaging PlaybookAgent registry, presence tracking, and cross-machine direct messaging — registering sessions, discovering agents, and routing messages by user/machine/agent.
CMMN Execution PlaybookComprehensive guide for LLM agents on executing CMMN workflows — task execution rules, stage flow, session lifecycle, AI work items, and common patterns.
Getting Started GuideQuick start guide for CaseMgr — key concepts, common workflows, and execution rules.
Orchestration & Case Hand-Off PlaybookHow an orchestrator agent prepares a case and hands it off to a worker agent to execute. Covers targeted delegation, capability fan-out via messages-broadcast, reply threading, and the full worked example for the prep → hand-off → execute → reply loop.
Session Lifecycle PlaybookFocused guide on session management — starting sessions, compaction recovery, and journal entries.
Stage Execution PlaybookFocused guide on executing CMMN stages — the execute→complete loop, handling next_actions, and worked examples.

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/mstang/casemgr-mcp'

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