このMCPでできること
Manages hierarchical goals and tasks with acceptance criteria, blockers, evidence attachments, review gates, progress tracking, and completion verification.
ツール
入力スキーマ
{'type': 'object', 'properties': {'reason': {'type': 'string', 'default': None, 'description': 'Зачем удаляешь (свободный текст, ≥10 символов)'}, 'acknowledge': {'type': 'string', 'default': None, 'description': 'Точная фраза подтверждения'}, 'objects_total': {'type': 'integer', 'default': None, 'description': 'projects + goals из инвентаря (для вызова 2)'}, 'reasoning_answer': {'type': 'string', 'default': None, 'description': 'Ответ на reasoning-риддл из вызова 1'}, 'confirm_passphrase': {'type': 'string', 'default': None, 'description': 'Фраза из вызова 1 (для вызова 2)'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId', 'text'], 'properties': {'text': {'type': 'string', 'description': 'Формулировка допущения'}, 'goalId': {'type': 'string', 'description': 'UUID цели (ребёнка — assumption живёт на ребре parent→child)'}, 'signpost': {'type': 'string', 'default': None, 'description': 'Наблюдаемый индикатор провала (опционально)'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId', 'text'], 'properties': {'text': {'type': 'string', 'description': 'Формулировка критерия'}, 'goalId': {'type': 'string', 'description': 'UUID цели'}, 'position': {'type': 'integer', 'default': None, 'description': 'Позиция (default = append в конец)'}, 'probeSpec': {'default': None, 'properties': {'url': {'type': 'string', 'description': 'Absolute http(s) URL the runner requests on the deployed instance'}, 'expect': {'type': 'object', 'properties': {'body': {'type': 'object', 'additionalProperties': True}, 'http_code': {'type': 'integer', 'maximum': 599, 'minimum': 100}}, 'description': 'What the response must contain: http_code (exact) and/or body (subset of fields with expected scalar values; nested objects = nested fields; "{{deployed_revision}}" = SHA of the revision that triggered the probe)'}, 'method': {'enum': ['GET', 'HEAD'], 'type': 'string', 'description': 'HTTP method of the probe request'}}, 'description': 'Исполнимая проба post-deploy критерия: {method: GET|HEAD|POST|PUT|PATCH|DELETE, url: абсолютный http(s), expect: {http_code: 200, body: {field: expectedValue, nested: {field: value}}}}. Ожидаемые значения фиксируются сейчас; единственная подстановка времени прогона — "{{deployed_revision}}" (SHA развёрнутой ревизии). Пример: {"method":"GET","url":"https://planner.monopoly-gold.com/api/healthz","expect":{"http_code":200,"body":{"status":"ok","revision":"{{deployed_revision}}"}}}'}, 'probeClass': {'enum': ['pre-merge', 'post-deploy', None], 'type': 'string', 'default': None, 'description': 'Класс критерия: pre-merge (default; доказывается в CI / приложенным evidence) или post-deploy (доказывается исполнимой пробой против прода; требует probeSpec)'}, 'visualEvidenceSuggested': {'type': 'boolean', 'default': False, 'description': "True only when this AC accepts Planner's visual-AC advisory"}}}
入力スキーマ
{'type': 'object', 'required': ['criterionId', 'text'], 'properties': {'text': {'type': 'string', 'description': 'Text payload: URL to a permanent external source or a description of a manual scenario'}, 'createdBy': {'type': 'string', 'default': None, 'description': 'Identifier of the uploading agent'}, 'criterionId': {'type': 'string', 'description': 'UUID acceptance criterion'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId', 'text'], 'properties': {'text': {'type': 'string', 'description': 'Текст заметки (markdown)'}, 'goalId': {'type': 'string', 'description': 'UUID цели'}}}
入力スキーマ
{'type': 'object', 'required': ['assumptionId', 'text'], 'properties': {'text': {'type': 'string', 'description': 'Текст evidence — наблюдение/данные, подтверждающие или опровергающие допущение'}, 'assumptionId': {'type': 'string', 'description': 'UUID допущения'}}}
入力スキーマ
{'type': 'object', 'required': ['criterionId', 'filename', 'contentBase64'], 'properties': {'kind': {'type': 'string', 'default': None, 'description': 'Optional evidence kind override. The only accepted value is `session_history` —\nmarks this attachment as the goal-level «full Claude session transcript» artifact\nrequired by the close gate (I4-session-history). Such evidence does NOT cover any AC\nand is NOT sent to the evidence judge. Omit for normal per-AC proof (kind is derived\nfrom MIME). NOTE: transcripts are usually > 1 KB → use goal-request-upload\n(pass kind=session_history) or the multipart helper, not this base64 path.'}, 'caption': {'type': 'string', 'default': None, 'description': 'Optional human-readable description, stored in evidence.payload'}, 'filename': {'type': 'string', 'description': 'Original filename (used to derive MIME). Path components are stripped.'}, 'mimeType': {'type': 'string', 'default': None, 'description': 'MIME type — if omitted, derived from filename extension; must be in whitelist'}, 'createdBy': {'type': 'string', 'default': None, 'description': 'Identifier of the uploading agent'}, 'criterionId': {'type': 'string', 'description': 'UUID acceptance criterion the file will be evidence for'}, 'contentBase64': {'type': 'string', 'description': 'File payload, base64-encoded (RFC 4648 §4 standard alphabet, padding optional)'}, 'contentSha256': {'type': 'string', 'default': None, 'description': 'Hex-encoded SHA-256 of the raw bytes (before base64). When provided, the server\nrecomputes the hash on the decoded payload and rejects with error=file_hash_mismatch\nif they diverge — primary defence against MCP base64 truncation.'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId', 'filename', 'contentBase64'], 'properties': {'goalId': {'type': 'string', 'description': 'UUID of the goal the file illustrates'}, 'caption': {'type': 'string', 'default': None, 'description': 'Optional alt-text / caption used in the markdown fragment'}, 'filename': {'type': 'string', 'description': 'Original file name (basename only; used for download + markdown alt)'}, 'mimeType': {'type': 'string', 'default': None, 'description': 'Optional MIME hint; server sniffs bytes when omitted or not whitelisted'}, 'createdBy': {'type': 'string', 'default': None, 'description': 'Identifier of the uploading agent'}, 'contentBase64': {'type': 'string', 'description': 'File bytes, standard base64 (RFC 4648). Tiny files only — see description.'}, 'contentSha256': {'type': 'string', 'default': None, 'description': 'Optional hex sha256 of the raw bytes — server fails fast on transport corruption'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId', 'description'], 'properties': {'goalId': {'type': 'string', 'description': 'UUID блокируемой цели'}, 'description': {'type': 'string', 'description': 'Описание блокера — что мешает'}, 'linkedGoalId': {'type': 'string', 'default': None, 'description': 'UUID существующей цели-резолвера (взаимоисключающе с resolverTitle)'}, 'resolverTitle': {'type': 'string', 'default': None, 'description': 'Заголовок новой цели-резолвера (взаимоисключающе с linkedGoalId)'}, 'resolverParentId': {'type': 'string', 'default': None, 'description': 'UUID родителя резолвера (default = goalId, т.е. дочерняя)'}, 'resolverDescription': {'type': 'string', 'default': None, 'description': 'Описание цели-резолвера'}}}
入力スキーマ
{'type': 'object', 'required': ['title'], 'properties': {'mode': {'type': 'string', 'default': None, 'description': 'Режим: grove (default) или standard. Grove enforce-ит I_start на ready_for_work и I₃ на done; standard несёт те же AC, но без evidence-гейта'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'default': None, 'description': 'Теги'}, 'type': {'type': 'string', 'default': None, 'description': 'goal / milestone / task / habit (default: task)'}, 'title': {'type': 'string', 'description': 'Название цели (макс. 500)'}, 'status': {'type': 'string', 'default': None, 'description': 'backlog (default) / ready_for_work (объявить контракт готовым; grove в проекте с обязательным red-team объявляется только через goal-update)'}, 'deadline': {'type': 'string', 'default': None, 'description': 'Дедлайн ISO 8601'}, 'estimate': {'type': 'string', 'default': None, 'description': 'Оценка'}, 'parentId': {'type': 'string', 'default': None, 'description': 'UUID родителя (null = root)'}, 'priority': {'type': 'integer', 'default': None, 'description': 'Приоритет 1–5 (default: 3)'}, 'projectId': {'type': 'string', 'default': None, 'description': 'UUID проекта'}, 'description': {'type': 'string', 'default': None, 'description': 'Описание'}, 'acceptanceCriteria': {'type': 'array', 'items': {}, 'default': None, 'description': 'Список AC: строка (pre-merge критерий) или объект {text, probeClass?: pre-merge|post-deploy, probeSpec?}. post-deploy критерий обязан нести исполнимую пробу probeSpec {method, url, expect:{http_code, body:{field: expectedValue}}} — иначе error=probe_required; probeSpec без probeClass = post-deploy. Grove: опциональны на create, обязательны до объявления ready_for_work, блокирующий quality-линтер. Standard: описательные, линтер advisory'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId'], 'properties': {'goalId': {'type': 'string', 'description': 'UUID цели'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId', 'reason'], 'properties': {'goalId': {'type': 'string', 'description': 'UUID цели'}, 'reason': {'type': 'string', 'description': 'Почему контрпример неприменим — от 80 символов, попадёт в историю цели'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId'], 'properties': {'goalId': {'type': 'string', 'description': 'UUID цели'}}}
入力スキーマ
{'type': 'object', 'properties': {'type': {'type': 'string', 'default': None, 'description': 'Тип: goal, milestone, task, habit'}, 'limit': {'type': 'integer', 'default': None, 'description': 'Макс. кол-во результатов (default: 50)'}, 'status': {'type': 'string', 'default': None, 'description': 'Статус: backlog, checking_ac, checking_ac_failed, checking_ac_errored, ready_for_work, in_progress, blocked, done, cancelled'}, 'parentId': {'type': 'string', 'default': None, 'description': 'UUID родителя (только прямые дети)'}, 'projectId': {'type': 'string', 'default': None, 'description': 'UUID проекта (фильтр)'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId'], 'properties': {'goalId': {'type': 'string', 'description': 'UUID перемещаемой цели'}, 'projectId': {'type': 'string', 'default': None, 'description': 'UUID целевого проекта (используется при newParentId=null для cross-project move в корень)'}, 'newParentId': {'type': 'string', 'default': None, 'description': 'UUID нового родителя (null = сделать root)'}}}
入力スキーマ
{'type': 'object', 'required': ['evidenceId'], 'properties': {'limit': {'type': 'integer', 'default': 100, 'description': 'Number of whole lines to return (1–500)'}, 'offset': {'type': 'integer', 'default': 0, 'description': 'Zero-based line offset'}, 'byteLimit': {'type': 'integer', 'default': None, 'description': 'Number of bytes to return for binary evidence; omit with byteOffset for the complete original'}, 'byteOffset': {'type': 'integer', 'default': None, 'description': 'Zero-based byte offset for binary evidence'}, 'evidenceId': {'type': 'string', 'description': 'UUID of file-backed evidence from goal-get'}, 'binaryDelivery': {'enum': ['link', 'base64'], 'type': 'string', 'default': 'link', 'description': 'Complete binary: link to the original (default), or base64 fallback for clients without external links'}}}
入力スキーマ
{'type': 'object', 'required': ['project'], 'properties': {'limit': {'type': 'integer', 'default': None, 'description': 'Сколько записей вернуть, default 10'}, 'project': {'type': 'string', 'description': 'Slug проекта'}, 'statuses': {'type': 'array', 'items': {'type': 'string'}, 'default': None, 'description': 'Подмножество {backlog,checking_ac,checking_ac_failed,checking_ac_errored,ready_for_work,in_progress,blocked}, default ["backlog"]'}, 'withinDays': {'type': 'integer', 'default': None, 'description': 'Окно свежести (createdAt), default 14'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId', 'reworkClass', 'afterFingerprint', 'precondition', 'action', 'outcome', 'acVerdict', 'artifactRefs'], 'properties': {'action': {'type': 'string', 'description': 'Action that changed the result'}, 'goalId': {'type': 'string', 'description': 'Goal UUID'}, 'outcome': {'type': 'string', 'description': 'Observable completed result'}, 'acVerdict': {'type': 'string', 'description': 'matches, weak, mismatch, or errored'}, 'reworkClass': {'type': 'string', 'description': 'implementation, contract, proof_only, or unknown'}, 'artifactRefs': {'type': 'array', 'items': {}, 'description': 'Existing goal-owned evidence/goal_attachment refs'}, 'precondition': {'type': 'string', 'description': 'Observable state before the iteration'}, 'coverageDelta': {'type': 'array', 'items': {}, 'default': [], 'description': 'Structured coverage change'}, 'afterFingerprint': {'type': 'string', 'description': 'Lowercase SHA-256 of the completed result'}, 'beforeFingerprint': {'type': 'string', 'default': None, 'description': 'Optional lowercase SHA-256 of the prior result'}, 'addressesFindingIds': {'type': 'array', 'items': {'type': 'string'}, 'default': [], 'description': 'Registered finding UUIDs addressed by this iteration'}, 'repeatCheckEvidenceId': {'type': 'string', 'default': None, 'description': 'Separate judged evidence UUID; mandatory when findings are addressed'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId', 'kind', 'summary', 'subjectRefs'], 'properties': {'kind': {'type': 'string', 'description': 'evidence_mismatch, red_team_hole, assumption_invalidated, acceptance_gap, or manual_checkpoint'}, 'goalId': {'type': 'string', 'description': 'Goal UUID'}, 'summary': {'type': 'string', 'description': 'Concise observable weakness or gap'}, 'sourceRefs': {'type': 'array', 'items': {}, 'default': [], 'description': 'Optional immutable source refs (validated structurally; resolved by the certificate recorder)'}, 'subjectRefs': {'type': 'array', 'items': {}, 'description': 'Goal-scoped subject refs'}}}
入力スキーマ
{'type': 'object', 'required': ['assumptionId'], 'properties': {'assumptionId': {'type': 'string', 'description': 'UUID допущения'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId', 'blockerId'], 'properties': {'goalId': {'type': 'string', 'description': 'UUID цели'}, 'blockerId': {'type': 'string', 'description': 'UUID блокера'}}}
入力スキーマ
{'type': 'object', 'required': ['criterionId'], 'properties': {'criterionId': {'type': 'string', 'description': 'UUID acceptance criterion'}}}
入力スキーマ
{'type': 'object', 'required': ['evidenceId'], 'properties': {'evidenceId': {'type': 'string', 'description': 'UUID evidence-записи'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId', 'noteId'], 'properties': {'goalId': {'type': 'string', 'description': 'UUID цели'}, 'noteId': {'type': 'string', 'description': 'UUID заметки'}}}
入力スキーマ
{'type': 'object', 'required': ['ids'], 'properties': {'ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'UUID целей в новом порядке (все должны иметь одного родителя и одинаковый priority)'}}}
入力スキーマ
{'type': 'object', 'required': ['criterionId', 'reason'], 'properties': {'reason': {'type': 'string', 'description': 'Structured justification. For unreachable: what is\nunreachable and what was attempted. For wrong_criterion:\nwhich wording/threshold the owner never approved, or what\nfinding showed the criterion measures something else'}, 'grounds': {'type': 'string', 'default': 'unreachable', 'description': "Subject of the request: 'unreachable' (default) or 'wrong_criterion'"}, 'criterionId': {'type': 'string', 'description': 'UUID of the acceptance criterion to escalate'}, 'quotedFragment': {'type': 'string', 'default': None, 'description': 'Verbatim slice of the criterion text claimed to be\nwrong — required when grounds=wrong_criterion,\nignored otherwise'}}}
入力スキーマ
{'type': 'object', 'properties': {'kind': {'type': 'string', 'default': None, 'description': 'Optional evidence kind override. Only accepted value is\n`session_history` (goal-level transcript artifact; does NOT cover an AC).'}, 'goalId': {'type': 'string', 'default': None, 'description': 'UUID of a goal — issues a ticket for a DESCRIPTION ATTACHMENT (not evidence); mutually exclusive with criterionId'}, 'caption': {'type': 'string', 'default': None, 'description': 'Optional human-readable description, stored on the evidence'}, 'createdBy': {'type': 'string', 'default': None, 'description': 'Identifier of the uploading agent'}, 'criterionId': {'type': 'string', 'default': None, 'description': 'UUID acceptance criterion the file will be evidence for (omit when goalId is given)'}}}
入力スキーマ
{'type': 'object', 'required': ['escalationId', 'resolution'], 'properties': {'note': {'type': 'string', 'default': None, 'description': 'Optional comment explaining the decision'}, 'newText': {'type': 'string', 'default': None, 'description': 'New AC text (required when resolution=edit)'}, 'resolution': {'type': 'string', 'description': 'One of: edit, split, drop, reject'}, 'escalationId': {'type': 'string', 'description': 'UUID of the escalation to resolve'}, 'linkedGoalId': {'type': 'string', 'default': None, 'description': 'Optional UUID of an existing goal to record as an\naudit reference (only meaningful when resolution=drop)'}, 'overrideResolvedBy': {'type': 'string', 'default': None}}}
入力スキーマ
{'type': 'object', 'required': ['goalId'], 'properties': {'goalId': {'type': 'string'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId'], 'properties': {'goalId': {'type': 'string', 'description': 'UUID цели (ребёнка)'}}}
入力スキーマ
{'type': 'object', 'properties': {'projectId': {'type': 'string', 'default': None, 'description': 'UUID проекта'}}}
入力スキーマ
{'type': 'object', 'required': ['title'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}, 'default': None, 'description': 'Теги (автоматически добавляется "suggestion")'}, 'title': {'type': 'string', 'description': 'Название задачи'}, 'project': {'type': 'string', 'default': None, 'description': 'Slug проекта (если не указан — используется дефолтный)'}, 'priority': {'type': 'integer', 'default': None, 'description': 'Приоритет 1–5 (default: 4)'}, 'description': {'type': 'string', 'default': None, 'description': 'Описание'}}}
入力スキーマ
{'type': 'object', 'properties': {'rootId': {'type': 'string', 'default': None, 'description': 'UUID корня поддерева'}, 'projectId': {'type': 'string', 'default': None, 'description': 'UUID проекта (по умолчанию: все проекты)'}}}
入力スキーマ
{'type': 'object', 'required': ['goalId'], 'properties': {'mode': {'type': 'string', 'default': None, 'description': 'Режим цели: standard или grove. Иммутабелен после mode_locked_at'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'default': None, 'description': 'Новые теги'}, 'type': {'type': 'string', 'default': None, 'description': 'Новый тип: goal, milestone, task, habit'}, 'title': {'type': 'string', 'default': None, 'description': 'Новое название (макс. 500)'}, 'goalId': {'type': 'string', 'description': 'UUID цели'}, 'status': {'type': 'string', 'default': None, 'description': 'Новый статус: backlog, ready_for_work, in_progress, blocked, done, cancelled (checking_ac* выставляет система)'}, 'deadline': {'type': 'string', 'default': None, 'description': 'Новый дедлайн (ISO 8601)'}, 'estimate': {'type': 'string', 'default': None, 'description': 'Новая оценка'}, 'priority': {'type': 'integer', 'default': None, 'description': 'Новый приоритет (1–5)'}, 'description': {'type': 'string', 'default': None, 'description': 'Новое описание'}, 'attemptCommit': {'type': 'string', 'default': None, 'description': 'git SHA коммита попытки (7–64 hex). Когда развёрнутая ревизия содержит его (предок, не равенство), post-deploy пробы цели стартуют сами по событию деплоя; повторная установка = новая попытка (отметки доставки и пробы сбрасываются); "" снимает'}, 'dismissVisualAcSuggestion': {'type': 'boolean', 'default': None, 'description': 'Отклонить advisory visual-AC; для ready_for_work это явный выбор «продолжить без предложения»'}}}
入力スキーマ
{'type': 'object', 'required': ['assumptionId'], 'properties': {'text': {'type': 'string', 'default': None, 'description': 'Новый текст допущения'}, 'signpost': {'type': 'string', 'default': None, 'description': 'Новый индикатор провала'}, 'assumptionId': {'type': 'string', 'description': 'UUID допущения'}}}
入力スキーマ
{'type': 'object', 'required': ['criterionId'], 'properties': {'text': {'type': 'string', 'default': None, 'description': 'New criterion text (omit to keep)'}, 'probeSpec': {'default': None, 'properties': {'url': {'type': 'string', 'description': 'Absolute http(s) URL the runner requests on the deployed instance'}, 'expect': {'type': 'object', 'properties': {'body': {'type': 'object', 'additionalProperties': True}, 'http_code': {'type': 'integer', 'maximum': 599, 'minimum': 100}}, 'description': 'What the response must contain: http_code (exact) and/or body (subset of fields with expected scalar values; nested objects = nested fields; "{{deployed_revision}}" = SHA of the revision that triggered the probe)'}, 'method': {'enum': ['GET', 'HEAD'], 'type': 'string', 'description': 'HTTP method of the probe request'}}, 'description': 'Исполнимая проба post-deploy критерия: {method, url, expect: {http_code, body: {field: expectedValue}}}; "{{deployed_revision}}" в ожидаемых значениях = SHA развёрнутой ревизии. Пример: {"method":"GET","url":"https://planner.monopoly-gold.com/api/healthz","expect":{"http_code":200,"body":{"status":"ok","revision":"{{deployed_revision}}"}}}'}, 'probeClass': {'enum': ['pre-merge', 'post-deploy', None], 'type': 'string', 'default': None, 'description': 'Класс критерия: pre-merge (доказывается в CI / приложенным evidence; сбрасывает пробу) или post-deploy (доказывается исполнимой пробой против прода; требует probeSpec — свой или уже сохранённый)'}, 'criterionId': {'type': 'string', 'description': 'UUID acceptance criterion'}}}
入力スキーマ
{'type': 'object', 'required': ['projectId', 'dependsOnProjectId'], 'properties': {'projectId': {'type': 'string', 'description': 'UUID или slug проекта-зависимого'}, 'dependsOnProjectId': {'type': 'string', 'description': 'UUID или slug проекта, от которого зависит'}}}
入力スキーマ
{'type': 'object', 'required': ['title', 'slug'], 'properties': {'icon': {'type': 'string', 'default': None, 'description': 'Иконка (эмодзи, макс. 10 символов)'}, 'slug': {'type': 'string', 'description': 'Уникальный slug (только a-z, 0-9, дефис)'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'default': None, 'description': 'Теги'}, 'title': {'type': 'string', 'description': 'Название проекта'}, 'status': {'type': 'string', 'default': None, 'description': 'Статус: active / archived / paused (default: active)'}, 'isDefault': {'type': 'boolean', 'default': None, 'description': 'Сделать проектом по умолчанию'}, 'sourceRef': {'type': 'object', 'default': None, 'description': 'Источник кода для remote-research: {type:"git",url,ref}'}, 'description': {'type': 'string', 'default': None, 'description': 'Описание проекта'}, 'repositoryUrl': {'type': 'string', 'default': None, 'description': 'URL репозитория'}, 'repositoryPath': {'type': 'string', 'default': None, 'description': 'Путь к репозиторию на сервере'}}}
入力スキーマ
{'type': 'object', 'required': ['projectId'], 'properties': {'force': {'type': 'boolean', 'default': None, 'description': 'Удалить вместе со всеми целями (default: false — откажет если есть цели)'}, 'projectId': {'type': 'string', 'description': 'UUID проекта'}}}
入力スキーマ
{'type': 'object', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'description': 'UUID проекта'}}}
入力スキーマ
{'type': 'object', 'properties': {'status': {'type': 'string', 'default': None, 'description': 'Статус: active / archived / paused'}}}
入力スキーマ
{'type': 'object', 'properties': {'projectId': {'type': 'string', 'default': None, 'description': 'UUID или slug проекта-зависимого (если dependencyId не задан)'}, 'dependencyId': {'type': 'string', 'default': None, 'description': 'UUID самой связи'}, 'dependsOnProjectId': {'type': 'string', 'default': None, 'description': 'UUID или slug целевого проекта (если dependencyId не задан)'}}}
入力スキーマ
{'type': 'object', 'required': ['projectId'], 'properties': {'icon': {'type': 'string', 'default': None, 'description': 'Иконка (эмодзи, макс. 10 символов)'}, 'slug': {'type': 'string', 'default': None, 'description': 'Новый slug (только a-z, 0-9, дефис; должен быть уникальным)'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'default': None, 'description': 'Новые теги'}, 'title': {'type': 'string', 'default': None, 'description': 'Новое название'}, 'status': {'type': 'string', 'default': None, 'description': 'Новый статус: active, archived, paused'}, 'isDefault': {'type': 'boolean', 'default': None, 'description': 'Сделать проектом по умолчанию'}, 'projectId': {'type': 'string', 'description': 'UUID проекта'}, 'sourceRef': {'type': 'object', 'default': None, 'description': 'Источник кода для remote-research: {type:"git",url,ref}'}, 'description': {'type': 'string', 'default': None, 'description': 'Новое описание'}, 'redTeamMode': {'type': 'string', 'default': None, 'description': 'Режим red-team: optional, advisory, required'}, 'repositoryUrl': {'type': 'string', 'default': None, 'description': 'URL репозитория'}, 'clearSourceRef': {'type': 'boolean', 'default': None, 'description': 'Установить sourceRef в null (отвязать репозиторий); несовместим с sourceRef'}, 'repositoryPath': {'type': 'string', 'default': None, 'description': 'Путь к репозиторию на сервере'}, 'allowedGoalMode': {'type': 'string', 'default': None, 'description': 'Разрешённые режимы целей: any, grove_only'}, 'evidenceJudgeMode': {'type': 'string', 'default': None, 'description': 'Режим судьи доказательств: off, optional, required'}, 'fmeaGenerationMode': {'type': 'string', 'default': None, 'description': 'FMEA-генерация: off, on'}, 'escalationAutoResolveBy': {'type': 'string', 'default': None, 'description': 'Авто-резолвер эскалации: none, planner-agent'}, 'escalationResolveTimeout': {'type': 'string', 'default': None, 'description': 'Таймаут эскалации: off, 1h, 4h, 24h'}, 'escalationAutoResolveStrategy': {'type': 'string', 'default': None, 'description': 'Стратегия авто-резолва: suggest-edit, reject-default'}}}
最近のツール変更
類似のMCPサーバー
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
mcp
Manages Nestr workspaces, roles, circles, tensions, governance proposals, comments, daily plans, graph relationships, agents, and…
TaScan
Manages field-service projects, workers, task lists, subtasks, dispatch, geofenced work zones, inspections, remediation workflows…
Tango
Manages shared work between humans and agents through tasks, leases, handoffs, approvals, artifacts, comments, integrations, prog…
AIOProductOS MCP
Combines customer records, support conversations, feedback, product analytics, roadmaps, tasks, experiments, releases, and retent…
agendaforge
Manages events, agendas, sessions, speakers, attendees, sponsors, forms, contacts, email templates, approvals, and organizer work…
Refine Job Search
Tracks job applications, interviews, offers, recruiter email, and company openings, with Gmail synchronization and workflow actio…