Documentation Index
Fetch the complete documentation index at: https://developers.redo.com/llms.txt
Use this file to discover all available pages before exploring further.
Server Description
The Redo MCP Server lets AI assistants interact with your Redo merchant account through the Model Context Protocol. You can manage returns, look up order details, update statuses, process items, and message the Redo support AI — all from your preferred AI assistant. The server works with any MCP-compatible client, including Claude, ChatGPT, Cursor, VS Code (GitHub Copilot), Windsurf, and Codex. Server URL:Setup Instructions
Authentication
Authentication is handled via OAuth. On first connection, you will be redirected to the Redo merchant app to authorize access. No API keys or manual token management is required.- Your AI assistant initiates the OAuth flow automatically when it first calls a Redo tool
- You authorize the connection in your browser through the Redo merchant app
- The session persists until you revoke access or the token expires
CLI installation
Claude Code
Claude Code
Codex
Codex
JSON configuration
For tools that use a JSON config file, add the following server entry using the config specific to your tool below.Claude Desktop
Claude Desktop
Open the Claude Desktop app and go to Restart Claude Desktop after saving.
Settings > Developer > Edit Config to open claude_desktop_config.json. You can also open the file directly:- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
redo server to the mcpServers object:Cursor
Cursor
VS Code (GitHub Copilot)
VS Code (GitHub Copilot)
Windsurf
Windsurf
Follow the configure MCP guide using the config below.
ChatGPT
- Go to
Settings>Apps>Create app(Advanced settings) - Enter a name (e.g. “Redo”) and optionally add a description
- Set the MCP Server URL to
https://mcp.getredo.com/mcp - Set Authentication to
OAuthand leave the Client ID and Client Secret fields blank - Check the “I understand and want to continue” box
- Click
Create
+ button in the message composer, select More, and choose the Redo connector.
Features
The Redo MCP Server provides tools for order and return management:| Tool | Description |
|---|---|
| list_orders | Search and list orders by order name, customer email, provider order ID, or date range. Supports pagination. |
| get_order | Get detailed information about a specific order including customer, items, totals, discounts, shipping cost, and taxes. |
| list_returns | Search returns by order name, customer email, status, or date range. Supports pagination. |
| get_return | Get full return details including items, status, compensation totals, and order info. |
| process_return | Accept or reject each item in a return, with options for restocking and grading. |
| update_return_status | Change a return’s status (in_transit, delivered, needs_review, in_review, flagged, pre_shipment). |
| reopen_return | Reopen a completed or rejected return, resetting items back to open. |
| close_return | Close a return without processing — marks all items as complete with no further action. |
| create_return_comment | Add a comment to a return’s timeline. |
| approve_return | Approve a return so the customer can proceed with shipping items back. |
| 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. |
| ask_redo | Ask the Redo support AI any question about your account, settings, policies, or platform features. |
Usage Examples
Look up orders for a customer
Prompt:Show me all orders for customer jane@example.com.The AI will call
list_orders with an email filter to find all orders for that customer and display a summary of each.
Get details about an order
Prompt:Get me the full details for order #1234.The AI will call
list_orders to find the order by name, then call get_order with the order ID to fetch full details including items, totals, discounts, shipping, and taxes.
Search for returns by status
Prompt:Show me all open returns.The AI will call
list_returns with a status filter to find all open returns and display a summary of each.
Get details about a return
Prompt:Get me the details about the return for order #1234.The AI will call
get_return to fetch full details including item statuses, compensation amounts, and order information.
Process a return
Prompt:Process the return for order #5678 — accept all items.The AI will call
get_return to retrieve the return’s items and their IDs, confirm the details with you, then call process_return to accept each item.
List return tags
Prompt:What return tags do we have?The AI will call
list_return_tags to fetch every tag defined for your team. Use this to discover the exact stored name — names are case-sensitive — before calling upsert_return_tag or delete_return_tag.
Create, recolor, or rename a return tag
Prompt:Rename the “Damaged” tag to “Damaged in transit”.The AI will call
upsert_return_tag with the current name, a pillTheme, and (for a rename) a newName. Renames cascade to every return and saved view filter that referenced the old name, so the AI should confirm with you before creating or renaming a tag.
Delete a return tag
Prompt:Delete the “Fraud review” tag.The AI will call
delete_return_tag with the tag’s name. This permanently deletes the tag and strips it from every return and saved view filter that referenced it, so the AI should always confirm with you before calling it.
Ask a question about your Redo account
Prompt:Ask Redo what my return flow is configured to do. What eligibility checks, return options, and fees are set up?The AI will call
ask_redo to ask the Redo support AI, which has access to your account’s configuration and can describe your specific return flow steps, conditions, and settings.
Rate Limits
The server enforces a rate limit of 500 requests per minute per authenticated user. If you exceed this limit, requests will receive a429 Too Many Requests response with a Retry-After header indicating when you can retry.