Skip to content
This repository was archived by the owner on Nov 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
0852b76
feat(experiments): adding missing experiment types to the schema.
rodrigoi Sep 7, 2025
1d4519b
feat(experiments): adding exposure query and response schema.
rodrigoi Sep 7, 2025
22bb613
feat(experiments): MCP can get the experiment exposure results.
rodrigoi Sep 8, 2025
1d0c65d
feat(experiments): fixing exposure results refresh.
rodrigoi Sep 8, 2025
64375e1
feat(experiments): scaffolding for the metric results get tool.
rodrigoi Sep 8, 2025
5bb7f4b
feat(experiments): fixing the get metric results tool.
rodrigoi Sep 8, 2025
dad4678
feat(experiments): adding create experiment tool.
rodrigoi Sep 8, 2025
93fb7c6
feat(experiments): adding a create experiment tool.
rodrigoi Sep 8, 2025
06f88ec
fix(experiments): updating formatted files.
rodrigoi Sep 8, 2025
0385a0e
feat(experiments): allow for experiment editing.
rodrigoi Sep 8, 2025
2d3f159
fix(experiments): syncronizing python schema.
rodrigoi Sep 8, 2025
a750f4d
feat(experiments): adding tool titles.
rodrigoi Sep 12, 2025
b82a8cf
tests(experiments): adding API integration tests.
rodrigoi Sep 12, 2025
aad9de0
fix(experiments): adding experiment delte API handler
rodrigoi Sep 12, 2025
a393874
tests(experiments): adding experiment tools integration tests.
rodrigoi Sep 12, 2025
04a6744
feat(experiments): adding delete experiment tool.
rodrigoi Sep 12, 2025
3c789a7
fix(experiments): code formatting.
rodrigoi Sep 12, 2025
c1fa8dd
feat(experiments): adding the update tool.
rodrigoi Sep 14, 2025
671aec4
fix(experiments): code formatting.
rodrigoi Sep 14, 2025
ec10db3
fix(experiments): removing exposure query tool in favor of the resutl…
rodrigoi Sep 14, 2025
4ec0fa2
fix(experiments): renaming get metric results tool.
rodrigoi Sep 14, 2025
fa80a10
fix(experiments): updating create tool description, removing dead cod…
rodrigoi Sep 14, 2025
b5413a1
fix(experiments): replacing some optionals with nullish on the experi…
rodrigoi Sep 14, 2025
fa317fe
fix(experiments): fixing merge conflicts.
rodrigoi Sep 14, 2025
fd4e459
fix(experiments): adding missing properties to the tool definitions.
rodrigoi Sep 14, 2025
dd799d1
fix(experiments): results return the correct exposure information.
rodrigoi Sep 15, 2025
10c3f3e
tests(experiments): updating test suite.
rodrigoi Sep 15, 2025
d779a4a
fix(experiments): fixing typecheck errors.
rodrigoi Sep 15, 2025
c06b455
fix(experiments): updating uuid dependencies.
rodrigoi Sep 15, 2025
aea34dd
nullish on parametrs feature flag variants
joshsny Sep 15, 2025
b81bf27
feat(experiments): clean up of get all experiments tool client and sc…
rodrigoi Sep 16, 2025
474109f
refactor(experiments): destructuring parameters.
rodrigoi Sep 16, 2025
355bdcb
refactor(experiments): typing exposures and metrics client api calls.
rodrigoi Sep 16, 2025
a26e49f
refactor(experiments): typing metrics response and using Zod for tran…
rodrigoi Sep 16, 2025
34a0b2c
refactor(experiments): experiment delete cleanup.
rodrigoi Sep 16, 2025
20f963a
refactor(experiments): updating the create tool with more idiomatic Z…
rodrigoi Sep 17, 2025
8624d0b
refactor(experiments): refactoring the update tool to use the same pa…
rodrigoi Sep 17, 2025
6947130
refactor(experiments): updating integration tests and generated tool …
rodrigoi Sep 18, 2025
ba9076f
fix(experiments): updating typescript lockfile to solve merge conflicts.
rodrigoi Sep 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
503 changes: 480 additions & 23 deletions python/schema/tool_inputs.py

Large diffs are not rendered by default.

56 changes: 56 additions & 0 deletions schema/tool-definitions.json
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,48 @@
"readOnlyHint": true
}
},
"experiment-create": {
"description": "Create a comprehensive A/B test experiment. PROCESS: 1) Understand experiment goal and hypothesis 2) Search existing feature flags with 'feature-flags-get-all' tool first and suggest reuse or new key 3) Help user define success metrics by asking what they want to optimize 4) MOST IMPORTANT: Use 'event-definitions-list' tool to find available events in their project 5) For funnel metrics, ask for specific event sequence (e.g., ['product_view', 'add_to_cart', 'purchase']) and use funnel_steps parameter 6) Configure variants (default 50/50 control/test unless they specify otherwise) 7) Set targeting criteria if needed.",
"category": "Experiments",
"feature": "experiments",
"summary": "Create A/B test experiment with guided metric and feature flag setup",
"title": "Create experiment",
"required_scopes": ["experiment:write"],
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
}
},
"experiment-delete": {
"description": "Delete an experiment by ID.",
"category": "Experiments",
"feature": "experiments",
"summary": "Delete an experiment by ID.",
"title": "Delete experiment",
"required_scopes": ["experiment:write"],
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
}
},
"experiment-update": {
"description": "Update an existing experiment by ID. Can update name, description, lifecycle state, variants, metrics, and other properties. RESTART WORKFLOW: To restart a concluded experiment, set end_date=null, conclusion=null, conclusion_comment=null, and optionally set a new start_date. To make it draft again, also set start_date=null. COMMON PATTERNS: Launch draft (set start_date), stop running (set end_date + conclusion), archive (set archived=true), modify variants (update parameters.feature_flag_variants). NOTE: feature_flag_key cannot be changed after creation.",
"category": "Experiments",
"feature": "experiments",
"summary": "Update an existing experiment with lifecycle management and restart capability.",
"title": "Update experiment",
"required_scopes": ["experiment:write"],
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
}
},
"experiment-get": {
"description": "Get details of a specific experiment by ID.",
"category": "Experiments",
Expand All @@ -223,6 +265,20 @@
"readOnlyHint": true
}
},
"experiment-results-get": {
"description": "Get comprehensive experiment results including all metrics data (primary and secondary) and exposure data. This tool fetches the experiment details and executes the necessary queries to get complete experiment results. Only works with new experiments (not legacy experiments).",
"category": "Experiments",
"feature": "experiments",
"summary": "Get comprehensive experiment results including metrics and exposure data.",
"title": "Get experiment results",
"required_scopes": ["experiment:read"],
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
}
},
"insight-create-from-query": {
"description": "Create an insight from a query that you have previously tested with 'query-run'. You should check the query runs, before creating an insight. Do not create an insight before running the query, unless you know already that it is correct (e.g. you are making a minor modification to an existing query you have seen).",
"category": "Insights & analytics",
Expand Down
Loading