Skip to content

Commit 2f0226c

Browse files
[EX-2197] Add three new experiment MCP tools (#33)
* Add three new experiment MCP tools Adds support for listing, getting, and retrieving variant content for experiments: - list_experiments: List experiments with filtering by campaign, status, and date range - get_experiment: Get detailed experiment information by ID - get_experiment_variants: Get variant content including templates Updates @iterable/api to 0.8.0 which includes the new experiment endpoints. Adds comprehensive unit tests for all new tools. Implements: EX-2197, EX-2198, EX-2199, EX-2200 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * Use published @iterable/api@0.8.0 from npm Removes local link and uses the published package from npm registry. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * Add experiment tools to NON_PII and READ_ONLY tool filters Adds the three new experiment tools to the appropriate filter lists: - get_experiment: Read-only, non-PII - get_experiment_variants: Read-only, non-PII - list_experiments: Read-only, non-PII Also regenerates pnpm-lock.yaml to fix overrides configuration mismatch that was causing frozen lockfile CI failures. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * Remove local api-client override from package.json Removes the override that was linking to the local api-client directory. Now uses the published @iterable/api@0.8.0 from npm. Also updates TOOLS.md with the new experiment tools. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 039dc23 commit 2f0226c

6 files changed

Lines changed: 707 additions & 569 deletions

File tree

TOOLS.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Available Iterable MCP Tools (105 tools)
1+
# Available Iterable MCP Tools (108 tools)
22

33
**Legend:**
44
- 🔒 = Requires enabling user PII access
@@ -49,8 +49,11 @@
4949
- **track_bulk_events** 🔒✏️✉️: Track multiple events in a single request for better performance
5050
- **track_event** 🔒✏️✉️: Track a custom event for a user
5151

52-
## Experiments (1 tools)
52+
## Experiments (4 tools)
53+
- **get_experiment**: Get detailed information about a specific experiment by ID, including variants summary and constraints
5354
- **get_experiment_metrics**: Get experiment metrics for A/B testing analysis (currently supports email experiments only)
55+
- **get_experiment_variants**: Get variant content for an experiment, including subject lines, preheaders, HTML source, and plain text
56+
- **list_experiments**: List experiments with optional filtering by campaign, status, and date range. Supports pagination.
5457

5558
## Journeys (2 tools)
5659
- **get_journeys**: Get journeys (workflows) with optional pagination and state filtering

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@
3838
"minimumReleaseAge": 4320,
3939
"minimumReleaseAgeExclude": [
4040
"@iterable/*"
41-
]
41+
],
42+
"overrides": {}
4243
},
4344
"scripts": {
4445
"build": "pnpm lint:fix && tsc --project tsconfig.build.json && pnpm update-tools && chmod +x dist/index.js",
@@ -75,7 +76,7 @@
7576
},
7677
"dependencies": {
7778
"@alcyone-labs/zod-to-json-schema": "4.0.10",
78-
"@iterable/api": "0.7.0",
79+
"@iterable/api": "0.8.0",
7980
"@modelcontextprotocol/sdk": "1.18.1",
8081
"@primno/dpapi": "2.0.1",
8182
"@types/json-schema": "7.0.15",

0 commit comments

Comments
 (0)