CaseMgr
CaseMgr: общее рабочее пространство для кейсов, куда пишут AI-агенты
Что умеет
- Создавать, искать и обновлять кейсы и документацию к ним
- Регистрировать сессии агентов и следить за их активностью
- Забирать, выполнять и завершать рабочие задачи
- Формировать счета в PDF и TeX
- Работать с календарём и днями по кейсам
Какие данные видит
Ассистент получает доступ к кейсам, задачам и биллингу через OAuth-грант или API-токен в рамках прав подключённого аккаунта.
Нужен ли аккаунт
Не нужен: сервер работает без входа
CaseMgr — система управления кейсами по модели CMMN с большим набором MCP-инструментов: создание дел, событийные сценарии с условиями срабатывания, память с семантическим поиском, выставление счетов. Подключается через OAuth без токена или по API-токену, агенты регистрируются как отдельные сессии и работают с задачами наравне с людьми.
Как подключить
Как подключить CaseMgr к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://casemgr--mstang.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить CaseMgr к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://casemgr--mstang.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить CaseMgr к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://casemgr--mstang.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (60)
Технические названия из tools/list. Нужны только разработчикам.
| agents-deregister | Marks an agent session offline. The vertex is preserved so the next register call can refresh it; the live presence record is removed. |
| agents-get | Fetches a single agent session by RID, with `live_present` indicating live MCP connection state. |
| agents-heartbeat | 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-list | 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-register | 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_item | Cancels a pending work item (pending → cancelled). Cannot cancel items that are already processing. |
| ai-claim_and_complete_work_item | 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_item | Claims a pending work item for processing (pending → processing). Call this before starting to process a work item. |
| ai-complete_work_item | 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_pending | Gets the count of pending AI work items. Useful for checking if there's work available. |
| ai-fail_work_item | Marks a work item as failed with an error message. |
| ai-get_work_item | Gets a specific AI work item with full details including prompt, input_items, and configuration. |
| ai-list_work_items | 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_pdf | Generates a PDF invoice and stores it as a file item in the specified case. |
| billing-generate_invoice_tex | Generates a LaTeX invoice document and stores it as a file item in the specified case. |
| calendar-get_or_create | Gets or creates the main calendar |
| calendar-get_or_create_day | Gets or creates a calendar day (also creates month if needed) |
| cases-add_documentation | Adds a documentation entry to a case following the CMMN tCmmnElement pattern. Returns the updated case with all documentation entries. |
| cases-add_tag | Adds a tag to a case for categorization |
| cases-create | Creates a new CMMN case |
| cases-delete | Deletes a case |
| cases-get | Gets a specific case by ID |
| cases-get_parent | Gets the parent case of a sub-case (if any) |
| cases-list | Lists all cases |
| cases-list_documentation | Lists all documentation entries for a case. Returns array of {id, text, textFormat, created_at, created_by}. |
| cases-list_in_workspace | Lists all cases in a workspace |
| cases-list_subcases | Lists all sub-cases of a parent case (CaseTask pattern) |
| cases-load_context | 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_documentation | Removes a documentation entry from a case by its ID. |
| cases-remove_tag | Removes a tag from a case |
| cases-update | Updates a case name, description, and/or parent case |
| cases-update_status | 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-create | Creates a new client (billing entity) |
| clients-delete | Deletes a client |
| clients-get | Gets a client by ID |
| clients-get_by_name | Gets a client by name |
| clients-list | Lists all clients |
| clients-update | Updates a client |
| cmmn-achieve_milestone | Achieves a milestone (transitions from available to completed). Sets achieved_at timestamp. |
| cmmn-activate_event_listener | Activates an event listener (available -> active). For timers, calculates and schedules the next trigger time. |
| cmmn-add_discretionary_item | Adds a discretionary item to a running case by instantiating from a PlanItemDefinition. The definition must be marked as discretionary. |
| cmmn-add_model_to_case | 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_condition | Checks if a single condition is satisfied without updating any sentry. Useful for AI to preview conditions. |
| cmmn-claim_complete_with_evidence | 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_evidence | 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_task | 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_listener | Creates a CMMN Event Listener - timer, user, or generic event that can trigger sentries. |
| cmmn-create_milestone | Creates a CMMN Milestone - an achievable target that marks important progress (no work, just achievement). |
| cmmn-create_planning_table | Creates a Planning Table that defines which discretionary items can be added at runtime to a stage or case. |
| cmmn-create_sentry | Creates a CMMN Sentry with optional CMMN 1.1 enhancements (multiple conditions, evaluation modes). |
| cmmn-create_stage | Creates a CMMN Stage for grouping related plan items (tasks, milestones, other stages). |
| cmmn-create_task | Creates a CMMN-aligned task with lifecycle state management |
| cmmn-evaluate_sentry | Evaluates a sentry's conditions and updates its satisfied status. Returns detailed results for each condition. |
| cmmn-execute_stage | 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_task | 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_criteria | 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_flow | 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_plan | Preview execution order for a stage without executing. Shows which items are blocked by sentries and execution dependencies. |
| cmmn-get_next | 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_context | Gets context for AI to resume work on a case. Returns active/suspended/enabled tasks, recent completions, and summary. |