# Get an Embedded MCP action schema

Read an Embedded MCP action schema to find required arguments, lookup fields, response fields, and query controls.

`get-action-schema` tells you what an action accepts and returns. Read it before `execute-actions` unless search already returned the action's full schema.

| Input | Use |
| --- | --- |
| `appRef` | Required app slug or ID. |
| `actionRef` | Required action slug or ID. |
| `appVersion` | Optional published version. Omit it for the current published version. |

```json
{
  "appRef": "slack",
  "actionRef": "sendMessage"
}
```

The output has `data.app` and `data.action`. The action includes required and optional arguments, response fields, and supported query controls. A shortened example:

```json
{
  "success": true,
  "data": {
    "app": {
      "slug": "slack",
      "name": "Slack"
    },
    "action": {
      "slug": "sendMessage",
      "requiredArgs": [
        {
          "key": "channel",
          "dataType": "string",
          "needsResolution": true
        },
        {
          "key": "text",
          "dataType": "string"
        }
      ],
      "optionalArgs": [],
      "responseFields": [
        "ok",
        "ts"
      ]
    }
  }
}
```

If an argument has `needsResolution: true`, call [`resolve-lookup`](/docs/embedded/embedded-mcp/tool-calls/resolve-lookup) and use its selected `value`. Use only query filters, sort fields, and page controls declared by this action's schema.