
Hackle
STDIOMCP server for querying A/B test data and analytics through Hackle API
MCP server for querying A/B test data and analytics through Hackle API
A Model Context Protocol server for Hackle API providing tools and resources for querying A/B Test data.
experiment-list
pageNumber
: Page number (default: 1)pageSize
: Number of items per page (default: 100)searchKeyword
: Search keyword (optional)experiment-detail
experimentId
: Experiment IDin-app-message-list
pageNumber
: Page number (default: 1)pageSize
: Number of items per page (default: 100)searchKeyword
: Search keyword (optional)in-app-message-detail
inAppMessageId
: In-app message IDpush-message-list
pageNumber
: Page number (default: 1)pageSize
: Number of items per page (default: 100)searchKeyword
: Search keyword (optional)push-message-detail
pushMessageId
: Push message IDactive-user-series
unit
: Time unit (DAY, WEEK, MONTH) (default: DAY)date
: Date (optional)retention-series
unit
: Time unit (DAY, WEEK, MONTH) (default: DAY)date
: Date (optional)stickiness-series
unit
: Time unit (WEEK, MONTH) (default: WEEK)date
: Date (optional)data-report-list
data-report-detail
dataReportId
: Data report's id. This can be found in response of Data Report List Tool.analytics-chart-list
pageNumber
: Page number (default: 1) (optional)pageSize
: Number of items per page (default: 100) (optional)searchKeyword
: Search keyword (optional) (optional)chartType
: Chart types that Hackle provides: FUNNEL, DATA_INSIGHT, RETENTION, and USER_PATH. (optional)analytics-chart-detail
chartId
: Analytics chart's id. It can be found in the response of Data Report Detail Tool or Analytics Chart List Tool.chartType
: Analytics chart's type(FUNNEL, DATA_INSIGHT, RETENTION, USER_PATH). It can be found in the response of Data Report Detail Tool or Analytics Chart List Tool.remote-config-list
pageNumber
: Page number (default: 1)pageSize
: Number of items per page (default: 100)searchKeyword
: Search keyword (optional)status
: Status of remote config: ACTIVE, ARCHIVED (default: 'ACTIVE')remote-config-detail
remoteConfigId
: Remote config's id. You can get this information by using Remote Config List Tool.remote-config-create
body
: Request body.
key
: Remote config's name.description
: Remote config's description.dataType
: Type of remote config's value: STRING, JSON, NUMBER, BOOLEAN.userIdentifierCriteria
: User identifier criteria for targeting. You can use criteria provided by Hackle($deviceId, $userId) or your own criteria created at Hackle dashboard website. (default: '$deviceId')remote-config-update
remoteConfigId
: Remote config's id.body
: Request body.
dataType
: Type of remote config's value: STRING, JSON, NUMBER, BOOLEAN. The request will not be accepted if dataType and remote config values does not match.remoteConfigDefaultValue
: Default value of remote config. This value's type should match with dataType field.conditionalValues
: Array of conditional remote config's value with user group targeting.
ruleName
: Name of targeting condition rule.remoteConfigValue
: Remote config's value. This value's type should match with dataType field.target
conditions
: Targeting rules. Users who The user he satisfies all conditions in this array will see this rule's remote config value.
key
type
: Condition's type: HACKLE_PROPERTY, USER_PROPERTY, AB_TEST, FEATURE_FLAG, COHORT, SEGMENT.name
: Property's name if type is HACKLE_PROPERTY or USER_PROPERTY. Experiment key if type is AB_TEST. Feature flag key if type is FEATURE_FLAG. You can put any non-empty string if type is COHORT or SEGMENT.match
operator
: Operators that will be used to match key and values of the condition.valueType
: Type of targeting condition's value: NUMBER, STRING, BOOLEAN, VERSION.values
: Values of targeting condition's key. Followings are some special cases: The values will be treated as names if you are using SEGMENT. Only strings 'A' and 'B' are allowed if type is AB_TEST. Only boolean values are accepted if type is FEATURE_FLAG. You should put cohort's id if type is COHORT.remote-config-update-user-identifier-criteria
remoteConfigId
: Remote config's id.body
: Request body.
userIdentifierCriteria
: User identifier criteria for targeting. You can use criteria provided by Hackle($deviceId, $userId) or your own criteria created at Hackle dashboard website. (default: '$deviceId')remote-config-update-description
remoteConfigId
: Remote config's id.body
: Request body.
description
: Remote config's description.Add this entry to your claude_desktop_config.json:
{ "mcpServers": { "hackle-mcp": { "command": "npx", "args": ["-y", "@hackle-io/hackle-mcp@latest"], "env": { "API_KEY": "YOUR_API_KEY" } } } }
Restart Claude if running
To use the Hackle MCP Server, you will need an API key. To obtain your API key:
Important: Never share your API key or commit it to public repositories. Treat your API key as a sensitive credential.
MIT