Skip to main content
Glama
tmustier

codex-computer-use-mcp

by tmustier

select_text

Select text in an app or position the text cursor before or after it by supplying the exact accessibility-tree text. Add optional prefix or suffix to disambiguate repeated matches.

Instructions

Select text inside a text element, or place the text cursor before or after it. Provide text exactly as it appears in the accessibility tree, including any Markdown formatting. If the text is not unique, provide surrounding prefix or suffix text to disambiguate it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appYesApp name or bundle identifier
textYesTarget text as shown in the accessibility tree
prefixNoOptional text immediately before the target, used to disambiguate repeated matches
suffixNoOptional text immediately after the target, used to disambiguate repeated matches
selectionNoWhether to select the text or place the cursor before or after it. Defaults to text.
element_indexYesText element identifier

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed2 schema fields changedv0.5.0
    • addedInput schema / $defs
      Added value: +{
      +  "__schema0": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "number"
      +      },
      +      {
      +        "type": "boolean"
      +      },
      +      {
      +        "type": "null"
      +      },
      +      {
      +        "items": {
      +          "$ref": "#/$defs/__schema0"
      +        },
      +        "type": "array"
      +      },
      +      {
      +        "additionalProperties": {
      +          "$ref": "#/$defs/__schema0"
      +        },
      +        "propertyNames": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      }
      +    ]
      +  }
      +}
    • changedInput schema / additionalProperties
      Previous value: -falseNew value: +{
      +  "$ref": "#/$defs/__schema0"
      +}
  2. Addedv0.3.0

TDQS

A3.9/5.0
Behavior3/5

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

Annotations provide no readOnly, idempotent, or destructive clues, so the description carries the burden of explaining behavior. It does clarify that matching occurs against the accessibility tree and that markdown formatting matters, which is meaningful behavioral context. However, it does not mention whether the operation mutates UI state, triggers focus, or what happens on failure.

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 two seconds long, front-loads the core action, and includes only high-value tips about matching and disambiguation. Every sentence provides useful information without repetition or extraneous details.

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 6-parameter tool with no output schema, the description offers the core workflow but remains silent about return behavior, prerequisites other than app/element identification, and possible side effects. It is strong enough to attempt the call, but an agent has no explanation for outcome reporting or edge cases when the selected element is not found.

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 already covers 100% of the parameters, so the baseline is 3. The description goes beyond it by explaining how to supply the text parameter exactly as it appears, mentioning markdown formatting, and describing how prefix/suffix disambiguate repeated matches. This adds real interpretive value for the most error-prone parameters, though app and element_index are left to the schema.

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 names the action ('Select text inside a text element') and the alternative placement ('place the text cursor before or after it'), which precisely distinguishes the tool from siblings like type_text, click, and set_value. No ambiguity remains about what resource the operation applies to.

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?

The description implies the main use case—selecting or placing a cursor in text—and gives detailed instructions about exact text matching and prefix/suffix disambiguation. However, it never names when to use this tool instead of a sibling like click or type_text, nor does it state conditions that should steer the agent away from this tool.

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

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/tmustier/codex-computer-use-mcp'

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