// DOCS MCP 1.x

Limitations

The things this package deliberately does not do, in one place. Each one links to the chapter that explains why.

Actions

  • Action discovery covers the resource's table only: row actions, table header actions, toolbar actions, empty state actions and column actions. Bulk actions aren't discovered, since they act on a record set while an action tool takes a single id, and neither are page header actions or relation manager actions. Extract the work into an operation and expose it as a custom tool, see sharing the operation.
  • Only closures whose parameters are limited to $record, $data and $arguments can run headlessly. Anything asking for $livewire, $table or other page state is skipped at registration, see bridging actions.
  • requiresConfirmation() does nothing over MCP, and an action whose modal schema cannot be built headlessly is skipped rather than exposed without its form, see actions with input.

Writes

  • Writes don't run resource page lifecycle hooks (mutateFormDataBeforeCreate and friends), use McpResource::mutateDataUsing() instead, see exposing resources.
  • Repeaters and builders bound to a relationship aren't writable, they save through saveRelationshipsUsing which the write path doesn't run.
  • Relation tools are read only. A BelongsToMany exposed on the form as a multiple relationship Select is writable, see relations.
  • A relationship Select's modifyQueryUsing narrowing is not replayed when its keys are checked. Global scopes are, see relationship keys.
  • Translatable attributes are written one locale at a time, whichever the application is running under, see field types.

Fields and files

  • Unknown field types are treated as strings. Teach the package about one with fieldMapper(), see custom field types.
  • Image cropping and resizing aren't applied to uploads, those are client-side only in filament, see stored files.

Authentication

  • OAuth 2.1 is not supported yet, McpPlugin::make()->oauth() throws. Use MCP tokens in the meantime.
// COOKIES

A few cookies keep the site working and remember the language you are reading in. Others count visits, and those stay off until you allow them.

Cookie policy