Skip to main content
Glama
BeeL MCP server

BeeL MCP server

Official
by beel-es

beel_change_managed_access_level

Destructive

Update the access level you hold over an account you provisioned, including raising, keeping, or lowering permissions while respecting ownership and billing rules.

Instructions

Updates the access_level you keep over an account you provisioned.

  • Raising it: only possible while the account is unclaimed. Once its holder has taken ownership you may keep or lower your access, but only they can raise it.

  • Billing: the level never affects it — you pay for the account's subscription at any level.

  • OPERATE: issuing invoices on the holder's behalf additionally requires a signed fiscal representation from them.

  • Entitlement: requires manage_accounts.

BeeL API endpoint: PATCH /v1/accounts/{account_id}/access-level (reference: https://docs.beel.es)

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "account_id": "<account_id>",
      "body": "<body>"
    },
    "name": "beel_change_managed_access_level"
  }
}

Input Schema

NameRequiredDescriptionDefault
bodyYes
account_idYesIdentifier (UUID) of an account you manage. An account you do not manage answers exactly like one that does not exist, so its existence is never disclosed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.10.0
    • addedInput schema / properties / body / type
      Added value: +"object"
  2. Changed1 schema field changedv0.9.0
    • addedInput schema / properties / account_id / description
      Added value: +"Identifier (UUID) of an account you manage. An account you do not manage answers exactly like one that does not exist, so its existence is never disclosed."
  3. Changed3 schema fields changedv0.5.0
    • changedInput schema / $defs / AccessLevel / description
      Previous value: -"How much access an actor has to an account or a company (NIF). The same three values are used everywhere access is granted or reported — whether the actor is a member of the account or a provisioner managing it on someone's behalf.\n\n`NONE` — no access to the data.\n`VIEW` — read invoices, customers, products, series and fiscal data.\n`OPERATE` — everything in `VIEW`, plus creating and editing them. Issuing invoices for an account you manage additionally requires a signed fiscal representation from the account holder (see `/v1/accounts/{account_id}/companies/{company_id}/representation`).\n\nAccess level never affects billing: whoever provisioned an account pays for its subscription regardless of the level they keep over it."New value: +"How much access an actor has to an account or a company. The same three values are used everywhere access is granted or reported — whether the actor is a member of the account or a provisioner managing it on someone's behalf.\n\n`NONE` — no access to the data.\n`VIEW` — read invoices, customers, products, series and fiscal data.\n`OPERATE` — everything in `VIEW`, plus creating and editing them. Issuing invoices for an account you manage additionally requires a signed fiscal representation from the account holder (see `/v1/accounts/{account_id}/companies/{company_id}/representation`).\n\nAccess level never affects billing: whoever provisioned an account pays for its subscription regardless of the level they keep over it."
    • addedInput schema / $defs / ChangeAccessLevelRequest / additionalProperties
      Added value: +false
    • addedInput schema / additionalProperties
      Added value: +false
  4. First observedv0.3.1

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=true, idempotentHint=false), the description discloses the claim-state precondition that gates raising access, that billing is unaffected at any level, and that OPERATE additionally requires a signed fiscal representation. These are exactly the non-obvious constraints an agent needs before invoking a destructive mutation.

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?

Four bolded bullets, each front-loading a distinct concern (raise/claim, billing, OPERATE, entitlement), followed by the endpoint line. No filler sentences and no repetition that doesn't reinforce a constraint.

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 destructive two-parameter mutation with no output schema, the description covers preconditions, cost implications, and permission requirements thoroughly. It does not describe what the response returns or what happens to entities created under OPERATE after a downgrade, but with no output schema that omission is minor.

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?

With 50% schema coverage, the description carries real weight: it explains the raise-vs-lower asymmetry of access_level and the billing neutrality, and the schema's AccessLevel enum already enumerates NONE/VIEW/OPERATE with meanings. Some redundancy with the schema's enum description costs a point, and the account_id ownership/404-indistinguishability behavior is only in the schema, not the description.

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?

The first line names a specific verb and object ('Updates the access_level you keep over an account you provisioned') plus the exact endpoint PATCH /v1/accounts/{account_id}/access-level, which immediately separates it from sibling mutations such as beel_end_management or beel_put_member_grant. An agent can tell what changes and whose access is affected 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?

It gives a sharp when-condition and when-not: raising is only possible while the account is unclaimed, and after claim only the holder can raise it. The entitlement requirement ('requires manage_accounts') further scopes applicability. It stops short of naming an alternative tool (e.g. end_management) for relinquishing access entirely, so there is no explicit alternatives routing.

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

Deploy Server

Other Tools