loops
Server Details
Manage Loops contacts, mailing lists, and transactional/event emails.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Score is being calculated. Check back soon.
Available Tools
10 toolsloops_create_contactCreate a contactDestructiveInspect
Creates a contact in Loops (additive). Loops API: POST /v1/contacts/create.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Contact email address (required). | ||
| source | No | Source label for where the contact came from. | |
| userId | No | Your app's user id for this contact. | |
| lastName | No | Last name. | |
| firstName | No | First name. | |
| userGroup | No | User group segment name. | |
| properties | No | Arbitrary custom contact properties (string/number/boolean); merged into the request body. | |
| subscribed | No | Whether the contact is subscribed to email. | |
| mailingLists | No | Map of mailing-list id -> subscribed boolean. |
loops_create_contact_propertyCreate a contact propertyDestructiveInspect
Creates a custom contact property/field (additive schema change). Loops API: POST /v1/contacts/properties.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the custom property to create (required). | |
| type | Yes | Data type of the property (required). |
loops_delete_contactDelete a contactDestructiveInspect
Deletes a contact from Loops. Destructive. Supply email OR userId. Loops API: POST /v1/contacts/delete.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Email of the contact to delete. | ||
| userId | No | userId of the contact to delete. |
loops_find_contactFind a contactRead-onlyInspect
Find a contact by email or userId (supply at least one). Loops API: GET /v1/contacts/find.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Contact email address to look up. | ||
| userId | No | Contact userId to look up (your app's user id). |
loops_list_contact_propertiesList contact propertiesRead-onlyInspect
List contact fields / custom properties defined in Loops. Loops API: GET /v1/contacts/properties.
| Name | Required | Description | Default |
|---|---|---|---|
| list | No | Which properties to return: all (default) or custom only. |
loops_list_mailing_listsList mailing listsRead-onlyInspect
List all mailing lists in the Loops account (id + name). Loops API: GET /v1/lists.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
loops_send_eventSend an eventDestructiveInspect
Sends an event to Loops for a contact — TRIGGERS any automations/loops subscribed to this event. Loops API: POST /v1/events/send.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Contact email (supply email or userId). | ||
| userId | No | Contact userId (supply email or userId). | |
| eventName | Yes | The event name to send (required). | |
| mailingLists | No | Map of mailing-list id -> subscribed boolean. | |
| eventProperties | No | Properties attached to this event. | |
| contactProperties | No | Contact properties to update alongside the event. |
loops_send_transactionalSend a transactional emailDestructiveInspect
SENDS a real transactional email via a Loops template. This dispatches an actual email to the recipient. Loops API: POST /v1/transactional.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Recipient email address (required). | ||
| attachments | No | Optional attachments: array of { filename, contentType, data } objects. | |
| addToAudience | No | Whether to add the recipient to your audience. | |
| dataVariables | No | Template data variables (string/number) to interpolate into the template. | |
| transactionalId | Yes | The Loops transactional template id (required). |
loops_test_api_keyTest API keyRead-onlyInspect
Verify the configured Loops API key and return the team name — a good first call. Loops API: GET /v1/api-key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
loops_update_contactUpdate a contactDestructiveInspect
Updates (or creates) a contact by email/userId. Upserts — creates the contact if not found. Loops API: PUT /v1/contacts/update.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Contact email address (required; identifies the contact). | ||
| source | No | Source label. | |
| userId | No | Your app's user id (alternative identifier). | |
| lastName | No | Last name. | |
| firstName | No | First name. | |
| userGroup | No | User group segment name. | |
| properties | No | Arbitrary custom contact properties (string/number/boolean); merged into the request body. | |
| subscribed | No | Whether the contact is subscribed to email. | |
| mailingLists | No | Map of mailing-list id -> subscribed boolean. |
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!