space_grant
Ask for every member of the space to get a right the owner holds.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| right | Yes | ||
| space | Yes |
Ask for every member of the space to get a right the owner holds.
| Name | Required | Description | Default |
|---|---|---|---|
| right | Yes | ||
| space | Yes |
Changes observed during successful MCP inspections.
Input schema / properties / right / enumPrevious value: -[
- "code.host",
- "source.write"
-]New value: +[
+ "code.host",
+ "source.write",
+ "compute.submit"
+]Input schema / properties / space / descriptionRemoved value: -"a space id from spaces_mine"Input schema / properties / right / enumPrevious value: -[
- "code.host",
- "source.write",
- "compute.submit"
-]New value: +[
+ "code.host",
+ "source.write"
+]Input schema / properties / space / descriptionAdded value: +"a space id from spaces_mine"Input schema / properties / right / enumPrevious value: -[
- "code.host",
- "source.write"
-]New value: +[
+ "code.host",
+ "source.write",
+ "compute.submit"
+]Input schema / properties / space / descriptionRemoved value: -"a space id from spaces_mine"Input schema / properties / right / enumPrevious value: -[
- "code.host",
- "source.write",
- "compute.submit"
-]New value: +[
+ "code.host",
+ "source.write"
+]Input schema / properties / space / descriptionAdded value: +"a space id from spaces_mine"Input schema / properties / right / enumPrevious value: -[
- "code.host",
- "source.write"
-]New value: +[
+ "code.host",
+ "source.write",
+ "compute.submit"
+]Input schema / properties / space / descriptionRemoved value: -"a space id from spaces_mine"Input schema / properties / space / descriptionAdded value: +"a space id from spaces_mine"Input schema / properties / space / descriptionRemoved value: -"a space id from spaces_mine"Input schema / properties / space / descriptionAdded value: +"a space id from spaces_mine"Input schema / properties / right / propertiesRemoved value: -nullInput schema / properties / space / propertiesRemoved value: -nullInput schema / properties / right / propertiesAdded value: +nullInput schema / properties / space / descriptionRemoved value: -"a space id from spaces_mine"Input schema / properties / space / propertiesAdded value: +nullDoes the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already tell the agent this is a non-readonly, non-idempotent, open-world mutation. The description adds nothing about who may invoke it, whether an owner approval/decision step is required (the word 'Ask' hints at it but never says so), whether the grant is reversible, or what happens if the right is already held. For a privilege-escalation-shaped mutation that is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so nothing is wasted, but the compression comes at the cost of clarity rather than in service of it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation with no output schema, zero schema descriptions, and two required parameters, the description leaves out the approval model, the effect on members who lack the right, and any indication of the result. An agent cannot call this correctly without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameter meaning, and it only loosely implies the two params ('space', 'right'). It doesn't explain the semantics of the three enum values or the expected format of the space identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence gestures at granting a right to all space members, but the verb phrase 'Ask for' makes it unclear whether the tool performs the grant or merely files a request for it. It also doesn't distinguish itself from siblings such as space_revoke, space_secret_grant, integration_grant, or permission_propose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which sibling to prefer for adjacent operations (revoking, secret grants, permission proposals). The agent must infer the routing decision entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.