Skip to main content
Glama

Roles inside the app

roles

Manage app access assignments: show current ones by default, or add/remove assignments such as approver or finance for selected users by email.

Instructions

Shows or changes the roles people have inside the app (the app reads them as ctx.user.roles), such as approver or finance. "show" (default), "add" or "remove" a role for some people.

Input Schema

NameRequiredDescriptionDefault
roleNoRole name, e.g. approver
actionNoWhat to do
emailsNoWork email addresses
directoryNoAbsolute path of the app's folder (the one with teamonly.json). Defaults to the folder the server started in.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

B3.2/5.0
Behavior2/5

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

The description discloses that add and remove change roles for people, which is useful beyond the sparse openWorldHint annotation. But with no readOnlyHint or destructiveHint available, it does not describe permission requirements, reversibility, side effects on existing role assignments, or what happens when changing roles.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, stating the tool's purpose before the action details. Every sentence contributes, though the second sentence is somewhat compressed and could be clearer about how add/remove relate to emails.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter tool with no output schema and sparse annotations, the description covers the core action semantics but does not explain what "show" returns, what form the role data takes, or what confirmation or effects occur after add/remove. It is adequate but leaves meaningful gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the parameters. The description adds a small amount of meaning by clarifying the default action and giving role examples, but it does not explain the directory or emails parameters beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: it shows or changes the roles people have inside the app, with examples like approver and finance. It does not explicitly distinguish itself from sibling tools such as access or get_app_rules, so it falls short of a 5.

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

Usage Guidelines3/5

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

The description names the available actions and notes that "show" is the default, which implies how to use the tool. However, it does not say when to choose this tool over alternatives like access or get_app_rules, nor does it state when not to use it.

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