Manage Encharge people, tags, segments and fields, and track events for email automation.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
WRITE: add one or more tags to an existing person. Tags that do not exist yet are created. POST /tags.
Tag names. A tag name cannot contain a comma.
Encharge id of the person (a UUID).
Email address of the person.
The userId your own app uses for the person.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
WRITE: add one or more tags to an existing person. Tags that do not exist yet are created. POST /tags.
| Argument | Type | Description |
|---|---|---|
| id | string | Encharge id of the person (a UUID). |
| tags* | array | Tag names. A tag name cannot contain a comma. |
| string | Email address of the person. | |
| userId | string | The userId your own app uses for the person. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"tags"
],
"properties": {
"id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Encharge id of the person (a UUID)."
},
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 50,
"minItems": 1,
"description": "Tag names. A tag name cannot contain a comma."
},
"email": {
"type": "string",
"format": "includes",
"pattern": "@",
"maxLength": 320,
"minLength": 3,
"description": "Email address of the person."
},
"userId": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The userId your own app uses for the person."
}
}
}The Encharge account behind the API key: account id, name, site, status, timezone, people count and active services. GET /accounts/info.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Look up people (contacts) by email, userId or Encharge id. Pass up to 20 people, each with at least one identifier. Returns each person with all fields, tags and segment data; a person that does not exist is left out. GET /people.
| Argument | Type | Description |
|---|---|---|
| people* | array | People to look up, each with at least one of email, userId or id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"people"
],
"properties": {
"people": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Encharge id of the person (a UUID)."
},
"email": {
"type": "string",
"format": "includes",
"pattern": "@",
"maxLength": 320,
"minLength": 3,
"description": "Email address of the person."
},
"userId": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The userId your own app uses for the person."
}
}
},
"maxItems": 20,
"minItems": 1,
"description": "People to look up, each with at least one of email, userId or id."
}
}
}List all person fields (built-in and custom) with name, title, type and whether the field is read-only. Use the names in encharge_upsert_person. GET /fields.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}People in one dynamic segment, with paging (limit/offset), optional sort and a choice of person fields (attributes). Use encharge_list_segments for segment ids and encharge_list_fields for field names. GET /segments/{segmentId}/people.
| Argument | Type | Description |
|---|---|---|
| sort | string | Person field name to sort by. |
| limit | integer | People per page, 1-100 (default 25). |
| order | string | Sort order (default asc). |
| offset | integer | Number of people to skip (default 0). Pass the previous reply's next_offset. |
| attributes | array | Person field names to return. Default: the standard fields. |
| segment_id* | integer | Encharge segment id (from encharge_list_segments). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"segment_id"
],
"properties": {
"sort": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Person field name to sort by."
},
"limit": {
"type": "integer",
"maximum": 100,
"description": "People per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort order (default asc)."
},
"offset": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Number of people to skip (default 0). Pass the previous reply's next_offset."
},
"attributes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 50,
"description": "Person field names to return. Default: the standard fields."
},
"segment_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Encharge segment id (from encharge_list_segments).",
"exclusiveMinimum": 0
}
}
}List the dynamic segments of the account with id, name and conditions. Use the ids with encharge_list_segment_people. GET /segments.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}WRITE: remove one or more tags from an existing person. The tags themselves are not deleted. DELETE /tags.
| Argument | Type | Description |
|---|---|---|
| id | string | Encharge id of the person (a UUID). |
| tags* | array | Tag names. A tag name cannot contain a comma. |
| string | Email address of the person. | |
| userId | string | The userId your own app uses for the person. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"tags"
],
"properties": {
"id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Encharge id of the person (a UUID)."
},
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 50,
"minItems": 1,
"description": "Tag names. A tag name cannot contain a comma."
},
"email": {
"type": "string",
"format": "includes",
"pattern": "@",
"maxLength": 320,
"minLength": 3,
"description": "Email address of the person."
},
"userId": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The userId your own app uses for the person."
}
}
}WRITE: record an event for a person through the Ingest API, for example "Registered user" or "Created Page". The person is created or updated from `user`. Use the event name "identify" to only create or update a person. Needs the account write key. POST https://ingest.encharge.io/v1/.
| Argument | Type | Description |
|---|---|---|
| name* | string | Event name. |
| tags | array | Tags to add to the person. |
| string | Email address of the person. | |
| userId | string | The userId your own app uses for the person. |
| properties | object | Properties of the event; values may be nested objects, for example { "plan": "Premium", "trial": { "length": 14 } }. Dates as ISO 8601. |
| user_fields | object | Person fields to set on this person, by field name. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Event name."
},
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 50,
"description": "Tags to add to the person."
},
"email": {
"type": "string",
"format": "includes",
"pattern": "@",
"maxLength": 320,
"minLength": 3,
"description": "Email address of the person."
},
"userId": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The userId your own app uses for the person."
},
"properties": {
"type": "object",
"description": "Properties of the event; values may be nested objects, for example { \"plan\": \"Premium\", \"trial\": { \"length\": 14 } }. Dates as ISO 8601.",
"propertyNames": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"additionalProperties": {}
},
"user_fields": {
"type": "object",
"description": "Person fields to set on this person, by field name.",
"propertyNames": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 10000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
]
}
}
}
}WRITE: unsubscribe one person so Encharge sends them no more email. The person stays in Encharge. Identify them by email, userId or Encharge id. POST /people/unsubscribe.
| Argument | Type | Description |
|---|---|---|
| id | string | Encharge id of the person (a UUID). |
| string | Email address of the person. | |
| userId | string | The userId your own app uses for the person. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Encharge id of the person (a UUID)."
},
"email": {
"type": "string",
"format": "includes",
"pattern": "@",
"maxLength": 320,
"minLength": 3,
"description": "Email address of the person."
},
"userId": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The userId your own app uses for the person."
}
}
}WRITE: create a person, or update the one that already has this email, userId or Encharge id. Only the fields you pass are set. Use encharge_add_tags for tags. POST /people.
| Argument | Type | Description |
|---|---|---|
| id | string | Encharge id of the person (a UUID). |
| string | Email address of the person. | |
| fields | object | Other person fields by field name (see encharge_list_fields), for example { "company": "Acme", "plan": "pro" }. Dates as ISO 8601. |
| userId | string | The userId your own app uses for the person. |
| lastName | string | Last name. |
| firstName | string | First name. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Encharge id of the person (a UUID)."
},
"email": {
"type": "string",
"format": "includes",
"pattern": "@",
"maxLength": 320,
"minLength": 3,
"description": "Email address of the person."
},
"fields": {
"type": "object",
"description": "Other person fields by field name (see encharge_list_fields), for example { \"company\": \"Acme\", \"plan\": \"pro\" }. Dates as ISO 8601.",
"propertyNames": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 10000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"userId": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The userId your own app uses for the person."
},
"lastName": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Last name."
},
"firstName": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "First name."
}
}
}