Features
The Redo MCP Server provides tools across orders, returns, international returns, discounts, customers, Commerce Agent conversations, marketing, and analytics. Permission names match those shown in Redo. When a tool lists multiple permissions, having any one of them grants access. An em dash means the tool does not require an additional role permission.MCP feedback
| Tool | Description | Required permission |
|---|---|---|
| submit_mcp_feedback | Report missing capabilities, incorrect or incomplete results, errors, excessive steps, or slow execution. Captures category, task, workflow, what_happened, tools_tried, and impact. Briefly summarize the limitation in plain language, invite additional context, and obtain permission before submitting; do not present the full six-argument report. Keep content generic: exclude identities, record identifiers, credentials, and confidential business information. Reports are saved with the authenticated account and caller’s user ID; no support ticket or notification is created. | Signed in |
Orders
| Tool | Description | Required permission |
|---|---|---|
| list_orders | Search and list orders by order name, customer email, provider order ID, shipment tracking number, or date range. Supports pagination. | View Orders or View Customer Orders |
| get_order | Get detailed information about a specific order including customer, items, totals, discounts, shipping cost, and taxes. | View Orders or View Customer Orders |
Customers
| Tool | Description | Required permission |
|---|---|---|
| list_customers | Search and list customer records by name, email, phone, or segment membership. Supports pagination. Use to find customer IDs before calling get_customer. | View Customer Details |
| get_customer | Get detailed customer information including contact methods, marketing consent, linked accounts, tags, segment memberships, addresses, custom fields, and loyalty details. | View Customer Details |
| get_customer_message_history | List the emails and SMS Redo sent to a customer (looked up by email or phone number), newest first. Each message includes its subject or SMS text, delivery, open, and click status, the automation step or campaign that sent it, and any discount codes it included. Supports date filters and paging. | View Customer Details |
Commerce Agent
| Tool | Description | Required permission |
|---|---|---|
| list_commerce_agent_conversations | List conversations shown in Commerce Agent > Conversations. Filter by reply status, author (Commerce Agent, Recover, SMS automation, or Campaign), trigger, generation mode, campaign, or automation. These are shopper-agent conversations, not all support tickets. | View Support |
| get_commerce_agent_conversation | Get one conversation’s transcript and recorded outbound-message provenance using a topic ID returned by list_commerce_agent_conversations. | View Support |
Returns
The returns tools are only available when Redo Returns is enabled for your account.
| Tool | Description | Required permission |
|---|---|---|
| create_draft_return | Start a merchant-created draft return for an order. Returns returnable items, non-returnable items, and the draft return ID. | Create Returns |
| manage_draft_return | Configure a draft return step-by-step by selecting items, editing quantities, answering return-flow questions, choosing compensation, setting overrides, selecting shipment, and configuring exchanges. | Create Returns |
| submit_draft_return | Submit a fully configured draft return once it reaches the ready step. Creates the actual return and returns the return ID. | Create Returns |
| list_returns | Search returns by order name, customer email, status, or date range. Supports pagination. | View Returns |
| get_return | Get full return details including items, status, compensation totals, and order info. | View Returns |
| process_return | Accept or reject each item in a return, with options for restocking and grading. | Process/Reject Returns |
| update_return_status | Change a return’s status (in_transit, delivered, needs_review, in_review, flagged, pre_shipment). | Edit Return Information |
| reopen_return | Reopen a completed or rejected return, resetting items back to open. | Re-open Returns |
| close_return | Close a return without processing — marks all items as complete with no further action. | Close Returns |
| create_return_comment | Add a comment to a return’s timeline. | Edit Return Information |
| approve_return | Approve a return so the customer can proceed with shipping items back. | Approve/Deny Returns |
| list_return_tags | List every return tag defined for the authenticated team. Read-only, no input. | — |
| upsert_return_tag | Create a new tag, recolor an existing tag, or rename a tag (rename cascades to returns and saved view filters). | — |
| delete_return_tag | Permanently delete a tag and strip it from every return and saved view filter that referenced it. Destructive. | — |
International returns
| Tool | Description | Required permission |
|---|---|---|
| get_customs_readiness | Show how ready your catalog is for international returns: returns stuck in customs, which customs fields you need to fill in, and how many products are missing each. | Shipping Settings or Returns and Claims Settings |
| list_products_missing_customs | List the products missing customs information, with their SKU, variant ID, and current values. Paginated, or look up specific SKUs or variant IDs. | Shipping Settings or Returns and Claims Settings |
| update_product_customs | Add or change customs information on products (HS code, origin, description, material, weight, dimensions, manufacturer), matched by variant ID or SKU. Previews first and saves only when you confirm; fillMissingOnly leaves saved values alone. Up to 500 rows per call. | Shipping Settings or Returns and Claims Settings |
| get_customs_update_status | Check a customs update: still running, or how many products were updated and which were not. | Shipping Settings or Returns and Claims Settings |
| get_tax_id_requirements | Show which tax IDs you need for the countries your returns ship to, which ones you already have, and your saved tax IDs with the numbers masked. | Shipping Settings or Returns and Claims Settings |
| save_tax_id | Save a tax ID. Replaces any saved tax ID with the same type and country. | Shipping Settings or Returns and Claims Settings |
Marketing
The marketing tools are only available when Redo Marketing is enabled for your account.
| Tool | Description | Required permission |
|---|---|---|
| list_campaigns | List marketing campaigns, filtered by channel (email/SMS), status, name, or scheduled-date range. Returns a summary per campaign. Supports pagination. | View Marketing or Manage Campaigns |
| get_campaign | Get full details for a campaign including its templates (email subject lines or SMS variants), audiences, status, and schedule. | View Marketing or Manage Campaigns |
| get_campaign_performance | Get per-campaign performance metrics plus period totals with a prior-period comparison: revenue, spend, ROI, revenue per recipient, and order/click/open/send counts. | View Marketing Analytics |
| list_segments | List marketing segments/audiences for the team. Use to discover segment IDs or inspect the audiences included or excluded on a campaign. | View Marketing, Manage Campaigns, or Manage Automations |
| get_segment | Get full configuration for a segment/audience, including counts and the dynamic condition tree when applicable. | View Marketing, Manage Campaigns, or Manage Automations |
| list_automations | List automations with IDs, names, enabled state, category, step count, and step types. Filter by step type to find automations for a feature, such as Recover. | View Marketing or Manage Automations |
| get_automation | Get full automation details including enabled state, category, timestamps, and step configuration. | View Marketing or Manage Automations |
| get_automation_performance | Get per-automation performance metrics plus period totals with a prior-period comparison: revenue, spend, ROI, revenue per recipient, and order/click/open/send counts. | View Marketing Analytics |
| get_automation_step_configuration | Resolve the linked configuration for a specific automation step — Recover scenarios and messaging, email subject and builder sections, or SMS content, prefix, and attachments. | View Marketing or Manage Automations |
| get_automation_step_performance | Get step-level automation performance for a metric family, such as Recover recovered revenue, reply rate, and conversion rate. | View Marketing Analytics |
| get_template | Get an email or SMS marketing template by ID — subject lines, email builder sections, SMS content, prefix, attachments, and AI config. | View Marketing, Manage Campaigns, or Manage Automations |
Analytics
| Tool | Description | Required permission |
|---|---|---|
| get_return_analytics | Get store-wide returns figures for a date range: retained, refunded, and upsell revenue, return rates by order, item, and revenue, submitted and processed return counts, protection attachment rates, and exchanges by type. | Other |
| get_product_return_analytics | Get per-product returns figures for a date range: units returned and sold, return revenue, return rate, exchange rate, and return reasons. Supports sorting and filtering by vendor, product, tag, sales channel, and units sold. | Other |
| get_variant_return_analytics | Get the same returns figures for each variant of one product, plus totals for the product. | Other |
| analytics_report_plan | See what report would be built for a question, with its columns, and whether it can be built as asked, without saving one. Pass a plan’s planId as basePlanId to change that plan. | Manage Custom Analytics |
| analytics_report_create_from_plan | Save a planned report without planning it again. | Manage Custom Analytics |
| analytics_report_edit_plan | See how a report would change for an edit described in plain English, with its columns, without changing the report. | Manage Custom Analytics |
| analytics_report_edit_from_plan | Save a planned edit to its report as a new version without planning it again. | Manage Custom Analytics |
| analytics_reports | List your analytics reports, newest first, with ID, title, status, and columns. | View Custom Analytics |
| analytics_report | Get one report’s status, title, question, and definition: its columns, how each is calculated, filters, and sorting. | View Custom Analytics |
| analytics_report_rows | Read a page of a report’s rows. The first page runs the report once; later pages read that saved result. | View Custom Analytics |
| analytics_catalog_entities | List what reports can be about for your store, such as returns, orders, or products. | View Custom Analytics |
| analytics_catalog_entity_details | Get the fields, metrics, filters, and relationships of catalog entities. | View Custom Analytics |
| analytics_catalog_search | Find where a metric or field lives in the catalog by name or synonym. | View Custom Analytics |
| analytics_report_export_start | Write every row of a report to a CSV in the background. | View Custom Analytics |
| analytics_report_export | Check an export and get its download link, kept for 24 hours. | View Custom Analytics |
| analytics_report_update | Change a report’s title, timezone, columns, or sorting, saving a new version. | Manage Custom Analytics |
| analytics_report_revision_restore | Bring back an earlier version of a report. | Manage Custom Analytics |
| analytics_report_duplicate | Copy a report into a new one. | Manage Custom Analytics |
| analytics_report_schedule_set | Deliver a report on a schedule by email, SFTP, or both. | Manage Custom Analytics |
| analytics_report_schedule_remove | Stop a report’s scheduled deliveries. | Manage Custom Analytics |
| analytics_report_delete | Delete a report. | Manage Custom Analytics |
Discounts
| Tool | Description | Required permission |
|---|---|---|
| get_discount_config | Get the reusable discount configuration — offer, code/prefix, provider, expiration, eligibility, usage limits, and stacking rules — for a discount ID returned by a campaign, automation, template, or generated-code tool. | View Products, View Marketing, Manage Campaigns, Manage Automations, Access Conversion, or View Orders |
| get_generated_discount_code | Look up an issued discount code and its usage records: whether it was used, by which customer or order, when it expires, and what configuration it came from. Accepts a code ID or the code itself. | View Products, View Marketing, Manage Campaigns, Manage Automations, Access Conversion, or View Orders |
Support
| Tool | Description | Required permission |
|---|---|---|
| ask_redo | Ask the Redo support AI any question about your account, settings, policies, or platform features. | — |
| list_support_tickets | Search and list customer support tickets by status, assignee, channel, tags, unread state, customer ID, date range, or the inbox’s full-text search. With no filters it matches the inbox’s Open view: open tickets, without spam or tickets assigned to the AI agent. Supports cursor pagination, up to 50 tickets per page. | View Support |
| get_support_ticket | Get full details for a support ticket by ticket ID (cnv_...) or ticket number (1002 or #1002), including status, priority, assignee, tags, a customer reference, the AI summary, channel threads with AI handoff reasons, drafts, and messages with attachments and channel-specific details. Messages come oldest first, up to 200 per call; pass nextMessagesCursor back as messagesCursor to read newer messages. | View Support |
| get_support_ticket_timeline | Explain what happened on a support ticket: a chronological digest of its timeline events (assignments, status changes, rule runs, AI replies, the reasons AI skipped or did not reply, tag changes, notes) with who or what caused each. Look up by ticket ID (cnv_...) or ticket number. | View Support |
| update_support_ticket | Update a support ticket’s status (open, in progress, snoozed, closed, archived), snooze duration or timestamp, priority, assignee, tags, or read/unread state. Each change also checks its own support permission: Close Tickets or Archive Tickets for status, Set Assignee for assignment, Add Tags to Tickets for tags, and Reply to Customers for snooze and priority. | View Support, plus one of those |
| list_support_tags | List support ticket tags (ctag_...) and tag groups (tgr_...) configured for the store, including group rules for multiple tags and required tags before closing. | View Support |
| list_support_assignees | List the store’s team members and support user groups, with the user IDs that tickets use for assignees. | View Support |
| search_missing_support_email | Search for an email someone cannot find in the inbox, by subject, sender, or keywords. Searches every status, including closed, snoozed, archived, draft, spam, and AI-assigned tickets, and returns ticket links, why the Open view might hide each one, and an All tickets filter link. | View Support |
| locate_support_email | Find where a support email is from its original message (Gmail Show original or Outlook message source), looked up by Message-ID. Returns the ticket and why the Open view might hide it, or checks the connected Gmail inbox to say whether the message is still syncing, sync is paused, or it never arrived. Times are in UTC. | View Support |