Skip to main content
Glama

request_access

Ask a human administrator for a specific permission. Creates a notification, grants nothing; the human who accepts chooses the duration (1 hour by default). Secret export hands plaintext to the connector/provider; prefer broker use when suitable. github.repo.read and github.repo.write ask for access to ONE repository already linked to the project (binding_id is its repo_id from read_repositories): accepting gives the right for the chosen duration, and github_token then returns a short-lived token limited to that repository. document.limit asks to raise the maximum size of one document (document_id, max_chars) after a document_over_limit refusal: accepting changes that limit and grants nothing.

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": {
      "project_id": "<project_id>",
      "capability": "<capability>",
      "reason": "<reason>"
    },
    "name": "request_access"
  }
}

Input Schema

NameRequiredDescriptionDefault
reasonYes
max_charsNo
binding_idNo
capabilityYes
project_idYes
document_idNo
result_offsetNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / capability / enum
      Previous value: -[
      -  "project.read",
      -  "documents.write",
      -  "resources.read",
      -  "secrets.use",
      -  "secrets.export",
      -  "executor.run",
      -  "executor.start",
      -  "document.limit"
      -]New value: +[
      +  "project.read",
      +  "documents.write",
      +  "resources.read",
      +  "secrets.use",
      +  "secrets.export",
      +  "executor.run",
      +  "executor.start",
      +  "document.limit",
      +  "github.repo.read",
      +  "github.repo.write"
      +]
  2. Changed3 schema fields changed
    • changedInput schema / properties / capability / enum
      Previous value: -[
      -  "project.read",
      -  "documents.write",
      -  "resources.read",
      -  "secrets.use",
      -  "secrets.export",
      -  "executor.run",
      -  "executor.start"
      -]New value: +[
      +  "project.read",
      +  "documents.write",
      +  "resources.read",
      +  "secrets.use",
      +  "secrets.export",
      +  "executor.run",
      +  "executor.start",
      +  "document.limit"
      +]
    • addedInput schema / properties / document_id
      Added value: +{
      +  "maxLength": 80,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / max_chars
      Added value: +{
      +  "maximum": 150000,
      +  "type": "integer"
      +}
  3. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, idempotentHint=false and destructiveHint=false; the description adds the crucial behaviour that nothing is granted immediately, that a human chooses the duration (1 hour default), that github_token afterwards yields a short-lived repo-scoped token, and that secrets.export hands plaintext to the connector. These are non-obvious consequences an agent cannot infer from the annotations.

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-loads the core behaviour in the first sentence and then organizes the rest by capability. It is dense but nearly every clause adds routing or behavioural information; the only cost is that the capability sentences are packed into a single paragraph rather than separated.

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?

With no output schema, 7 parameters and 0% schema coverage, the description covers the highest-risk paths (secret export, GitHub repo access, document limits) well but leaves half the capability enum and three parameters undocumented. An agent requesting project.read, executor.run or documents.write has no guidance on what binding_id/document_id/result_offset mean in that case.

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 0%, so the description must carry the parameter burden, and it partially does: binding_id is defined as the repo_id from read_repositories, and document_id/max_chars are tied to document.limit. However reason, project_id and result_offset are never explained, and 6 of the 10 capability enum values (project.read, documents.write, resources.read, secrets.use, executor.run, executor.start) get no parameter mapping at all.

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?

Opens with a specific verb and resource ("Ask a human administrator for a specific permission") and immediately scopes it against siblings by stating "Creates a notification, grants nothing" — distinguishing it from github_token, use_secret and export_secret. The capability-specific sentences let an agent tell exactly what the tool does per enum value.

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?

Gives explicit routing conditions: github.repo.read/write are for ONE already-linked repository identified via read_repositories; document.limit is to be used "after a document_over_limit refusal"; and secret export should be avoided in favour of broker use when suitable. That is when-to-use, when-to-avoid, and a named alternative in one place.

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.

Resources