Skip to main content
Glama
appolabs

Appo MCP

Official
by appolabs

set_permissions

Update an app's native permissions for tracking, camera, microphone, and NFC. Pass only the keys to change; all other settings remain intact.

Instructions

Sets an app's native permissions. Pass permissions as an object of { name: boolean }; keys are tracking, camera, microphone, nfc. Only the keys you include change — the rest and every usage message are preserved. Reversible — executes immediately. Request only permissions the app actually uses (store-review discipline).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app ID
permissionsYesMap of permission name to enabled boolean. Keys: tracking, camera, microphone, nfc. Include only the toggles you want to change.
Behavior4/5

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

Without annotations, the description compensates by disclosing key behaviors: it updates only the included keys, preserves the rest and usage messages, and is reversible and immediate. This gives a clear picture of the operation's side effects and reversibility.

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?

The description is exceptionally concise, packing all essential information—function, parameters, behavior, and a best practice—into a few short sentences. There is no redundancy or fluff.

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?

It covers the operation's core behavior, reversibility, and a store-review best practice. It omits potential error scenarios or prerequisites, but for a straightforward set operation, the description is sufficiently complete.

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?

The schema descriptions cover the parameters, but the description adds valuable meaning by explaining the object's keys and the partial-update semantics (only included keys change). This enriches the schema beyond basic type information.

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 that the tool sets an app's native permissions, enumerating the specific permission keys (tracking, camera, microphone, nfc). The verb 'sets' distinguishes it from read-only tools like check_permissions, and the resource is explicitly identified.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

It provides some usage guidance, such as requesting only permissions the app actually uses and noting the operation is reversible and immediate. However, it does not explicitly differentiate when to use this tool versus alternatives like check_permissions, leaving the comparison implicit.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/appolabs/appo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server