Skip to main content
Glama

Добавить участника или изменить его права

members_save

Add a registered person to a case by email, or change an existing member's role and specific permissions. For unregistered users, create an invite link first.

Instructions

Без параметра member добавляет в дело уже зарегистрированного человека по почте. С параметром member меняет его роль и точечные права поверх роли. Если человек ещё не зарегистрирован, создайте ссылку-приглашение через invites_create.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
caseNoДело: название или идентификатор. Если не указать, берётся дело по умолчанию, иначе последнее открытое в панели.
noteNoСлужебная пометка об участнике.
roleNoРоль: название, короткое имя или идентификатор. Готовые: owner, admin, builder, operator, observer. По умолчанию при добавлении назначается «оператор».
emailNoПочта того, кого добавляем в дело.
memberNoКого менять: почта, имя или идентификатор участия. Не указывайте для добавления.
extra_permissionsNoПрава поверх роли. Заменяет прежний список целиком.
revoked_permissionsNoПрава, отбираемые у участника вопреки роли. Заменяет прежний список целиком.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.16
    • changedInput schema / properties / extra_permissions / items / enum
      Previous value: -[
      -  "case.view",
      -  "case.edit",
      -  "case.delete",
      -  "case.transfer",
      -  "member.view",
      -  "member.invite",
      -  "member.edit",
      -  "member.remove",
      -  "role.view",
      -  "role.manage",
      -  "bot.view",
      -  "bot.create",
      -  "bot.edit",
      -  "bot.delete",
      -  "bot.control",
      -  "bot.token_reveal",
      -  "flow.view",
      -  "flow.edit",
      -  "flow.publish",
      -  "flow.delete",
      -  "chat.view",
      -  "chat.reply",
      -  "chat.takeover",
      -  "chat.broadcast",
      -  "chat.delete",
      -  "ai.view",
      -  "ai.manage",
      -  "knowledge.view",
      -  "knowledge.edit",
      -  "audit.view"
      -]New value: +[
      +  "case.view",
      +  "case.edit",
      +  "case.delete",
      +  "case.transfer",
      +  "member.view",
      +  "member.invite",
      +  "member.edit",
      +  "member.remove",
      +  "role.view",
      +  "role.manage",
      +  "bot.view",
      +  "bot.create",
      +  "bot.edit",
      +  "bot.delete",
      +  "bot.control",
      +  "bot.token_reveal",
      +  "flow.view",
      +  "flow.edit",
      +  "flow.publish",
      +  "flow.delete",
      +  "market.publish",
      +  "chat.view",
      +  "chat.reply",
      +  "chat.takeover",
      +  "chat.broadcast",
      +  "chat.delete",
      +  "ai.view",
      +  "ai.manage",
      +  "knowledge.view",
      +  "knowledge.edit",
      +  "audit.view"
      +]
    • changedInput schema / properties / revoked_permissions / items / enum
      Previous value: -[
      -  "case.view",
      -  "case.edit",
      -  "case.delete",
      -  "case.transfer",
      -  "member.view",
      -  "member.invite",
      -  "member.edit",
      -  "member.remove",
      -  "role.view",
      -  "role.manage",
      -  "bot.view",
      -  "bot.create",
      -  "bot.edit",
      -  "bot.delete",
      -  "bot.control",
      -  "bot.token_reveal",
      -  "flow.view",
      -  "flow.edit",
      -  "flow.publish",
      -  "flow.delete",
      -  "chat.view",
      -  "chat.reply",
      -  "chat.takeover",
      -  "chat.broadcast",
      -  "chat.delete",
      -  "ai.view",
      -  "ai.manage",
      -  "knowledge.view",
      -  "knowledge.edit",
      -  "audit.view"
      -]New value: +[
      +  "case.view",
      +  "case.edit",
      +  "case.delete",
      +  "case.transfer",
      +  "member.view",
      +  "member.invite",
      +  "member.edit",
      +  "member.remove",
      +  "role.view",
      +  "role.manage",
      +  "bot.view",
      +  "bot.create",
      +  "bot.edit",
      +  "bot.delete",
      +  "bot.control",
      +  "bot.token_reveal",
      +  "flow.view",
      +  "flow.edit",
      +  "flow.publish",
      +  "flow.delete",
      +  "market.publish",
      +  "chat.view",
      +  "chat.reply",
      +  "chat.takeover",
      +  "chat.broadcast",
      +  "chat.delete",
      +  "ai.view",
      +  "ai.manage",
      +  "knowledge.view",
      +  "knowledge.edit",
      +  "audit.view"
      +]
  2. Changed2 schema fields changedv0.1.14
    • changedInput schema / properties / extra_permissions / items / enum
      Previous value: -[
      -  "case.view",
      -  "case.edit",
      -  "case.delete",
      -  "case.transfer",
      -  "member.view",
      -  "member.invite",
      -  "member.edit",
      -  "member.remove",
      -  "role.view",
      -  "role.manage",
      -  "bot.view",
      -  "bot.create",
      -  "bot.edit",
      -  "bot.delete",
      -  "bot.control",
      -  "bot.token_reveal",
      -  "flow.view",
      -  "flow.edit",
      -  "flow.publish",
      -  "flow.delete",
      -  "chat.view",
      -  "chat.reply",
      -  "chat.takeover",
      -  "chat.delete",
      -  "ai.view",
      -  "ai.manage",
      -  "audit.view"
      -]New value: +[
      +  "case.view",
      +  "case.edit",
      +  "case.delete",
      +  "case.transfer",
      +  "member.view",
      +  "member.invite",
      +  "member.edit",
      +  "member.remove",
      +  "role.view",
      +  "role.manage",
      +  "bot.view",
      +  "bot.create",
      +  "bot.edit",
      +  "bot.delete",
      +  "bot.control",
      +  "bot.token_reveal",
      +  "flow.view",
      +  "flow.edit",
      +  "flow.publish",
      +  "flow.delete",
      +  "chat.view",
      +  "chat.reply",
      +  "chat.takeover",
      +  "chat.broadcast",
      +  "chat.delete",
      +  "ai.view",
      +  "ai.manage",
      +  "knowledge.view",
      +  "knowledge.edit",
      +  "audit.view"
      +]
    • changedInput schema / properties / revoked_permissions / items / enum
      Previous value: -[
      -  "case.view",
      -  "case.edit",
      -  "case.delete",
      -  "case.transfer",
      -  "member.view",
      -  "member.invite",
      -  "member.edit",
      -  "member.remove",
      -  "role.view",
      -  "role.manage",
      -  "bot.view",
      -  "bot.create",
      -  "bot.edit",
      -  "bot.delete",
      -  "bot.control",
      -  "bot.token_reveal",
      -  "flow.view",
      -  "flow.edit",
      -  "flow.publish",
      -  "flow.delete",
      -  "chat.view",
      -  "chat.reply",
      -  "chat.takeover",
      -  "chat.delete",
      -  "ai.view",
      -  "ai.manage",
      -  "audit.view"
      -]New value: +[
      +  "case.view",
      +  "case.edit",
      +  "case.delete",
      +  "case.transfer",
      +  "member.view",
      +  "member.invite",
      +  "member.edit",
      +  "member.remove",
      +  "role.view",
      +  "role.manage",
      +  "bot.view",
      +  "bot.create",
      +  "bot.edit",
      +  "bot.delete",
      +  "bot.control",
      +  "bot.token_reveal",
      +  "flow.view",
      +  "flow.edit",
      +  "flow.publish",
      +  "flow.delete",
      +  "chat.view",
      +  "chat.reply",
      +  "chat.takeover",
      +  "chat.broadcast",
      +  "chat.delete",
      +  "ai.view",
      +  "ai.manage",
      +  "knowledge.view",
      +  "knowledge.edit",
      +  "audit.view"
      +]
  3. First observedv0.1.1

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already indicate this is a mutating, non-idempotent operation. The description adds useful behavioral context by describing the two operational modes and the precondition that the person must already be registered. It does not disclose every side effect, but the annotations lower the burden.

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?

Three compact sentences with no filler. The primary behavior is front-loaded, the parameter-dependent mode is explained, and the alternative routing is provided efficiently.

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 tool with 7 optional parameters and no output schema, the description covers the core decision logic and points to the correct sibling for the unregistered case. It does not repeat what the rich schema already documents, so enough context is provided for correct invocation.

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?

Schema coverage is 100%, so the baseline is 3. The description adds semantic value beyond the schema by explaining the conditional relationship between member and email/role, making it clear that member selects an existing participant while email identifies the person being added.

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?

Description states a specific action and resource: adding an already registered person to a case or changing an existing member's role/permissions. It clearly distinguishes the two modes via presence of the member parameter and names the related sibling invites_create for the unregistered case.

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

Usage Guidelines5/5

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

Explicitly explains when to use the tool: without member for adding, with member for modifying. It also gives a direct when-not and alternative: if the person is not registered, use invites_create instead.

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