Connect your AI Agents to ConfigCat in minutes

Merge lets you securely connect your agents to ConfigCat and thousands of tools instantly

Available tools

get_me

Get the ConfigCat user the Public API credential belongs to, with their email and name. Use this to confirm which account the connector is acting as before making changes.

list_organizations

List the ConfigCat organizations this credential can see. Start here: an organization ID is required to create a product and to read organization audit logs, usage and limits.

get_organization_limitations

Get an organization's feature flag limits: how many targeting rules, percentage options and predefined variations a flag may have, and how long a value may be. Check these before building large targeting rules. Use list_organizations to find organization IDs.

get_organization_usage

Get an organization's plan usage and quota counters, such as config JSON downloads against the plan allowance. Use list_organizations to find organization IDs.

list_organization_members

List an organization's members, grouped into admins, billing managers and plain members. Use this to find the user ID behind an email before changing product access. Use list_organizations to find organization IDs.

list_product_members

List everyone with access to a product, with the permission group that grants it. Use list_products to find product IDs.

list_audit_logs

List a product's audit log entries, newest first, filtered by config, environment, change type or time window. Use it to answer who changed a flag and when. Use listproducts to find product IDs; page with pagenumber.

list_organization_audit_logs

List an organization's audit log entries across every product, newest first, filtered by product, config, environment, change type or time window. Use listorganizations to find organization IDs; page with pagenumber.

get_sdk_keys

Get the primary and secondary SDK keys that serve one config in one environment. These are the keys an application passes to a ConfigCat SDK. Use listconfigs and listenvironments to find the IDs.

list_configs

List the configs in a product. A config is the folder that holds feature flags, so its ID is what listflags and createflag need. Each entry reports evaluationVersion, which decides the shape of its flags' values. Use list_products to find product IDs.

get_config

Get one config by ID, including its evaluationVersion and owning product. Use list_configs to find config IDs.

create_config

Create a config in a product. Defaults to the v2 targeting engine; ConfigCat's own API default is the legacy v1, which cannot be changed afterwards, so this tool always sends the value. Use list_products to find product IDs. Returns the new configId.

update_config

Update a config's name, description or display order. Fields you leave null keep their current values. A config's evaluationVersion cannot be changed. Use list_configs to find config IDs.

delete_config

Permanently delete a config and every feature flag inside it, in every environment. This cannot be undone. Use list_configs to find config IDs.

list_environments

List the environments in a product. A flag holds one value per environment, so an environment ID is what the flag value tools need. Use list_products to find product IDs.

get_environment

Get one environment by ID, including whether changes there need a reason or an approval. Use list_environments to find environment IDs.

create_environment

Create an environment in a product, adding one more value slot to every flag in it. Use list_products to find product IDs. Smaller ConfigCat plans cap the number of environments and refuse this with a plan-limit error. Returns the new environmentId.

update_environment

Update an environment's name, description, colour or display order. Fields you leave null keep their current values. Use list_environments to find environment IDs.

delete_environment

Permanently delete an environment and every flag value held in it. This cannot be undone. Use list_environments to find environment IDs.

list_flags

List the feature flags in a config, with each flag's numeric settingId, key, value type and tags. Use this to find the settingId that getflag, updateflag and the flag value tools take. Use list_configs to find config IDs.

get_flag

Get one feature flag's definition by its numeric ID: key, name, hint, value type and tags. This returns the flag itself, not its value in an environment, which getflagvalue returns. Use list_flags to find flag IDs.

create_flag

Create a feature flag in a config. The key and the value type are fixed at creation. Use listconfigs for config IDs and listtags for tag IDs. Returns the new settingId; set the flag's value per environment with updateflagvalue.

update_flag

Update a feature flag's name, hint or display order. Fields you leave null are not touched. The key and value type cannot be changed; use updateflagvalue to change what the flag returns. Use list_flags to find flag IDs.

delete_flag

Permanently delete a feature flag and its values in every environment. SDKs asking for the key afterwards fall back to their default value. This cannot be undone. Use list_flags to find flag IDs.

list_flags_by_tag

List every feature flag carrying one tag, across all of the product's configs. Use list_tags to find tag IDs.

list_stale_flags

Report a product's stale (zombie) flags: the ones whose value has not changed for long enough to look abandoned. Use it to find flags worth removing. Use list_products to find product IDs.

get_flag_value

Get one feature flag's value and targeting rules in one environment. Use listflags for the flag ID and listenvironments for the environment ID. The result reports evaluation_version: read defaultValue on 'v2' and value on 'v1'.

list_flag_values

Get every feature flag's value in one config and environment, in a single call. Use this instead of calling getflagvalue per flag. Use listconfigs and listenvironments to find the IDs.

update_flag_value

Set a feature flag's default value in one environment. Supply exactly one of boolvalue, stringvalue, intvalue or doublevalue, matching the flag's settingType from getflag. Existing targeting rules are left in place. Pass a reason when the product requires one; getproduct_preferences says whether it does.

get_flag_value_by_sdk_key

Get one flag's value using the connected SDK key, which already identifies a config and environment, so no IDs are needed. Accepts the flag key or its numeric ID. Requires the optional SDK key secret to be set.

update_flag_value_by_sdk_key

Set a flag's default value using the connected SDK key, which already identifies the config and environment. Supply exactly one of boolvalue, stringvalue, intvalue or doublevalue, matching the flag's settingType. Requires the optional SDK key secret.

get_published_config

