Skip to main content
Glama

Corply — Start and run your company

Grant or revoke restricted data access

manage_operating_access_grant
Destructive

Owner/operator-only grant or revocation of one person's expiring access to one restricted operating-data class. Use the narrowest subject and class, explain the business purpose, cap access at 90 days, and revoke immediately when the engagement ends. Revocation is retained as an audit tombstone. Prerequisite: authenticated active company access plus every prerequisite stated above. Canonicality: invokes the shared backend action; trust the returned actual_tool_output and context_engineering instead of adding a state-recovery call. Idempotency: obey the tool-specific retry key or guarantee; if none is stated, inspect refreshed state before retrying. Confirmation boundary: obtain fresh, explicit user confirmation before calling.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYes
reasonYesSpecific reviewed purpose for granting or revoking access.
grantIdNoRequired for revoke; the immutable grant record to tombstone.
companyIdNocorply_companies.id. May be omitted only when this connection has exactly one company.
dataClassNoRequired for grant; grant exactly one class at a time.
expiresAtNoRequired for grant; must be in the future and no more than 90 days away.
subjectIdNoOptional person/subject scope. Omit only for a genuinely company-wide fact class.
granteeUserIdNoRequired for grant; must be an active member of this company.
_corply_contextNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • removedInput schema / properties / _corply_context / description
      Removed value: -"Echo context_engineering.context_session from the prior Corply result."
    • changedInput schema / properties / companyId / description
      Previous value: -"corply_companies.id. May be omitted only when the active organization has exactly one company."New value: +"corply_companies.id. May be omitted only when this connection has exactly one company."
    • changedInput schema / properties / granteeUserId / description
      Previous value: -"Required for grant; must be an active member of the organization."New value: +"Required for grant; must be an active member of this company."
  2. Changed1 schema field changed
    • addedInput schema / properties / _corply_context
      Added value: +{
      +  "additionalProperties": false,
      +  "dependentRequired": {
      +    "receipt": [
      +      "id"
      +    ]
      +  },
      +  "description": "Echo context_engineering.context_session from the prior Corply result.",
      +  "properties": {
      +    "id": {
      +      "maxLength": 200,
      +      "minLength": 16,
      +      "type": "string"
      +    },
      +    "receipt": {
      +      "maxLength": 2048,
      +      "minLength": 16,
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Added

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint=false, destructiveHint=true, openWorldHint=false) by disclosing that revocation produces an audit tombstone, that the call invokes a shared backend action whose actual_tool_output should be trusted instead of a state-recovery call, and by stating idempotency/retry behavior. This is exactly the kind of mutation-side context the annotations cannot carry.

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?

Front-loaded with the core purpose and rules, then organized into labeled blocks (Prerequisite, Canonicality, Idempotency, Confirmation boundary). Dense but each block carries operational value; only the empty 'stated above' cross-reference wastes space.

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

Completeness5/5

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

For a 9-parameter mutation tool with no output schema and nested context object, the description covers authorization, scope discipline, retention semantics, retry behavior, and the confirmation gate — everything an agent needs to invoke it safely. Return values are handled by the actual_tool_output/context_engineering guidance.

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 78%, already documenting expiresAt's 90-day bound, dataClass's single-class rule, and the grant vs revoke required-parameter split. The description reinforces these ('cap access at 90 days,' 'narrowest subject and class') but adds little syntax or format meaning beyond the schema, so baseline 3 applies.

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?

States a specific verb pair (grant/revoke), the resource (expiring access to a restricted operating-data class), and the exact scope ('one person's ... one restricted operating-data class'). An agent can distinguish this from generic access or invite tools in the sibling list without opening the schema.

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

Usage Guidelines4/5

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

Gives concrete usage rules: use the narrowest subject and class, explain the business purpose, cap at 90 days, and revoke immediately when the engagement ends, plus an explicit confirmation boundary and auth prerequisite. The only weakness is the dangling reference 'plus every prerequisite stated above,' which points at text that isn't present in this definition.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.