Loop Returns MCP Server
OVERVIEW
The Loop Returns MCP (Model Context Protocol) server lets you connect your AI assistant — like Claude, Cursor, or VS Code Copilot — directly to your Loop data. Once connected, your assistant can search returns, take actions, read policies, and manage workflows without leaving the conversation. This article covers how to connect, what tools are available, and how to troubleshoot the most common issues. Authentication uses OAuth 2.1 with PKCE against your Loop account — no API keys or secrets to manage, and every action is gated by the same role-based permissions you already have in the Loop Admin.
Use the menu on the left to quickly navigate this article.
How to connect
Your Loop MCP server endpoint is:
https://api.loopreturns.com/mcpAll MCP traffic goes to that single URL. Your client negotiates authentication automatically — the first time you connect, you'll sign in with your Loop credentials and approve access.
Connecting Claude (organization connector)
For Claude, Loop connects as a custom organization connector set up once by a Claude Team or Enterprise admin — there's no per-user config file to edit.
In Claude, open Organization Settings > Connectors.
Create a custom connector for your organization.
Use the Loop MCP endpoint as the connector URL:
https://api.loopreturns.com/mcpPublish or enable the connector for your organization.
Once it's enabled, each user authenticates with their own Loop credentials the first time they use the connector, and Loop enforces that user's existing Loop Admin permissions.
Note: Setting up the organization connector requires Claude admin (Owner) access. If you don't manage your organization's Claude workspace, ask your Claude admin to add the connector using the URL above.
Connecting Cursor
Open Cursor Settings > MCP.
Add a new server:
{
"mcpServers": {
"loop-returns": {
"url": "https://api.loopreturns.com/mcp"
}
}
}Cursor opens the OAuth flow in a browser. Sign in with your Loop credentials and approve access.
Connecting VS Code (GitHub Copilot)
Open Settings > Copilot > MCP Servers.
Add the server:
{
"loop-returns": {
"url": "https://api.loopreturns.com/mcp"
}
}Reload the window. The first time you invoke a Loop tool, Copilot prompts you to authenticate — sign in with your Loop credentials and approve access.
Other clients
The Loop MCP server implements standard OAuth 2.1 discovery, so any MCP-compatible client that supports OAuth can connect to the same endpoint. If your client isn't listed above and you'd like help getting it connected, reach out to support.
Verify the connection
Once connected, ask your assistant:
"What Loop shop am I connected to?"
The assistant calls the Get Shop Info tool and responds with your shop's name and ID. This confirms the assistant is scoped to the right shop before you ask it to inspect or change returns.
Working with multiple shops
When you sign in, Loop resolves the shops associated with your email. If your email is tied to more than one Loop shop, the OAuth flow shows a shop selector after sign-in — pick the shop you want the assistant to access. Your session is scoped to that shop for every tool call.
Tip: If your MCP client supports multiple server entries, create one Loop server per shop and name each entry after the shop — for example
loop-returns-store-aandloop-returns-store-b. Each entry runs the same endpoint but keeps its own connection, so you can pick the right shop before asking the assistant to act, without re-authenticating.
To switch the shop on a single connection, disconnect and reconnect, then select a different shop during sign-in.
What you can do
The MCP server provides 22 tools across six groups. Every tool enforces your existing Loop permissions — if you can't perform an action in the Loop Admin, the assistant can't either.
Returns — Read
Tool | What it does |
|---|---|
List Returns | Search and browse returns with filters (status, date range, flagged, and more), pagination, and sorting. Supports the same searchable fields as Loop Admin: order name, email, tracking number, SKUs, carrier, RMA code, and more. |
Get Return | Pull the full detail of a specific return, including line items, resolutions (refund, exchange, store credit), shipping info, and current status. |
Get Return Timeline | See the complete event history for a return, from creation through resolution. |
Returns — Actions
Tool | What it does |
|---|---|
Add Note | Attach an internal note to a return. Useful for triage or documentation workflows. |
Flag / Unflag | Flag a return for manual review (with optional QC reasons and comments) or clear an existing flag. |
Reject | Reject a return with an optional reason. |
Cancel | Cancel a return. |
Close | Close a return without triggering Shopify actions. |
Process | Process a return, triggering the full refund/exchange/credit flow. |
Fraud
Tool | What it does |
|---|---|
List Fraud Categories | Retrieve the available fraud report categories for your shop. |
Report Fraud | File a fraud report against a specific return with a category and comment. |
Allowlist & Blocklist
Tool | What it does |
|---|---|
List / Add / Remove Allowlist | Manage allowlist entries by email or order. |
List / Add / Remove Blocklist | Manage blocklist entries by email, order, product, or product tag. |
Shop & Policy
Tool | What it does |
|---|---|
Get Shop Info | Retrieve your shop's configuration and details. |
Read Return Policies | Pull your current return policy rules. |
Workflows
Tool | What it does |
|---|---|
List Workflows | See all your workflows, with pagination and active/inactive filtering. |
Get Workflow | Pull the full details of a specific workflow. |
Generative UI
Some MCP clients — notably Claude — support Generative UI, which means the assistant can render interactive visual components alongside its text responses. When you use return tools through a supported client, you'll see rich cards, tables, status badges, and action buttons rendered inline in the conversation.
Note: Generative UI is purely additive. Every tool returns structured data regardless of whether the client can display visual components. Automated agents, scheduled tasks, and text-only assistants all receive the full data payload — nothing is lost without the UI layer.
Troubleshooting
"Email not found" during sign-in
Loop didn't find any shops associated with the email you submitted. Confirm the email matches a user record in your Loop Admin under Settings > Team.
Authentication succeeds but tool calls return "Unauthorized"
Your token is valid, but your user doesn't have permission for the tool you're invoking. Check the user's role under Settings > Team and grant the necessary permissions.
"Token expired"
Reconnect the Loop server in your MCP client to start a fresh sign-in.
You're prompted to sign in again, or land on the wrong account
If you have more than one login method tied to your email (for example, an email/password login and a Google sign-in), you may end up with separate accounts and see repeated sign-in prompts or a "no shops found" result.
Important: Sign in using the same method you originally used to create your Loop account. If you're not sure which that is, open the sign-in page in a browser and choose Sign in with Google — this triggers account linking. If you still can't get in, contact support and we can merge the duplicate users for you.
Hitting rate limits
The MCP server allows 600 tool calls per hour per user. If you exceed it, your assistant will surface the error and back off automatically. For heavy, programmatic workloads, use the Loop REST API instead.
Technical details
Detail | Value |
|---|---|
Protocol | Model Context Protocol (MCP) |
Auth | OAuth 2.1 with PKCE (no client secret needed) |
Identity Provider | Auth0 |
Transport | HTTP (Streamable HTTP) |
Rate limit | 600 tool calls per hour per user |
Multi-tenant | Yes — scoped to your shop via OAuth |
For full developer documentation, visit the Loop MCP developer docs.
If you run into any issues connecting, have ideas, or want to talk through use cases, please reach out to support@loopreturns.com.
