iContact MCP by usefulapi

Read iContact contacts, lists, campaigns and message stats; add contacts and manage subscriptions.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
94%
Vollständigkeit des Schemas
91%
Qualität der Benennung
79%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'icontact_get_message_statistics' name length outside 3-30 rangein icontact_get_message_statistics

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~4,086Tokens (Tool-Definitionen)
~1.5 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (3.19% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "icontact": {
      "url": "https://icontact.usefulapi.io/mcp"
    }
  }
}

Remote-Endpunkte

https://icontact.usefulapi.io/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (20)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢icontact_get_account

The iContact account behind the credentials (company name, address, plan fields) and its client folders, with the folder this server uses. GET /a/ and GET /a/{accountId}/c/.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_list_contacts(status, email, first_name, last_name, list_id, ...)

List contacts (email, name, address, phone, status, create date). Filter by status, exact email, first/last name or a list the contact belongs to. GET /contacts.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Contact status; total = every contact, including those on no list (e.g. just created and not yet subscribed).",
      "type": "string",
      "enum": [
        "normal",
        "bounced",
        "donotcontact",
        "pending",
        "invitable",
        "deleted",
        "total"
      ]
    },
    "email": {
      "description": "Only the contact with this email address.",
      "type": "string",
      "minLength": 1,
      "maxLength": 254
    },
    "first_name": {
      "description": "Only contacts with this first name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "last_name": {
      "description": "Only contacts with this last name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "list_id": {
      "description": "Only contacts subscribed to this list id (see icontact_list_lists).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "order_by": {
      "description": "Sort by a field of the resource, optionally with a direction, e.g. createDate:desc.",
      "type": "string",
      "pattern": "^[A-Za-z]{1,40}(:(asc|desc))?$"
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Records to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_get_contact(contact_id)

One contact by id. GET /contacts/{contactId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "contact_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "iContact contact id (see icontact_list_contacts)."
    }
  },
  "required": [
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡icontact_create_contact(email, status, prefix, first_name, last_name, ...)

WRITE: add one contact to the account (it is not added to any list; use icontact_set_subscription for that). Not idempotent: an email that already exists is reported by iContact as a warning. POST /contacts.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "maxLength": 254,
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "Email address."
    },
    "status": {
      "description": "Contact status (default normal).",
      "type": "string",
      "enum": [
        "normal",
        "bounced",
        "donotcontact",
        "pending",
        "invitable",
        "deleted"
      ]
    },
    "prefix": {
      "description": "Name prefix, e.g. Dr.",
      "type": "string",
      "minLength": 1,
      "maxLength": 40
    },
    "first_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "last_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "suffix": {
      "type": "string",
      "minLength": 1,
      "maxLength": 40
    },
    "street": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "street2": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "state": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "postal_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 40
    },
    "phone": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "fax": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "business": {
      "description": "Company name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "email"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴icontact_update_contact(contact_id, email, status, prefix, first_name, ...)

WRITE: change fields of one contact; only the fields you pass are sent. Setting status to donotcontact or deleted stops mail to that contact. POST /contacts/{contactId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "contact_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "iContact contact id."
    },
    "email": {
      "description": "New email address.",
      "type": "string",
      "maxLength": 254,
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "status": {
      "description": "New contact status.",
      "type": "string",
      "enum": [
        "normal",
        "bounced",
        "donotcontact",
        "pending",
        "invitable",
        "deleted"
      ]
    },
    "prefix": {
      "description": "Name prefix, e.g. Dr.",
      "type": "string",
      "minLength": 1,
      "maxLength": 40
    },
    "first_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "last_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "suffix": {
      "type": "string",
      "minLength": 1,
      "maxLength": 40
    },
    "street": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "street2": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "state": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "postal_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 40
    },
    "phone": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "fax": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "business": {
      "description": "Company name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_list_lists(order_by, limit, offset)

List the account's mailing lists (name, description, welcome-message settings). GET /lists.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_by": {
      "description": "Sort by a field of the resource, optionally with a direction, e.g. createDate:desc.",
      "type": "string",
      "pattern": "^[A-Za-z]{1,40}(:(asc|desc))?$"
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Records to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_get_list(list_id)

One mailing list by id. GET /lists/{listId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "list_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "iContact list id."
    }
  },
  "required": [
    "list_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_list_subscriptions(list_id, contact_id, status, limit, offset)

List list memberships (subscriptionId, contactId, listId, status). Filter by list, contact or status. GET /subscriptions.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "list_id": {
      "description": "Only subscriptions to this list.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "contact_id": {
      "description": "Only subscriptions of this contact.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "status": {
      "description": "Subscription status.",
      "type": "string",
      "enum": [
        "normal",
        "pending",
        "unsubscribed"
      ]
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Records to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴icontact_set_subscription(contact_id, list_id, status)

WRITE: put a contact on a list (status normal, or pending to start double opt-in) or unsubscribe it (status unsubscribed). Only for contacts who agreed to receive mail. POST /subscriptions.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "contact_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "iContact contact id."
    },
    "list_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "iContact list id."
    },
    "status": {
      "type": "string",
      "enum": [
        "normal",
        "pending",
        "unsubscribed"
      ],
      "description": "normal = subscribed, pending = awaiting confirmation, unsubscribed."
    }
  },
  "required": [
    "contact_id",
    "list_id",
    "status"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_list_campaigns(order_by, limit, offset)

List campaigns (the sender identity and settings that messages belong to). GET /campaigns.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_by": {
      "description": "Sort by a field of the resource, optionally with a direction, e.g. createDate:desc.",
      "type": "string",
      "pattern": "^[A-Za-z]{1,40}(:(asc|desc))?$"
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Records to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_get_campaign(campaign_id)

One campaign by id. GET /campaigns/{campaignId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "iContact campaign id."
    }
  },
  "required": [
    "campaign_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_list_messages(message_type, campaign_id, order_by, limit, offset)

List messages (subject, type, campaign, create date, HTML and text bodies). Filter by type or campaign. GET /messages.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "message_type": {
      "description": "Message type.",
      "type": "string",
      "enum": [
        "normal",
        "autoresponder",
        "welcome",
        "confirmation"
      ]
    },
    "campaign_id": {
      "description": "Only messages of this campaign.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "order_by": {
      "description": "Sort by a field of the resource, optionally with a direction, e.g. createDate:desc.",
      "type": "string",
      "pattern": "^[A-Za-z]{1,40}(:(asc|desc))?$"
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Records to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_get_message(message_id)

One message by id, with subject and HTML/text bodies. GET /messages/{messageId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "message_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "iContact message id."
    }
  },
  "required": [
    "message_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_get_message_statistics(message_id)

Delivery statistics of a message (released, bounces, opens, clicks, unsubscribes, complaints, forwards). GET /messages/{messageId}/statistics.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "message_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "iContact message id."
    }
  },
  "required": [
    "message_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_list_message_activity(message_id, kind, limit, offset)

Who opened, clicked, bounced from or unsubscribed after a message: one page of events for one message. GET /messages/{messageId}/opens | clicks | bounces | unsubscribes.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "message_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "iContact message id."
    },
    "kind": {
      "type": "string",
      "enum": [
        "opens",
        "clicks",
        "bounces",
        "unsubscribes"
      ],
      "description": "Which events to list."
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Records to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "required": [
    "message_id",
    "kind"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_list_sends(order_by, limit, offset)

List sends (a message sent to lists/segments: send id, message id, included/excluded lists, scheduled time, status). GET /sends.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_by": {
      "description": "Sort by a field of the resource, optionally with a direction, e.g. createDate:desc.",
      "type": "string",
      "pattern": "^[A-Za-z]{1,40}(:(asc|desc))?$"
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Records to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_get_send(send_id)

One send by id. GET /sends/{sendId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "send_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "iContact send id."
    }
  },
  "required": [
    "send_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_list_segments(limit, offset)

List saved segments (rule-based groups of contacts). GET /segments.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Records to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_get_segment(segment_id)

One segment by id. GET /segments/{segmentId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "segment_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "iContact segment id."
    }
  },
  "required": [
    "segment_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢icontact_list_custom_fields(limit, offset)

List the account's custom contact fields (name, type). GET /customfields.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Records to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet20 Tools