Developer documentation
Connect AI clients to governed product data.
Avut PIM provides a remote MCP server with tenant-scoped, permission-checked tools for product discovery and carefully guarded status changes.
https://app.avut.io/mcpConnect a supported MCP client
Use the production endpoint in a compatible remote MCP client. Avut opens a browser authorization flow and never asks you to paste an access token into the client.
- 1. Add https://app.avut.io/mcp as a remote Streamable HTTP server.
- 2. Sign in to Avut PIM and choose exactly one workspace.
- 3. Review the requested read or write access, then allow the connection.
- 4. Return to the client and confirm that the expected tools are listed.
Verified clients include ChatGPT, Claude, Codex, and MCP Inspector. Available write support can depend on the external client's plan and policy.
Read access
The standard scope exposes seven bounded read tools. Every request is checked against the current workspace, role, permission, grant, and tool policy.
mcp:toolsSeparate write access
Administrators can separately enable two reviewed write tools. The client must reconnect and request the write scope before they become available.
mcp:tools.writeRead-only tools
OAuth scope: mcp:tools
| Tool | Purpose | Avut permission |
|---|---|---|
| search_products | Searches the current workspace by SKU, GTIN, name, or configured searchable fields. Returns at most 25 products per page. | products.view |
| get_product | Gets one product by ID or exact SKU. Attributes are optional and capped at 50. | products.view |
| list_product_fields | Lists configured, non-archived product fields with bounded cursor pagination. | dataModel.view |
| get_product_media_status | Gets bounded media-processing state and dimensions without returning URLs, storage keys, or checksums. | media.view |
| list_import_status | Lists recent import outcomes and row counts without filenames, failed rows, or user identifiers. | imports.history |
| list_feed_status | Lists bounded feed configuration and latest-run status without credentials, mappings, locks, or error samples. | feeds.view |
| list_shopify_connection_status | Lists bounded Shopify connection and health states without domains, OAuth details, credentials, or raw errors. | channels.view |
Write tools
OAuth scope: mcp:tools.write
| Tool | Purpose | Avut permission |
|---|---|---|
| preview_product_status_update | Validates one existing product status change and creates a ten-minute, version-bound preview without changing product data. | products.edit |
| confirm_product_status_update | Applies only the exact preview identified by its operation ID. Expired, stale, mismatched, or unauthorized operations make no change. | products.edit |
Every write is previewed and bounded
The current write surface can only change the status of one existing product. It cannot create, delete, bulk update, or edit arbitrary fields.
Preview returns the current and requested status but does not modify the product.
The operation expires after ten minutes and is bound to the user, client, grant, workspace, and product version.
If the product changes after preview, confirmation fails instead of overwriting newer data.
Idempotency and replay protection ensure that a completed operation is not applied twice.
Data goes only to the client you authorize
The external client receives only the bounded tool results requested through the connection. Its provider applies its own account, workspace, retention, residency, and model-training settings. Do not connect a provider unless your organization permits it to process the selected workspace data.
Disable workspace MCP access or revoke an individual grant in Settings > MCP connections. Removing a connector only in the external client may leave the Avut grant active.
Common errors
Avut returns bounded errors without raw database, credential, or internal diagnostic details.
Authentication required
Reconnect the client. A grant may have expired, been revoked, or lost workspace access.
Insufficient scope
Reconnect and approve the advertised scope. Writes require both mcp:tools and mcp:tools.write.
Tool unavailable
Check the user's current Avut permission, workspace setting, external-client policy, and tenant tool policy.
Product changed after preview
Review the current product, create a new preview, and confirm only if the revised change is still intended.
Ready to connect?
Use one workspace per grant, review requested access carefully, and revoke clients that are no longer needed.