Loops helps businesses manage email marketing and customer engagement by organizing contacts and mailing lists, sending transactional emails, tracking events, creating audience segments, and automating workflows through its email marketing platform.
OpenCode is an open-source agent for the terminal. Remote MCP servers go in its config file and sign in through OAuth.
This guide connects Loops MCP to OpenCode through MewCP, so OpenCode can use Loops MCP's 5 tools, like describe, execute and execute_write, without your Loops MCP credentials ever reaching the app.
Loops MCP signs in through managed OAuth. MewCP stores the token encrypted, refreshes it before it expires and injects it only at call time. Your agent never holds it, so it can never leak it.
More apps
Manage Gmail end to end with tools for sending, reading, replying to and organizing emails. Work with threads, labels, drafts, attachments and inbox workflows while keeping communication and email automation in one place.
Manage your Google Business Profile, business information and customer engagement. Update listings, publish content, monitor reviews and maintain your local presence across Google services.
Microsoft Outlook MCP Server gives AI agents full control over Outlook email and calendar workflows, including reading and sending emails, managing attachments, organizing mail, scheduling and updating meetings, managing contacts, and creating tasks.
Connect Zoho Mail to Claude, ChatGPT and any AI agent. Search, read, send and reply to emails, manage drafts, folders and labels, all through one secure connection.
Other clients
Loops MCP works the same way in every client below. Pick yours for its own guide.
Free to start.
Scope access to the exact Loops MCP tools and accounts you allow, work and personal side by side. Anything outside that scope is refused at call time, even when the model asks for it.
Each call is logged: what ran, on which account, and whether it worked. Failures come back structured, so the agent knows whether to retry instead of guessing.
Every app sits behind one secure MCP URL, and there is no server for you to deploy or keep running. Add an integration in the dashboard and it is live on the next call, with no config to change and no new credentials to wire up. Tools load only when a task needs them, so your agent stays fast and focused however many apps you connect.
Edit ~/.config/opencode/opencode.json, or opencode.json in your project root.
Start a new chat and ask: "List the tools you can use from MewCP." You should see your connected apps.
Return the full schema for one Loops API endpoint: parameters, request body, and responses (refs inlined). Look the endpoint up with search() first, then pass its path and method here to get what execute() needs.
Make an authenticated GET call to the Loops API as the connected user. This tool only reads; it cannot change data or send email. Flow: search() to find an endpoint, describe(path, method) for its schemas, then execute(). Calls run against one team: pass team (an id from the teams tool); if omitted it uses your only team, or returns your teams to choose from. Only endpoints documented in the OpenAPI spec can be called; anything else is rejected. Use execute_write to change data.
Make an authenticated POST, PUT, PATCH, or DELETE call to the Loops API as the connected user. These calls create, update, delete, publish, or send: they take effect immediately, cannot be undone here, and can email real recipients. Only make one the user has asked for. Flow: search() to find an endpoint, describe(path, method) for its schemas, then execute_write(). Calls run against one team: pass team (an id from the teams tool); if omitted it uses your only team, or returns your teams to choose from. Only endpoints documented in the OpenAPI spec can be called; anything else is rejected. Use execute for GET.
Search the Loops API OpenAPI spec for endpoints. Returns a slim listing: method, path, operationId, summary, description, tags. Call describe(path, method) to get the full parameter/request/response schemas for one endpoint before calling execute(). Spec source: https://app.loops.so/openapi.json
List the teams the connected user can run Loops API calls against. Returns id and name for each; pass an id as execute()'s team parameter.