Download the published config JSON that ConfigCat's SDKs evaluate, for the config and environment the connected SDK key points at. Use it to confirm a change has reached the delivery network. Requires the optional SDK key secret to be set.

list_products

List every ConfigCat product this credential can see, across all organizations. Start here to get the product ID that config, environment, tag, segment and webhook tools need. ConfigCat returns the full list in one response.

get_product

Get one product by ID, with its organization and change-approval flags. Use list_products to find product IDs.

create_product

Create a product inside an organization. Use list_organizations to find the organization ID first. Returns the new productId. Creating a product may be refused with a plan-limit error on smaller plans.

update_product

Update a product's name, description or display order. Fields you leave null keep their current values. Use list_products to find product IDs.

delete_product

Permanently delete a product and everything in it: its configs, feature flags, environments, segments and webhooks. This cannot be undone. Use list_products to find product IDs.

get_product_preferences

Get a product's change-management preferences: whether a reason or an approval is required for flag value changes, globally and per environment. Check this before calling updateflagvalue, which needs a reason when it is required. Use list_products to find product IDs.

list_segments

List the segments defined in a product. A segment is a reusable user group that targeting rules reference by ID. Use list_products to find product IDs.

get_segment

Get one segment by ID, with the attribute, comparator and value that define it. Use list_segments to find segment IDs.

create_segment

Create a segment in a product from one condition: an attribute, a comparator and a value. Use list_products to find product IDs. Returns the new segmentId, which targeting rules reference.

update_segment

Update a segment's name, description or condition. Fields you leave null keep their current values, and flags targeting the segment pick the change up immediately. Use list_segments to find segment IDs.

delete_segment

Permanently delete a segment. Targeting rules that reference it stop applying. This cannot be undone. Use list_segments to find segment IDs.

list_tags

List the tags defined in a product. Tags group feature flags across configs; their IDs are what createflag and listflagsbytag take. Use list_products to find product IDs.

get_tag

Get one tag by ID, with its name, colour and owning product. Use list_tags to find tag IDs.

create_tag

Create a tag in a product so feature flags can be grouped by it. Use listproducts to find product IDs. Returns the new tagId, which createflag accepts.

update_tag

Update a tag's name or colour. Fields you leave null keep their current values. Use list_tags to find tag IDs.

delete_tag

Delete a tag and remove it from every feature flag carrying it. The flags themselves are not deleted. Use list_tags to find tag IDs.

validate_credential

Validate the ConfigCat Public API user name and password, and the SDK key when one is set. Every secret is exercised: the pair against the account lookup, the SDK key against the config delivery network, so a half-configured credential fails here rather than in every later tool.

list_webhooks

List a product's webhooks, with the config and environment each one watches. Use list_products to find product IDs.

get_webhook

Get one webhook by ID, with its URL, method, body template and headers. Use list_webhooks to find webhook IDs.

create_webhook

Create a webhook that fires when a flag value changes in one config and environment. Use listconfigs and listenvironments to find the IDs. Returns the new webhookId; delete_webhook removes it.

delete_webhook

Permanently delete a webhook, so flag value changes stop being posted to its URL. Use list_webhooks to find webhook IDs.

View all tools by creating a free accountSee more tools

How to set up Merge Agent Handler

In an mcp.json file, add the configuration below, and restart Cursor.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5      "headers": {
6        "Authorization": "Bearer yMt*****"
7      }
8    }
9  }
10}
11
Copy Code

Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.

Make sure Claude is using the Node v20+.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "command": "npx",
5      "args": [
6        "-y",
7        "mcp-remote@latest",
8        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9        "--header",
10        "Authorization: Bearer ${AUTH_TOKEN}"
11      ],
12      "env": {
13        "AUTH_TOKEN": "yMt*****"
14      }
15    }
16  }
17}
Copy Code
Copied!

Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.

Learn more in the official documentation ↗

1{
2    "mcpServers": {
3      "agent-handler": {
4        "command": "npx",
5        "args": [
6          "-y",
7          "mcp-remote@latest",
8          "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9          "--header",
10          "Authorization: Bearer ${AUTH_TOKEN}"
11        ],
12        "env": {
13          "AUTH_TOKEN": "<ah-production-access-key>"
14        }
15      }
16    }
17  }
Copy Code

In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".

You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.

Learn more in the official documentation ↗

1{
2  "inputs": [
3    {
4      "type": "promptString",
5      "id": "agent-handler-auth",
6      "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7      "password": true
8    }
9  ],
10  "servers": {
11    "agent-handler": {
12      "type": "stdio",
13      "command": "npx",
14      "args": [
15        "-y",
16        "mcp-remote@latest",
17        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18        "--header",
19        "Authorization: Bearer ${input:agent-handler-auth}"
20      ]
21    }
22  }
23}
Copy Code

FAQs on using Merge's ConfigCat  MCP server

FAQs on using Merge's ConfigCat  MCP server

Explore other MCP servers built and managed by Merge

deel
Deel
discord
Discord
docrio
Docrio
docusign
DocuSign
doordash
DoorDash
dropbox
Dropbox
duffel
Duffel
dynamics365
Dynamics 365 Sales
exa
Exa
excel_gcc
Excel GCC High
expensify
Expensify
figma
Figma
firecrawl
Firecrawl
fireflies
Fireflies
firehydrant
FireHydrant
foursquare
Foursquare
frameio
Frame.io
freshbooks
FreshBooks
freshdesk
Freshdesk
freshservice
Freshservice
front
Front
gamma
Gamma
github
GitHub
gitlab
GitLab

Ready to try it out?

Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now