# Loops.so — MCP server on mcp.ai > Connect your Loops.so account and use 12 tools for email straight from your AI agent. Connect with your own API key. The email platform for modern SaaS. A better way to send product, marketing, and transactional email. By: mcp.ai · official Page: https://mcp.ai/loops_so ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_loops_so?ms=1787293560000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/loops_so/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/loops_so/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/loops_so/skill.md Postman collection (v2.1): https://mcp.ai/loops_so/postman.json ## Tools - loops_so_create_contact(email: string, source?: string, userId?: string, lastName?: string, firstName?: string, userGroup?: string, subscribed?: boolean, mailingLists?: object) — Tool to add a new contact to your Loops audience. Use when you need to create a contact with email and optional properties like name, subscription status, or custom attributes. Returns 409 if contact - loops_so_create_contact_property(name: string, type: string) — Tool to add a custom contact property to your Loops team. Use when you need to store additional contact data beyond default fields. Properties must have unique names in camelCase format and a specifie - loops_so_delete_contact(email?: string, userId?: string) — Tool to delete a contact by email address or user ID. Use when you need to remove a contact from Loops. Either email or userId must be provided to identify the contact. - loops_so_find_contact(email?: string, userId?: string) — Tool to search for a contact by email or userId. Use when you need to find a specific contact's details including subscription status and custom properties. Exactly one of email or userId must be prov - loops_so_get_contact_properties(list?: string) — Tool to retrieve a list of your account's contact properties from Loops.so. Use when you need to view all available contact properties or filter to only custom properties created by your team. - loops_so_get_dedicated_sending_ips() — Tool to retrieve a list of Loops' dedicated sending IP addresses. Use when you need to get IP addresses for whitelisting purposes. - loops_so_get_mailing_lists() — Tool to retrieve all mailing lists associated with your Loops account. Use when you need to browse or manage mailing list information. - loops_so_list_custom_fields() — Tool to retrieve a list of custom contact properties. Use when you need to view available custom fields for contacts. Note: This endpoint is deprecated in favor of 'List contact properties'. - loops_so_list_transactional_emails(cursor?: string, perPage?: integer) — Tool to retrieve a list of published transactional emails. Use when you need to view all available transactional email templates. Supports pagination with perPage and cursor parameters. - loops_so_send_event(email?: string, userId?: string, eventName: string, mailingLists?: object, idempotencyKey?: string, eventProperties?: object) — Tool to send events to trigger emails in Loops. Use when you need to track user actions and trigger automated email workflows based on those events. - loops_so_test_api_key() — Tool to test API key validity and retrieve team information. Use to verify API credentials are working correctly. - loops_so_update_contact(email?: string, source?: string, userId?: string, lastName?: string, firstName?: string, userGroup?: string, subscribed?: boolean, mailingLists?: object) — Tool to update an existing contact by email or userId. Use when you need to modify contact properties or re-subscribe contacts. Creates a new contact if no matching record exists. ## Example prompts - "What can I do in Loops.so?" - "Show me a summary of my Loops.so account" ## Links Docs: https://mcp.ai/docs/mcps/loops_so Website: https://mcp.ai/mcps/loops_so