All tools

report_friction

Diagnostics & system · macOS · Windows

Effect: send (strongest supported action). Status: gated.

Gated means the tool requires an installed app, a connected account, permission, or runtime availability. Check those requirements on the listed platform before using it.

macOS

Purpose

Send an ANONYMOUS, content-free signal when an LMCP tool fails, returns nothing useful, the user seems frustrated, or you could not accomplish what they asked. Helps the LMCP team find and fix the roughest spots. Send ONLY the category + the tool name — NEVER the user's request, message/email content, account names, or any personal data. No confirmation needed: this is anonymous (categories only) and respects the user's opt-out.

Required inputs

Permissions and confirmation

No explicit confirmation parameter is exposed in this snapshot. This does not grant permission to act: obtain user authorization before any real action.

Full input schema — macOS
{
  "properties": {
    "attempt_count": {
      "description": "How many times this was attempted (optional).",
      "type": "integer"
    },
    "error_category": {
      "description": "Category of what went wrong (optional).",
      "enum": [
        "permission",
        "timeout",
        "empty",
        "not_found",
        "parse",
        "wrong_result",
        "missing_capability",
        "crash",
        "other"
      ],
      "type": "string"
    },
    "friction_type": {
      "description": "What kind of friction you observed.",
      "enum": [
        "repeated_failure",
        "user_frustrated",
        "task_abandoned",
        "workaround_needed",
        "cannot_complete",
        "other"
      ],
      "type": "string"
    },
    "tool_attempted": {
      "description": "Name of the LMCP tool involved (e.g. list_emails). Optional.",
      "type": "string"
    }
  },
  "required": [
    "friction_type"
  ],
  "type": "object"
}

Documentation example

Do not execute this example. These concrete inputs refer to a fictional demonstration dataset. Resolve real handles and obtain user authorization before any real call.

{
  "friction_type": "cannot_complete"
}

Windows

Purpose

Send an ANONYMOUS, content-free signal when an LMCP tool fails, returns nothing useful, the user seems frustrated, or you could not accomplish what they asked. Helps the LMCP team find and fix the roughest spots. Send ONLY the category + the tool name — NEVER the user's request, message/email content, account names, or any personal data. No confirmation needed: this is anonymous (categories only).

Required inputs

Permissions and confirmation

No explicit confirmation parameter is exposed in this snapshot. This does not grant permission to act: obtain user authorization before any real action.

Full input schema — Windows
{
  "properties": {
    "attempt_count": {
      "description": "How many times this was attempted (optional).",
      "type": "integer"
    },
    "error_category": {
      "description": "Category of what went wrong (optional).",
      "enum": [
        "permission",
        "timeout",
        "empty",
        "not_found",
        "parse",
        "wrong_result",
        "missing_capability",
        "crash",
        "other"
      ],
      "type": "string"
    },
    "friction_type": {
      "description": "What kind of friction you observed.",
      "enum": [
        "repeated_failure",
        "user_frustrated",
        "task_abandoned",
        "workaround_needed",
        "cannot_complete",
        "other"
      ],
      "type": "string"
    },
    "tool_attempted": {
      "description": "Name of the LMCP tool involved (e.g. list_emails). Optional.",
      "type": "string"
    }
  },
  "required": [
    "friction_type"
  ],
  "type": "object"
}

Documentation example

Do not execute this example. These concrete inputs refer to a fictional demonstration dataset. Resolve real handles and obtain user authorization before any real call.

{
  "friction_type": "cannot_complete"
}