Signatures
Подписание документов
Подключение: https://mcp.legalstack.ru/mcp/signatures или в составе агрегированного сервера https://mcp.legalstack.ru/mcp.
Имя сервера: legalstack-signatures. Инструментов: 8.
create_signature
⚠ Outward-facing: рассылает реальные ссылки/коды подписания живым людям (email/SMS/Telegram). Создаёт запрос на подписание документа. НЕ идемпотентно: повторный вызов создаёт ещё один запрос и ещё одну рассылку. Для подписанта-члена команды укажи userId (из find_user в tasks-сервере); для внешнего — достаточно email + userName. Возвращает: текст-подтверждение с названием и ID созданного запроса.
{
"type": "object",
"properties": {
"documentId": {
"type": "string",
"description": "ID документа для подписания."
},
"title": {
"type": "string",
"minLength": 1,
"description": "Название запроса."
},
"signers": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email подписанта — на него уходит ссылка/код подписания."
},
"userName": {
"type": "string",
"description": "Отображаемое имя подписанта."
},
"userId": {
"description": "ID пользователя LegalStack — только если подписант член команды.",
"type": "string"
},
"role": {
"description": "Роль подписанта. По умолчанию signer.",
"type": "string",
"enum": [
"signer",
"viewer",
"approver",
"filler"
]
},
"method": {
"description": "Способ подписания. По умолчанию email_code.",
"type": "string",
"enum": [
"ukep",
"unep",
"sms_code",
"email_code",
"telegram_code",
"facsimile",
"face_id",
"alpha_code",
"ar_sign"
]
},
"order": {
"description": "Порядок подписания при последовательном режиме.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"email",
"userName"
]
},
"description": "Подписанты (минимум один)."
},
"data": {
"description": "Дополнительные данные запроса.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"documentId",
"title",
"signers"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}delete_signature
⚠ Необратимо удаляет запрос на подписание. Восстановления нет. Для остановки с сохранением записи используй revoke_signature. Вызывай только при явном намерении удалить. Возвращает: текст-подтверждение с ID удалённого запроса.
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID запроса на подписание (UUID)."
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}get_inbox
Входящие запросы на подписание — где текущий пользователь является подписантом. Только чтение. Отличается от get_sent (где я инициатор) и list_signatures (все запросы команды). Возвращает: { signatures: [{ id, title, status, createdAt }] } или текст «Входящих запросов нет».
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}get_sent
Отправленные запросы на подписание — где текущий пользователь является инициатором. Только чтение. Отличается от get_inbox (где я подписант) и list_signatures (все запросы команды). Возвращает: { signatures: [{ id, title, status, createdAt }] } или текст «Отправленных запросов нет».
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}get_signature
Полная карточка одного запроса на подписание по ID: подписанты, метаданные, времена. Только чтение. ID берётся из list_signatures/get_inbox/get_sent. Возвращает: объект { id, title, status, signersJson, initiatorId, initiatorName, createdAt, completedAt, teamId, dataJson }.
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID запроса на подписание (UUID)."
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}list_signatures
Список запросов на подписание команды, опционально с фильтром по статусу. Только чтение. Это все доступные запросы целиком. Для «где я подписант» — get_inbox; «где я инициатор» — get_sent; одна карточка — get_signature. Возвращает: { signatures: [{ id, title, status, createdAt }] } или текст «Запросы на подписание не найдены».
{
"type": "object",
"properties": {
"status": {
"description": "Фильтр по статусу запроса.",
"type": "string",
"enum": [
"pending",
"signed",
"rejected",
"expired",
"cancelled",
"completed"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}reject_signature
⚠ Outward-facing: фиксирует отказ от подписания и уведомляет инициатора. Отклонение от лица подписанта. Для отмены запроса инициатором — revoke_signature. Возвращает: текст-подтверждение с названием/ID запроса.
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID запроса на подписание (UUID)."
},
"reason": {
"description": "Причина отклонения.",
"type": "string"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}revoke_signature
⚠ Outward-facing: останавливает запрос (только инициатор) и уведомляет подписантов. Отзыв сохраняет запись; полное удаление — delete_signature. Отказ подписанта — reject_signature. Возвращает: текст-подтверждение с названием/ID запроса.
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID запроса на подписание (UUID)."
},
"reason": {
"description": "Причина отзыва.",
"type": "string"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}