Skip to main content
Glama
tmustier

codex-computer-use-mcp

by tmustier

type_text

Insert literal text into a specified macOS app by simulating keyboard input. Automate text entry by targeting the app via its name, path, or bundle identifier.

Instructions

Type literal text using keyboard input

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appYesApp name, full app path, or unambiguous bundle identifier
textYesLiteral text to type

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.6/5.0
Behavior3/5

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

The description reveals that input is literal and delivered via keyboard simulation, which is useful since annotations do not carry behavioral details. Yet it does not disclose effects like whether the field must be focused, whether content is replaced or appended, or what happens if focus is lost. This leaves gaps for a mutating tool.

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?

One short sentence conveys the core purpose with no filler or redundancy. It is front-loaded with the primary verb and object.

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 simple two-parameter tool with fully documented schema properties, the description provides adequate context: the user supplies an app and text to type. The lack of an output schema is acceptable, though there is room for additional behavioral notes such as focus requirements.

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 both parameters already have descriptive definitions. The description adds no new semantic detail beyond echoing 'literal text' and 'keyboard input', matching the baseline for well-documented schema.

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 clear action ('type') and object ('literal text') and specifies the mechanism ('keyboard input'). It is distinct enough from siblings like press_key, but it does not explicitly explain how it differs from set_value or select_text.

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 phrase 'literal text' implies when to use this tool: when an exact string must be typed, not when pressing shortcuts or performing actions. However, there is no explicit guidance about when to use alternatives like set_value or press_key, so usage context is only implied.

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