Skip to main content
Glama
NASA SciX MCP Server

NASA SciX MCP Server

by adsabs

update_permissions

DestructiveIdempotent

Grant, modify, or revoke a user's permissions on a NASA SciX library by specifying their email and desired access level.

Instructions

Grant or modify permissions for a user on a library. Can revoke access that an existing collaborator currently has.

Input Schema

NameRequiredDescriptionDefault
emailYesUser email to grant/modify permissions
library_idYesLibrary identifier
permissionYesPermission level to grant
response_formatNomarkdown

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv1.3.0
    • addedInput schema / $schema
      Added value: +"http://json-schema.org/draft-07/schema#"
    • changedInput schema / properties / email / description
      Previous value: -"User email"New value: +"User email to grant/modify permissions"
    • addedInput schema / properties / email / format
      Added value: +"email"
    • addedInput schema / properties / email / pattern
      Added value: +"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    • addedInput schema / properties / library_id / minLength
      Added value: +1
  2. First observedv1.0.14

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, readOnlyHint=false and openWorldHint=true, so the safety profile is largely covered. The description adds that existing collaborator access can be revoked, which sharpens the destructive implication, but it omits guardrails like permission requirements or effects on the last owner.

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 short sentences with the core action front-loaded and the revocation note placed second. Every clause carries information and nothing is padded.

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 destructive permissions mutation with no output schema, the description covers what changes and that existing access can be removed, but says nothing about authorization requirements, precedence when downgrading, or failure behavior. Adequate but with clear 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?

With 75% schema coverage, the schema already documents email, library_id and permission; the description only frames permission as grantable/modifiable without explaining the owner/admin/write/read hierarchy. response_format is undocumented in both places. This is the baseline 3 – no real value added beyond the structured fields.

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 states a specific verb and resource ('Grant or modify permissions for a user on a library') and extends scope with the revocation capability. It does not explicitly differentiate itself from siblings such as get_permissions or transfer_library, 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 Guidelines2/5

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

It characterizes the operation but never says when to reach for this tool versus get_permissions or transfer_library, nor what prerequisites (e.g., caller must be owner/admin) apply. Usage is only inferable from the verb.

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