com.mcparmory/customerio-journeys-track
PYPI · MCPARMORY-CUSTOMERIO-JOURNEYS-TRACK · 2 COMPONENTS · SCANNED SEP 20
Track customer data, manage audience segments, and trigger personalized campaigns
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security37
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Install-script risk not yet assessed.Unverified
- 2 of 41 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: the license (MIT License) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 130 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability68
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2931 tokens (~172/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the com.mcparmory/customerio-journeys-track MCP server?
com.mcparmory/customerio-journeys-track runs locally as a PyPI package, launched with uvx mcparmory-customerio-journeys-track. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · mcparmory-customerio-journeys-track
claude mcp add com-mcparmory-customerio-journeys-track -- uvx mcparmory-customerio-journeys-track
{
"mcpServers": {
"com-mcparmory-customerio-journeys-track": {
"command": "uvx",
"args": [
"mcparmory-customerio-journeys-track"
]
}
}
} {
"servers": {
"com-mcparmory-customerio-journeys-track": {
"command": "uvx",
"args": [
"mcparmory-customerio-journeys-track"
]
}
}
} codex mcp add com-mcparmory-customerio-journeys-track -- uvx mcparmory-customerio-journeys-track
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-mcparmory-customerio-journeys-track": {
"type": "local",
"command": [
"uvx",
"mcparmory-customerio-journeys-track"
],
"enabled": true
}
}
} openclaw mcp add com-mcparmory-customerio-journeys-track --command uvx --arg mcparmory-customerio-journeys-track
mcp_servers:
com-mcparmory-customerio-journeys-track:
command: "uvx"
args: ["mcparmory-customerio-journeys-track"] {
"McpServers": {
"com-mcparmory-customerio-journeys-track": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"mcparmory-customerio-journeys-track"
]
}
}
} assistant mcp add com-mcparmory-customerio-journeys-track -t stdio -c uvx -a mcparmory-customerio-journeys-track
{
"mcpServers": {
"com-mcparmory-customerio-journeys-track": {
"command": "uvx",
"args": [
"mcparmory-customerio-journeys-track"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 −3
- Stability: pass → 0.80 functional
- 17 Sept 26 +1
- Stability: 0.97 → pass security
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 11 Sept 26 −3
- Stability: pass → 0.80 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed pypi/mcparmory-customerio-journeys-track@1.0.5
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Dependencies 41 packages
| Packages resolved | 41 |
|---|---|
| Stale | 1 |
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_customers_to_segment Add Customers to Segment ~156
Add customers to a manual segment by their identifiers. You can add up to 1000 customers per request using their ID, email, or CIO ID.
| Name | Type | Req | Description |
|---|---|---|---|
| id_type | string | – | The identifier type for all values in the ids array. All customer identifiers must be of the same type. Defaults to customer ID if not specified. |
| ids | array | yes | Array of customer identifiers to add to the segment. All values must match the id_type parameter. Unmatched entries are ignored. Accepts 1 to 1000 identifiers per request. |
| segment_id | string | yes | The unique identifier of the manual segment. Find this ID in the segment's dashboard page under Usage, or retrieve it using the segments API. |
No output schema declared.
No examples provided.
batch_entities Batch Entities ~90
Submit multiple entity operations in a single request to create or modify people and objects. Combine different entity types (people, objects, deliveries) in one batch for efficient bulk processing.
| Name | Type | Req | Description |
|---|---|---|---|
| batch | array | – | Array of entity payloads representing individual operations. Each object modifies a single person or object. The batch request must not exceed 500kb total, and each individual entity operation must n… |
No output schema declared.
No examples provided.
delete_customer Delete Customer ~87
Permanently remove a customer and all associated information from Customer.io. Note that customers recreated through other integration methods (such as the Javascript snippet) after deletion may need to be deleted again.
| Name | Type | Req | Description |
|---|---|---|---|
| identifier | string | yes | The unique identifier for the customer to delete. This can be a customer ID, email address, or cio_id (prefixed with 'cio_') depending on your workspace configuration. |
No output schema declared.
No examples provided.
get_account_region Get Account Region ~44
Retrieve your account's region and environment details. This endpoint returns the appropriate regional URL and environment ID for your Track API credentials, which you should use for all subsequent API requests.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
log_anonymous_event Log Anonymous Event ~274
Log an event for an unidentified person using an anonymous identifier. Events can be associated with a person later when their identity is confirmed, enabling campaign triggers within 72 hours of the event timestamp.
| Name | Type | Req | Description |
|---|---|---|---|
| anonymous_id | string | – | A unique identifier for the anonymous person, such as a cookie or device ID. When this identifier is later set as an attribute on a person, all events with matching anonymous_id are associated with t… |
| data | object | – | Additional event metadata as key-value pairs. Can include custom attributes to set on the person, or special fields like 'from_address' and 'reply_to' for campaign triggering. |
| id | string | – | A unique identifier for deduplicating this event. If an event with the same ID was previously received, it will not be processed again. |
| name | string | yes | The name of the event used to reference it in campaigns and segments. Avoid leading or trailing spaces as they cannot be referenced in campaign logic. |
| timestamp | string | – | The Unix timestamp indicating when the event occurred. If not provided, the server timestamp at receipt time is used. |
| type | string | – | The category of event being tracked. Use 'page' for website page views, 'screen' for mobile app screen views, or 'event' for all other event types. |
No output schema declared.
No examples provided.
manage_entity Manage Entity ~397
Create, update, delete, or manage relationships for a person or object (such as a company or product) in Customer.io. Supports operations like identifying profiles, tracking events, managing devices, and merging duplicate person records.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | The operation to perform on the specified entity type, such as identifying a profile, tracking an event, managing devices, or merging records. |
| attributes | object | – | Custom and reserved attributes to add or update for the entity. You can pass custom properties beyond the reserved ones defined in the Track API. |
| cio_relationships | array | – | Relationship data to associate with the entity, defining connections between people and objects. |
| device | object | – | Properties representing an individual device, such as device type, OS, and app version. SDKs automatically gather these properties unless disabled. |
| id | string | – | A unique ULID used to deduplicate events and prevent duplicate processing. |
| identifiers | – | – | The identifier for the person or object being modified. Provide exactly one of: `id` (ULID), `email`, or `cio_id`. Cannot pass multiple identifiers. |
| name | string | – | The name of the event being tracked. Used to identify and trigger campaigns in Customer.io. |
| primary | – | – | The person to retain after a merge operation, identified by `id`, `email`, or `cio_id`. This person receives attributes from the secondary person. Required when action is `merge`. |
| secondary | – | – | The person to delete after a merge operation, identified by `id`, `email`, or `cio_id`. This person's information is merged into the primary person and then deleted. Required when action is `merge`. |
| timestamp | integer | – | Unix timestamp indicating when the attribute update occurred. Use this to control the order of updates when multiple requests are sent in rapid succession. |
| type | string | yes | The entity type being modified: a person, object, or delivery record. |
No output schema declared.
No examples provided.
mark_delivery_unsubscribed Mark Delivery Unsubscribed ~90
Mark a person as unsubscribed from a specific email delivery. Use this endpoint with custom unsubscribe pages to record unsubscribe requests and trigger email_unsubscribed events for audience segmentation.
| Name | Type | Req | Description |
|---|---|---|---|
| delivery_id | string | yes | The unique identifier of the email delivery associated with the unsubscribe request. |
| unsubscribe | boolean | – | Set to true to mark the person as unsubscribed and attribute the unsubscribe action to this delivery. |
No output schema declared.
No examples provided.
merge_customers Merge Customers ~148
Merge two customer profiles by consolidating the secondary profile into the primary profile, then deleting the secondary. This operation is irreversible and requires the primary profile to already exist in Customer.io.
| Name | Type | Req | Description |
|---|---|---|---|
| primary | – | yes | The customer profile that will remain after the merge. Identified by `id`, `email`, or `cio_id`. This profile receives merged data from the secondary profile. Must already exist in Customer.io at the… |
| secondary | – | yes | The customer profile that will be deleted after the merge. Identified by `id`, `email`, or `cio_id`. This profile's attributes, event history, segments, and campaign journeys are merged into the prim… |
No output schema declared.
No examples provided.
register_device Register Device ~124
Register or update a device for a customer. Customers can maintain multiple devices (iOS and Android) on their profile.
| Name | Type | Req | Description |
|---|---|---|---|
| device | object | yes | An object containing device properties such as platform type, device token, and attributes. Properties are automatically collected by SDKs unless `autoTrackDeviceAttributes` is disabled. Device prope… |
| identifier | string | yes | The unique identifier for the customer. Can be an `id`, `email` address, or `cio_id` (prefixed with `cio_`) depending on workspace configuration. |
No output schema declared.
No examples provided.
remove_customers_from_segment Remove Customers from Segment ~155
Remove customers from a manual segment by their identifiers. This operation supports up to 1000 customer IDs per request and requires customers to have id attributes in your workspace.
| Name | Type | Req | Description |
|---|---|---|---|
| id_type | string | – | The identifier type for the customers being removed. All values in the ids array must match this type. Defaults to id if not specified. |
| ids | array | yes | Array of customer identifiers to remove from the segment. Must contain between 1 and 1000 identifiers, all matching the type specified in id_type. |
| segment_id | string | yes | The unique identifier of the segment from which to remove customers. You can find this ID in the Segments dashboard under Usage, or retrieve it via the Segments API. |
No output schema declared.
No examples provided.
remove_device Remove Device ~99
Remove a device from a customer profile. Ensure you stop sending device data to Customer.io to prevent the device from being automatically re-added.
| Name | Type | Req | Description |
|---|---|---|---|
| device_id | string | yes | The unique identifier of the device to remove from the customer profile. |
| identifier | string | yes | The unique identifier for the customer. This can be an `id`, `email` address, or `cio_id` (prefixed with `cio_`) depending on your workspace configuration. |
No output schema declared.
No examples provided.
report_metric Report Metric ~222
Report email metrics from external channels or non-SDK integrations by associating events with a delivery ID from a Customer.io message. Use the CIO-Delivery-ID header value as the delivery_id to track opens, clicks, conversions, bounces, and other email events.
| Name | Type | Req | Description |
|---|---|---|---|
| delivery_id | string | yes | The CIO-Delivery-ID header value from the notification you want to associate this metric with. This ID links the reported event back to the original message delivery. |
| href | string | – | For clicked metrics, the URL or link that the recipient clicked. Include the full link destination. |
| metric | string | yes | The type of email metric being reported. Choose the value that best describes the event that occurred. |
| reason | string | – | The reason for failure-related metrics such as bounces or drops. Provide context about why the metric occurred. |
| recipient | string | – | The email address of the recipient who received the message and triggered this metric event. |
| timestamp | string | – | The Unix timestamp indicating when the event occurred. If omitted, the current time is used. |
No output schema declared.
No examples provided.
submit_form Submit Form ~180
Submit a form response and create or update the respondent in Customer.io. Form submissions are associated with a form connection; if the form_id is unrecognized, a new form connection is automatically created.
| Name | Type | Req | Description |
|---|---|---|---|
| data | – | yes | An object containing form field data and respondent identifiers. Must include at least one identifier field (id, email, or a field mapped to these identifiers) to identify or create the form responde… |
| form_id | string | yes | The unique identifier for the form. Use a value that is meaningful to your system and traceable to your backend. If Customer.io does not recognize this identifier, a new form connection will be creat… |
No output schema declared.
No examples provided.
suppress_customer Suppress Customer ~116
Permanently delete a customer profile and suppress their identifier(s) to prevent re-addition to the workspace. All future API calls referencing the suppressed identifier are ignored. This action cannot be undone and should be used primarily for GDPR/CCPA compliance requests.
| Name | Type | Req | Description |
|---|---|---|---|
| identifier | string | yes | The unique identifier for the customer to suppress. This can be an email address, customer ID, or CIO ID (prefixed with `cio_`) depending on your workspace configuration. When using CIO ID, the value… |
No output schema declared.
No examples provided.
track_customer_event Track Customer Event ~297
Record a behavioral event (page view, screen view, or custom event) for a customer to enable campaign triggering and audience segmentation. Events with timestamps within the past 72 hours can activate campaigns.
| Name | Type | Req | Description |
|---|---|---|---|
| anonymous_id | string | – | An identifier for anonymous events (such as a cookie value). When set as a customer attribute, all events with this identifier are associated with that customer. Must be unique and non-reusable. |
| data | object | – | Custom properties associated with the event for use in campaign personalization via liquid templating or for setting customer attributes. Reserved properties (from_address, recipient, reply_to) overr… |
| id | string | – | A unique identifier for deduplicating events. If an event with this ID was previously received, it will not be processed again. |
| identifier | string | yes | The unique identifier for the customer. Can be their user ID, email address, or CIO ID depending on workspace configuration. |
| name | string | yes | The name of the event used to reference it in campaigns and segments. Leading and trailing spaces are automatically trimmed. |
| timestamp | string | – | The Unix timestamp indicating when the event occurred. If omitted, the server timestamp at receipt is used. Only events from the past 72 hours can trigger campaigns. |
| type | string | – | Categorizes the event as a page view, mobile screen view, or custom event. Defaults to 'event' if not specified. |
No output schema declared.
No examples provided.
unsuppress_customer Unsuppress Customer ~86
Reactivate a suppressed customer profile to make their identifier available for new profile creation. Unsuppressing does not restore the previous profile history; it only makes the identifier usable again.
| Name | Type | Req | Description |
|---|---|---|---|
| identifier | string | yes | The unique identifier for the customer, which can be their ID, email address, or cio_id (prefixed with 'cio_'). The identifier type depends on your workspace configuration. |
No output schema declared.
No examples provided.
upsert_customer Upsert Customer ~366
Add a new customer or update an existing customer's profile. This operation handles identifier merging, profile creation, and attribute updates based on the identifiers provided in the path and request body.
| Name | Type | Req | Description |
|---|---|---|---|
| _update | boolean | – | Set to true to update an existing customer profile instead of creating a new one when the identifier is not found. Prevents duplicate profile creation during rapid successive requests. |
| action | string | – | Specifies whether to add relationships to or remove relationships from the customer. |
| anonymous_id | string | – | An anonymous identifier (such as a cookie value) that associates anonymous events with this customer. Must be unique and cannot be reused across different customers. |
| string | – | The email address of the customer. Case-insensitive for workspaces using email as an identifier. | |
| id | string | – | A customer's unique ID. Can be set when identifying by email; can be updated when identifying by `cio_id`. |
| identifier | string | yes | The unique identifier for the customer in the path. Can be a customer ID, email address, or `cio_id` (prefixed with `cio_`). For workspaces using email as an identifier, this is case-insensitive. |
| relationships | array | – | An array of relationship objects to add to or remove from the customer, based on the `action` parameter. Each object represents a single relationship. |
| topics | object | – | An object containing active topics in your workspace, with keys in the format `topic_<id>` and boolean values indicating topic subscription status. |
| unsubscribed | boolean | – | Subscription status for the customer. When true, the customer is unsubscribed from all messages. When false or absent, the customer is eligible to receive messages based on their subscription prefere… |
No output schema declared.
No examples provided.
What is the com.mcparmory/customerio-journeys-track MCP server?
com.mcparmory/customerio-journeys-track is an MCP server listed in the public MCP registry as com.mcparmory/customerio-journeys-track. Track customer data, manage audience segments, and trigger personalized campaigns. This page covers its PyPI package (mcparmory-customerio-journeys-track).
Is the com.mcparmory/customerio-journeys-track MCP server safe to use?
com.mcparmory/customerio-journeys-track scores 60 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the com.mcparmory/customerio-journeys-track MCP server expose?
com.mcparmory/customerio-journeys-track exposes 17 tools: get_account_region, upsert_customer, delete_customer, register_device, remove_device, and 12 more. Their descriptions and schemas cost roughly 2,931 tokens of context every time the server is loaded.
Is the com.mcparmory/customerio-journeys-track MCP server still maintained?
com.mcparmory/customerio-journeys-track is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.