Skip to main content
Glama

Run a raw Termux:API command

termux_api
Destructive

Run any termux-* command directly without a shell to access Android features like WiFi info, notifications, or SMS, with every call logged for audit.

Instructions

Advanced escape hatch: run any termux-* command directly (for example command="wifi-connectioninfo", args=["-i"]). No shell is involved, but the command still has the full permissions granted to Termux:API. Privacy-sensitive commands such as SMS, calls, contacts, location, camera and microphone are available if the Termux:API app has been granted those Android permissions; every call is written to the audit log.

Input Schema

NameRequiredDescriptionDefault
argsNoCommand arguments. No shell expansion is performed.
stdinNoText written to standard input.
commandYesCommand name with or without the termux- prefix, e.g. "wifi-connectioninfo".
timeout_secNoTimeout. Default from config.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already flag destructive/openWorld/non-idempotent, and the description adds valuable context beyond them: no shell involvement, that commands inherit full Termux:API permissions, permission-gating for SMS/location/camera/mic, and that every call is audit-logged. It doesn't state concrete side effects or rollback for destructive commands, keeping it below a 5.

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 purpose and example, then consolidates permissions/audit caveats efficiently. Slightly dense run-on sentence structure but no wasted content.

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?

For a raw escape-hatch tool with no output schema and full schema coverage, the description covers permissions, shell behavior, and audit logging. It leaves return-value shape unspecified, but the escape-hatch nature makes that a minor gap.

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 coverage is 100%, so all four parameters are already documented. The description adds a concrete usage example (command='wifi-connectioninfo', args=['-i']) and reinforces that no shell expansion happens, but this is a minor supplement over the schema baseline.

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?

States a specific verb+resource ('run any termux-* command directly') and frames it as an 'advanced escape hatch', which implicitly distinguishes it from the shell-executing run_command sibling. An agent knows exactly what this does versus the higher-level tools.

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

Usage Guidelines4/5

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

The 'advanced escape hatch' framing signals this is a fallback for cases not covered by dedicated tools, and the privacy-sensitive command list hints at when extra care is needed. It stops short of explicitly naming when to prefer system_info/run_command instead.

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