Encharge MCP by usefulapi

Manage Encharge people, tags, segments and fields, and track events for email automation.

使うべきか

品質と安全性

B
説明の品質
96%
スキーマの完全性
77%
命名の品質
80%
ポイズニングのリスク
80%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainencharge_track_event 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,281トークン数(ツール定義)
~1.7 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.78%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

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

リモートエンドポイント

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

できること

ツール一覧

ツール(10)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢encharge_get_account

The Encharge account behind the API key: account id, name, site, status, timezone, people count and active services. GET /accounts/info.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢encharge_get_people(people)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "people": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "minLength": 3,
            "maxLength": 320,
            "format": "includes",
            "pattern": "@",
            "description": "Email address of the person."
          },
          "userId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "The userId your own app uses for the person."
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "Encharge id of the person (a UUID)."
          }
        }
      },
      "description": "People to look up, each with at least one of email, userId or id."
    }
  },
  "required": [
    "people"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢encharge_list_segment_people(segment_id, limit, offset, attributes, sort, ...)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "segment_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Encharge segment id (from encharge_list_segments)."
    },
    "limit": {
      "description": "People per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of people to skip (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    },
    "attributes": {
      "description": "Person field names to return. Default: the standard fields.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "sort": {
      "description": "Person field name to sort by.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "order": {
      "description": "Sort order (default asc).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "required": [
    "segment_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴encharge_upsert_person(email, userId, id, firstName, lastName, ...)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "minLength": 3,
      "maxLength": 320,
      "format": "includes",
      "pattern": "@",
      "description": "Email address of the person."
    },
    "userId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The userId your own app uses for the person."
    },
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Encharge id of the person (a UUID)."
    },
    "firstName": {
      "description": "First name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "lastName": {
      "description": "Last name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "fields": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 10000
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "null"
          }
        ]
      },
      "description": "Other person fields by field name (see encharge_list_fields), for example { \"company\": \"Acme\", \"plan\": \"pro\" }. Dates as ISO 8601."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴encharge_unsubscribe_person(email, userId, id)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "minLength": 3,
      "maxLength": 320,
      "format": "includes",
      "pattern": "@",
      "description": "Email address of the person."
    },
    "userId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The userId your own app uses for the person."
    },
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Encharge id of the person (a UUID)."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡encharge_add_tags(email, userId, id, tags)

WRITE: add one or more tags to an existing person. Tags that do not exist yet are created. POST /tags.

入力スキーマ

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "minLength": 3,
      "maxLength": 320,
      "format": "includes",
      "pattern": "@",
      "description": "Email address of the person."
    },
    "userId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The userId your own app uses for the person."
    },
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Encharge id of the person (a UUID)."
    },
    "tags": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "description": "Tag names. A tag name cannot contain a comma."
    }
  },
  "required": [
    "tags"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴encharge_remove_tags(email, userId, id, tags)

WRITE: remove one or more tags from an existing person. The tags themselves are not deleted. DELETE /tags.

入力スキーマ

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "minLength": 3,
      "maxLength": 320,
      "format": "includes",
      "pattern": "@",
      "description": "Email address of the person."
    },
    "userId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The userId your own app uses for the person."
    },
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Encharge id of the person (a UUID)."
    },
    "tags": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "description": "Tag names. A tag name cannot contain a comma."
    }
  },
  "required": [
    "tags"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢encharge_list_segments

List the dynamic segments of the account with id, name and conditions. Use the ids with encharge_list_segment_people. GET /segments.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢encharge_list_fields

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.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴encharge_track_event(name, email, userId, user_fields, tags, ...)

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/.

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Event name."
    },
    "email": {
      "type": "string",
      "minLength": 3,
      "maxLength": 320,
      "format": "includes",
      "pattern": "@",
      "description": "Email address of the person."
    },
    "userId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The userId your own app uses for the person."
    },
    "user_fields": {
      "description": "Person fields to set on this person, by field name.",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 10000
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "null"
          }
        ]
      }
    },
    "tags": {
      "description": "Tags to add to the person.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "properties": {
      "description": "Properties of the event; values may be nested objects, for example { \"plan\": \"Premium\", \"trial\": { \"length\": 14 } }. Dates as ISO 8601.",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 10 件