Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,541Letters: 14Defects: 1,323counted just now
teppi

Server definition

Hash
sha256:8a73bfe90b72209ad073aebb8e7bfccc6aebaa041e322722144b223eba89ab2f
What it is
What a remote MCP server returned when asked what it offers: 10 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Creates a contact in Loops (additive). Loops API: POST /v1/contacts/create.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "email": { "description": "Contact email address (required).", "type": "string" }, "firstName": { "description": "First name.", "type": "string" }, "lastName": { "description": "Last name.", "type": "string" }, "mailingLists": { "additionalProperties": { "type": "boolean" }, "description": "Map of mailing-list id -> subscribed boolean.", "propertyNames": { "type": "string" }, "type": "object" }, "properties": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" } ] }, "description": "Arbitrary custom contact properties (string/number/boolean); merged into the request body.", "propertyNames": { "type": "string" }, "type": "object" }, "source": { "description": "Source label for where the contact came from.", "type": "string" }, "subscribed": { "description": "Whether the contact is subscribed to email.", "type": "boolean" }, "userGroup": { "description": "User group segment name.", "type": "string" }, "userId": { "description": "Your app's user id for this contact.", "type": "string" } }, "required": [ "email" ], "type": "object" }, "name": "loops_create_contact", "outputSchema": null }, { "description": "Creates a custom contact property/field (additive schema change). Loops API: POST /v1/contacts/properties.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "name": { "description": "Name of the custom property to create (required).", "type": "string" }, "type": { "description": "Data type of the property (required).", "enum": [ "string", "number", "boolean", "date" ], "type": "string" } }, "required": [ "name", "type" ], "type": "object" }, "name": "loops_create_contact_property", "outputSchema": null }, { "description": "Deletes a contact from Loops. Destructive. Supply email OR userId. Loops API: POST /v1/contacts/delete.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "email": { "description": "Email of the contact to delete.", "type": "string" }, "userId": { "description": "userId of the contact to delete.", "type": "string" } }, "type": "object" }, "name": "loops_delete_contact", "outputSchema": null }, { "description": "Find a contact by email or userId (supply at least one). Loops API: GET /v1/contacts/find.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "email": { "description": "Contact email address to look up.", "type": "string" }, "userId": { "description": "Contact userId to look up (your app's user id).", "type": "string" } }, "type": "object" }, "name": "loops_find_contact", "outputSchema": null }, { "description": "List contact fields / custom properties defined in Loops. Loops API: GET /v1/contacts/properties.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "list": { "description": "Which properties to return: all (default) or custom only.", "enum": [ "all", "custom" ], "type": "string" } }, "type": "object" }, "name": "loops_list_contact_properties", "outputSchema": null }, { "description": "List all mailing lists in the Loops account (id + name). Loops API: GET /v1/lists.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "loops_list_mailing_lists", "outputSchema": null }, { "description": "Sends an event to Loops for a contact — TRIGGERS any automations/loops subscribed to this event. Loops API: POST /v1/events/send.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "contactProperties": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" } ] }, "description": "Contact properties to update alongside the event.", "propertyNames": { "type": "string" }, "type": "object" }, "email": { "description": "Contact email (supply email or userId).", "type": "string" }, "eventName": { "description": "The event name to send (required).", "type": "string" }, "eventProperties": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" } ] }, "description": "Properties attached to this event.", "propertyNames": { "type": "string" }, "type": "object" }, "mailingLists": { "additionalProperties": { "type": "boolean" }, "description": "Map of mailing-list id -> subscribed boolean.", "propertyNames": { "type": "string" }, "type": "object" }, "userId": { "description": "Contact userId (supply email or userId).", "type": "string" } }, "required": [ "eventName" ], "type": "object" }, "name": "loops_send_event", "outputSchema": null }, { "description": "SENDS a real transactional email via a Loops template. This dispatches an actual email to the recipient. Loops API: POST /v1/transactional.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "addToAudience": { "description": "Whether to add the recipient to your audience.", "type": "boolean" }, "attachments": { "description": "Optional attachments: array of { filename, contentType, data } objects.", "items": {}, "type": "array" }, "dataVariables": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "type": "number" } ] }, "description": "Template data variables (string/number) to interpolate into the template.", "propertyNames": { "type": "string" }, "type": "object" }, "email": { "description": "Recipient email address (required).", "type": "string" }, "transactionalId": { "description": "The Loops transactional template id (required).", "type": "string" } }, "required": [ "transactionalId", "email" ], "type": "object" }, "name": "loops_send_transactional", "outputSchema": null }, { "description": "Verify the configured Loops API key and return the team name — a good first call. Loops API: GET /v1/api-key.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "loops_test_api_key", "outputSchema": null }, { "description": "Updates (or creates) a contact by email/userId. Upserts — creates the contact if not found. Loops API: PUT /v1/contacts/update.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "email": { "description": "Contact email address (required; identifies the contact).", "type": "string" }, "firstName": { "description": "First name.", "type": "string" }, "lastName": { "description": "Last name.", "type": "string" }, "mailingLists": { "additionalProperties": { "type": "boolean" }, "description": "Map of mailing-list id -> subscribed boolean.", "propertyNames": { "type": "string" }, "type": "object" }, "properties": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" } ] }, "description": "Arbitrary custom contact properties (string/number/boolean); merged into the request body.", "propertyNames": { "type": "string" }, "type": "object" }, "source": { "description": "Source label.", "type": "string" }, "subscribed": { "description": "Whether the contact is subscribed to email.", "type": "boolean" }, "userGroup": { "description": "User group segment name.", "type": "string" }, "userId": { "description": "Your app's user id (alternative identifier).", "type": "string" } }, "required": [ "email" ], "type": "object" }, "name": "loops_update_contact", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:8a73bfe90b72209ad073aebb8e7bfccc6aebaa041e322722144b223eba89ab2f | sha256sum