Skip to main content
Glama

Deny access request

deny_access_request
DestructiveIdempotent

Deny a pending access request: the requester is not added to the allowlist and stays unable to view the site. Use list_access_requests to find the request_id. Admin or owner only; rejected requests (forbidden, plan_limit, not_found) make no change.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
site_idYesThe id of the site the request belongs to
request_idYesThe id of the access request to deny
workspace_idNoOptional: the workspace to act in, from list_workspaces (the connection reaches the person's personal space and every workspace they are a member of). Required on a write when the connection reaches more than one workspace. Omit to act in the personal space (for an older single-workspace connection, the one workspace it was authorized for).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / workspace_id / description
      Previous value: -"Optional: the workspace (the personal space or a Pro workspace) to act in, from list_workspaces. Omit to act in the token owner's own account."New value: +"Optional: the workspace to act in, from list_workspaces (the connection reaches the person's personal space and every workspace they are a member of). Required on a write when the connection reaches more than one workspace. Omit to act in the personal space (for an older single-workspace connection, the one workspace it was authorized for)."
  2. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already indicate destructiveHint=true and idempotentHint=true. The description adds the concrete consequence (not added to allowlist, remains unable to view site) and reiterates idempotency with 'rejected requests make no change'. It also adds the permission requirement (admin or owner). This adds value beyond annotations without contradiction.

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?

Two sentences, front-loaded with the core purpose and immediate consequence, then the necessary context (how to get the ID, permission, idempotency). Every sentence serves a distinct function with no redundancy.

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?

Given no output schema, the description covers the outcome (requester not added, stays unable to view), the idempotent behavior for rejected requests, and the required permissions. It also tells how to find the required request_id. For a simple denial action, this is fully sufficient.

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 covers 100% of parameters, so baseline is 3. The description adds a specific hint: 'Use list_access_requests to find the request_id', clarifying how to populate that parameter. It doesn't elaborate on site_id or workspace_id, but those are well-documented in the schema. This extra guidance lifts it to 4.

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 description clearly states the action: 'Deny a pending access request' and its consequence ('requester is not added to the allowlist and stays unable to view the site'). It distinguishes this from sibling approve_access_request by explicitly saying what happens instead of approval. The verb-resource pair is specific and unambiguous.

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?

The description tells the agent to use list_access_requests to find the request_id, providing a direct workflow. It also states the admin/owner-only restriction and that rejected requests make no change, which guides when to call and what to expect. This is explicit and actionable.

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.