Skip to main content
Glama
configcat

ConfigCat MCP Server

Official
by configcat

ConfigCat MCP Server

NPM License

The ConfigCat's Model Context Protocol (MCP) server provides access to ConfigCat's public management API for feature flag and configuration management. It also enables your code editor to understand your feature flags, integrate the appropriate ConfigCat SDK into your project or even create new feature flags directly in your codebase.

Features

  • Tools:

    • Complete set of tools for ConfigCat's public management API operations. You can Create, Read, Update and Delete any entities like Feature Flags, Configs, Environments or Products within ConfigCat.

    • Get comprehensive SDK documentation and code examples for seamless feature flag implementation in your project.

Related MCP server: LaunchDarkly MCP Server

Setup

You can use the following environment variables to configure the MCP server.

Environment variable

Required

Default

Description

CONFIGCAT_API_USER

☑

ConfigCat Management API basic authentication username.

CONFIGCAT_API_PASS

☑

ConfigCat Management API basic authentication password.

CONFIGCAT_BASE_URL

https://api.configcat.com

ConfigCat Management API host.

The instructions below show how to connect a client to the MCP server.

Cursor

  1. Open Preferences -> Cursor Settings -> MCP & Integrations

  2. Click Add Custom MCP

  3. Add the following server definition for the ConfigCat MCP server:

{
  "mcpServers": {
    "ConfigCat": {
      "command": "npx",
      "args": ["-y", "@configcat/mcp-server"],
      "env": {
        "CONFIGCAT_API_USER": "YOUR_API_USER",
        "CONFIGCAT_API_PASS": "YOUR_API_PASSWORD"
      }
    }
  }
}
  1. Save the settings.

Visual Studio Code

  1. Create a .vscode/mcp.json file in your project root with the following content:

{
  "servers": {
    "ConfigCat": {
      "command": "npx",
      "args": ["-y", "@configcat/mcp-server"],
      "env": {
        "CONFIGCAT_API_USER": "YOUR_API_USER",
        "CONFIGCAT_API_PASS": "YOUR_API_PASSWORD"
      }
    }
  }
}
  1. Save the settings file. The MCP server should now be available in VS Code.

Claude Desktop

  1. Open Settings → Developer

  2. Click Edit Config

  3. Open claude_desktop_config.json

  4. Add the following server definition for the ConfigCat MCP server:

{
  "mcpServers": {
    "ConfigCat": {
      "command": "npx",
      "args": ["-y", "@configcat/mcp-server"],
      "env": {
        "CONFIGCAT_API_USER": "YOUR_API_USER",
        "CONFIGCAT_API_PASS": "YOUR_API_PASSWORD"
      }
    }
  }
}
  1. Save and restart Claude.

Available Tools

Membership Management

Organizations

  • list-organizations - List all organizations

Members

  • list-organization-members - List organization members

  • list-pending-invitations - List pending invitations

  • list-pending-invitations-org - List org pending invitations

  • list-product-members - List product members

  • invite-member - Invite a new member

  • update-member-permissions - Update the permissions of a member

  • delete-organization-member - Remove organization member

  • delete-product-member - Remove product member

  • delete-invitation - Cancel invitation

Permission Groups

  • list-permission-groups - List permission groups

  • create-permission-group - Create a new permission group

  • get-permission-group - Get permission group details

  • update-permission-group - Update permission group

  • delete-permission-group - Delete permission group

General

Products

  • list-products - List all products

  • get-product - Get specific product details

  • update-product - Update existing product

  • delete-product - Delete a product

  • get-product-preferences - Get product preferences

  • update-product-preferences - Update product preferences

  • create-product - Create a new product

Configs

  • list-configs - List configs for a product

  • create-config - Create a new config

  • get-config - Get specific config details

  • update-config - Update existing config

  • delete-config - Delete a config

Environments

  • list-environments - List environments for a product

  • create-environment - Create a new environment

  • get-environment - Get specific environment details

  • update-environment - Update existing environment

  • delete-environment - Delete an environment

Segments

  • list-segments - List user segments

  • create-segment - Create a new segment

  • get-segment - Get specific segment details

  • update-segment - Update existing segment

  • delete-segment - Delete a segment

SDK Keys

  • get-sdk-keys - Get SDK keys for config/environment

Webhooks

  • list-webhooks - List webhooks

  • get-webhook - Get webhook details

  • replace-webhook - Replace webhook configuration

  • update-webhook - Update existing webhook

  • delete-webhook - Delete a webhook

  • get-webhook-signing-keys - List webhook signing keys

  • create-webhook - Create a new webhook

Integrations

  • list-integrations - List integrations

  • create-integration - Create a new integration

  • get-integration - Get integration details

  • update-integration - Update existing integration

  • delete-integration - Delete an integration

Code References

  • get-code-references - Get code references

Diagnostics

Audit logs

  • list-auditlogs - Get product audit logs

  • list-organization-auditlogs - Get organization audit logs

Zombie (stale) flags

  • list-staleflags - Get stale feature flags report

Feature Flag metadata

Feature Flags & Settings

  • list-settings - List feature flags for a config

  • create-setting - Create a new feature flag

  • list-predefined-variations - List predefined variations

  • update-predefined-variations - Update predefined variations

  • get-setting - Get specific feature flag details

  • replace-setting - Replace feature flag configuration

  • update-setting - Update existing feature flag

  • delete-setting - Delete a feature flag

Tags

  • list-tags - List tags for a product

  • create-tag - Create a new tag

  • list-settings-by-tag - Get feature flags by tag

  • get-tag - Get specific tag details

  • update-tag - Update existing tag

  • delete-tag - Delete a tag

Feature Flag & Setting Values (v1 & v2 APIs)

  • get-setting-value - Get feature flag value

  • update-setting-value - Update feature flag value

  • replace-setting-value - Replace feature flag value

  • get-setting-values - Get multiple setting values

  • post-setting-values - Update multiple setting values

  • V2 variants: *-v2 versions of above tools for Config V2

Change Requests

  • get-change-request - Returns the details of a specific Change Request

  • update-change-request - Updates the metadata of a Change Request, such as title, note, schedule, etc.

  • list-change-requests - List Change Requests

  • get-change-request-proposed-changes - Returns the proposed changes to the Settings included in a Change Request

  • update-change-request-proposed-change - Updates the proposed changes to the Settings included in a Change Request

  • add-change-request-comment - Adds a new comment to the Change Request

  • apply-change-request - Applies the Change Request

  • approve-change-request - Adds your approval to the Change Request

  • claim-change-request-ownership - Claims ownership of the Change Request

  • close-change-request - Closes the Change Request without applying it

  • create-change-request - Creates a new Change Request for the specified Config and Environment

  • remove-change-request-approval - Removes your existing approval from the Change Request

  • resolve-change-request-setting-conflicts - Updates the proposed changes to a Setting included in the Change Request to resolve conflicts caused by concurrently published changes

  • update-change-request-comment - Updates an existing Change Request comment

  • delete-change-request-comment - Deletes a Change Request comment

  • delete-change-request-proposed-change - Removes a setting from a Change Request

SDK documentation

  • update-sdk-documentation - Get comprehensive SDK documentation and code examples for seamless feature flag implementation in your project.

API Rate Limits

The ConfigCat public API has rate limits. The server will respect these limits and return appropriate error messages if limits are exceeded.

Security Note

This server is designed for management operations only. Do not use it for evaluating feature flag values in production applications - use the ConfigCat SDKs or ConfigCat Proxy instead.

Need help?

https://configcat.com/support

Contributing

Contributions are welcome. For more info please read the Contribution Guideline.

About ConfigCat

Available Tools

95 tools
add-change-request-commentB

Adds a new comment to the Change Request.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestBodyYes
changeRequestIdYesThe identifier of the Change Request.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden of explaining behavioral consequences. It conveys that a comment is created, but says nothing about permissions required, whether the comment is appended to a thread, response format, or side effects such as notifications or state changes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence states the verb and object without filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, this one-liner is under-specified. An agent is left without guidance on when to use it, what the response is, or any constraints beyond those in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, and the description adds no parameter-level meaning beyond what the schema already states. It does not mention that requestBody.body carries the comment text or explain how changeRequestId selects the target.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb 'Adds' and names the exact resource ('a new comment to the Change Request'), making the operation unambiguous. The word 'new' also distinguishes it from update-change-request-comment and delete-change-request-comment even without naming them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states only what the tool does and gives no guidance on when to choose it over the sibling comment tools (get/update/delete-change-request-comment) or related change-request actions. No prerequisites or contextual triggers are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

apply-change-requestB

Applies the Change Request. The proposed changes will be applied and published immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
changeRequestIdYesThe identifier of the Change Request.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does reveal an important side effect: the changes are 'applied and published immediately', indicating immediacy and mutation. However, it does not mention whether the operation is reversible, whether approvals are required, or whether conflicts may block the operation, which are relevant given sibling tools like resolve-change-request-setting-conflicts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no redundant wording. It front-loads the core action ('Applies the Change Request') and then adds the key consequence ('applied and published immediately'), making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimally complete for a one-parameter tool, stating what happens and when. However, given the surrounding change-request workflow and sibling tools, an agent would benefit from knowing whether approval is required, whether the action is reversible, and how conflicts are handled. The absence of this context leaves meaningful gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the sole parameter 'changeRequestId' already described as 'The identifier of the Change Request.' The tool description adds no additional meaning beyond that, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Applies') and identifies the resource ('Change Request'), clearly indicating the action taken. It does not explicitly distinguish itself from sibling tools like approve-change-request or close-change-request, but the phrase 'proposed changes will be applied and published immediately' clarifies the core function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives such as approve-change-request, close-change-request, or resolve-change-request-setting-conflicts. It implies the tool is used to apply a change request, but it does not state preconditions, exclusions, or how it fits into the change request workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

approve-change-requestC

Adds your approval to the Change Request.

ParametersJSON Schema
NameRequiredDescriptionDefault
changeRequestIdYesThe identifier of the Change Request.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the core action, adding an approval, but doesn't mention permission requirements, whether approvals can be duplicated or removed, any side effects on the change request's status, or what the response will be.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler, and the action verb is front-loaded. It is appropriately brief for a one-parameter tool, though its brevity means it contributes relatively little beyond the tool's name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation with no annotations and no output schema, the description is thin. It doesn't explain where approval fits in the change-request workflow, what happens after the last approval is added, or that the action can be reversed via remove-change-request-approval.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the single changeRequestId parameter is already documented as 'The identifier of the Change Request.' The description adds no parameter-specific detail, but none is needed beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Adds') and resource ('Change Request'), clarifying that the tool records the caller's approval. However, it doesn't explicitly differentiate itself from related siblings like apply-change-request or close-change-request.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives such as remove-change-request-approval, apply-change-request, or close-change-request. The intended context is only implied by the name and verb; there are no prerequisites, exclusions, or workflow hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

claim-change-request-ownershipC

Claims ownership of the Change Request.

ParametersJSON Schema
NameRequiredDescriptionDefault
changeRequestIdYesThe identifier of the Change Request.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of behavioral disclosure. It states the core action but reveals nothing about side effects, permissions required, idempotency, failure conditions, or whether ownership changes are reversible. This is a significant gap for a mutating operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no filler or redundant phrasing. It is front-loaded and communicates the primary purpose without wasting tokens.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should explain return behavior, ownership semantics, and any constraints. It does none of this. While the parameter side is simple and clear, the overall context is too sparse for an agent to confidently determine the effects of invoking this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the single parameter changeRequestId is adequately documented in the schema as 'The identifier of the Change Request.' The description adds no parameter-level meaning, but the schema already provides sufficient information, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Claims ownership of the Change Request.' This clearly identifies what the tool does and is distinct from sibling tools like update-change-request, apply-change-request, and approve-change-request. However, it does not elaborate on what 'claim ownership' entails, such as who becomes the owner or whether ownership is transferred or assigned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives, what conditions should be true before claiming ownership, or whether it should be used in a particular workflow. The usage is only implied by the tool's name and one-line description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

close-change-requestA

Closes the Change Request without applying it.

ParametersJSON Schema
NameRequiredDescriptionDefault
changeRequestIdYesThe identifier of the Change Request.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It explicitly states the key behavior: the change request is closed and not applied. It does not mention side effects like whether approvals or proposed changes are discarded or whether the action is reversible, but the core action is clearly disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It states the action and the critical non-action in two short phrases, earning every word.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter, side-effect-indicating tool, the description provides sufficient information for an agent to invoke it correctly, especially with the guidance that it does not apply the change. Some deeper context about post-close state could be added, but it is not essential for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: the only parameter, changeRequestId, is already described as 'The identifier of the Change Request.' The tool description adds no additional parameter-level meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Closes') with a clear resource ('the Change Request') and adds a distinctive qualifier ('without applying it') that differentiates it from apply-change-request. This makes the tool's purpose unambiguous even among many change-request-related siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without applying it' clearly signals the contrast with apply-change-request, implying this tool is for closing rather than applying a change. However, it does not explicitly state when to use this instead of update-change-request or other alternatives, leaving some inference to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-change-requestB

Creates a new Change Request for the specified Config and Environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
configIdYesThe identifier of the Config.
requestBodyYes
environmentIdYesThe identifier of the Environment.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of explaining side effects, but it only says a Change Request is created. It does not mention approval flow implications, audit logging, scheduling with applyAt, version-conflict behavior, or what the response contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with no filler. It names the action, the resource, and the target scope efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the rich input schema, the description omits the surrounding workflow: what a successful call returns, how this relates to approve-change-request and apply-change-request, and any prerequisites beyond having IDs. For a mutation tool with no annotations and no output schema, this is a significant gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter-level meaning, but the input schema provides detailed descriptions for configId, environmentId, requestBody, and the nested proposed-change structures. Since schema coverage is 67% and most nested fields are documented, the description does not need to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Creates'), a concrete resource ('Change Request'), and a clear scope ('for the specified Config and Environment'). This distinguishes it from sibling tools like get/update/apply/approve-change-request and from other create tools such as create-config or create-environment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states only what the tool does; it gives no explicit when-to-use guidance, no exclusions, and no pointer to alternatives such as update-change-request or apply-change-request. Usage context must be inferred entirely from the name and the creation verb.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-configB

This endpoint creates a new Config in a specified Product identified by the productId parameter, which can be obtained from the List Products endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.
requestBodyYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It only states it creates a Config, without mentioning any effects, permissions, rate limits, or side effects. This is insufficient for an agent to understand the implications of calling this tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no unnecessary words. It is front-loaded with the core action and includes a useful cross-reference. Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is too brief. It does not explain return values, error conditions, or prerequisites beyond productId. For a creation tool, this leaves significant gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds value by referencing the List Products endpoint to obtain productId, which goes beyond the schema's static description. However, it does not clarify the meaning of requestBody fields beyond what the schema already provides, resulting in only marginal added semantic depth.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a Config within a Product, specifying the required productId. It distinguishes itself from other create-* tools by naming the resource 'Config', but lacks detail on what a Config is relative to siblings like create-setting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., when to use create-config vs create-setting). The description only explains how to obtain productId, but does not provide context on prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-environmentB

This endpoint creates a new Environment in a specified Product identified by the productId parameter, which can be obtained from the List Products endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.
requestBodyYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only mentions creation but lacks details on side effects, permissions, error conditions, or the result. This is insufficient for a creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no extraneous information, efficiently conveying the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description should provide more context about the creation process, required fields, and possible outcomes. It is incomplete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, but the description adds value by explaining how to obtain productId. However, it does not elaborate on the requestBody structure or other parameters, missing the opportunity to fully compensate for gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates an Environment in a specified Product, using a specific verb and resource. It distinguishes from sibling tools like get-environment or list-environments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating the requirement of a productId from the List Products endpoint, but does not explicitly state when to use this tool over alternatives or provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-integrationA

This endpoint creates a new Integration in a specified Product identified by the productId parameter, which can be obtained from the List Products endpoint.

The Parameters dictionary differs for each IntegrationType:

  • Datadog

    • apikey: Required. Datadog API key.

    • site: Datadog site. Available values: Us, Eu, Us1Fed, Us3, Us5. Default: Us.

  • Slack
    Connecting the Slack integration through the Public Management API will not post messages with the ConfigCat Feature Flags Slack app but with an incoming webhook.

    • incoming_webhook.url: Required. The incoming webhook URL where the integration should post messages.

    • includeSensitiveData: Set to "true" to include sensitive (hashed) comparison values. By default, the integration will mask these values in the posted messages. We recommend hiding sensitive comparison values for shared or public Slack channels.

  • Amplitude

    • apiKey: Required. Amplitude API Key.

    • secretKey: Required. Amplitude Secret Key.

  • Mixpanel

    • serviceAccountUserName: Required. Mixpanel Service Account Username.

    • serviceAccountSecret: Required. Mixpanel Service Account Secret.

    • projectId: Required. Mixpanel Project ID.

    • server: Mixpanel Server. Available values: StandardServer, EUResidencyServer. Default: StandardServer.

  • Twilio Segment

    • writeKey: Required. Twilio Segment Write Key.

    • server: Twilio Segment Server. Available values: Us, Eu. Default: Us.

  • PubNub (work in progress)

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.
requestBodyYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the transparency burden. It discloses meaningful behavioral traits beyond the obvious create operation: Slack integrations use an incoming webhook rather than the ConfigCat Slack app, PubNub is flagged as a work in progress, and defaults like Datadog site and Mixpanel server are specified. It does not mention response format or authorization requirements, but the behavioral caveats provided are substantial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every section earns its place: the opener states purpose and source of productId, and the provider bullets supply necessary parameter semantics and caveats. It is front-loaded with the core purpose and structured clearly enough for an agent to parse per-integration requirements.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential context: what the tool does, how to get the product identifier, what parameters each integration type requires, defaults, and notable caveats. However, there is no output schema and the description does not state what a successful response contains or what error conditions may arise, leaving a minor but real completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only describes parameters as a generic object with string values, which would leave an agent unable to construct valid requests. The description fully compensates by enumerating every provider's required and optional keys, valid values, and defaults. This is far more valuable than the schema alone and directly enables correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'creates a new Integration in a specified Product identified by the productId parameter.' It clearly distinguishes this from sibling tools like get-integration, list-integrations, update-integration, and delete-integration by focusing on creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear practical context by explaining where to obtain productId (from List Products) and by detailing integration-type-specific parameter requirements. It does not explicitly contrast this with update-integration or get-integration, so it stops short of fully explicit when-to-use versus alternatives, but the creation context is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-permission-groupB

This endpoint creates a new Permission Group in a specified Product identified by the productId parameter, which can be obtained from the List Products endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.
requestBodyYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must carry the behavioral disclosure burden. It only says 'creates' and does not mention required permissions, idempotency, duplicate-name behavior, errors, or what the response contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler: the action is stated first and the parameter source is added as a helpful cross-reference. Every part contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex creation endpoint with a large nested request body and no output schema or annotations, the description is too thin. It omits response expectations, error scenarios, and any guidance about the required body fields, leaving the agent to discover key operational details from the raw schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds value by telling the agent that productId comes from the List Products endpoint, which the schema description does not provide. However, it says nothing about the requestBody, the required name field, or how the many permission flags interact, so it only partially compensates for the 50% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action and resource: creates a new Permission Group within a Product. The verb 'creates' clearly separates it from sibling tools like get/update/delete/list-permission-groups, and productId context anchors the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies when to use the tool (to create a permission group) and provides a useful prerequisite (obtain productId from List Products), but it never states explicit alternatives or when-not-to-use compared to update-permission-group or list-permission-groups.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-productB

This endpoint creates a new Product in a specified Organization identified by the organizationId parameter, which can be obtained from the List Organizations endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestBodyYes
organizationIdYesThe identifier of the Organization.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must fully disclose behavior. It notes that the tool creates a product, but does not mention idempotency, authorization requirements, side effects, or conflict handling. The behavioral disclosure is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the key information. No extraneous text exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description should provide more contextual details such as return format, possible errors, or limitations. It only covers the basic creation process, leaving gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides descriptions for all parameters, covering 100% of top-level properties. The description adds value by explaining how to obtain the organizationId, but does not clarify the usage of the nested requestBody parameters beyond what is in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('creates') and the resource ('a new Product'), and specifies it belongs to an Organization. This differentiates it from sibling tools like create-config or create-environment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a hint on how to obtain the organizationId (from list organizations), but does not give guidance on when to use this tool versus other creation tools or any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-segmentB

This endpoint creates a new Segment in a specified Product identified by the productId parameter, which can be obtained from the List Products endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.
requestBodyYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully describe behavior. It only states 'creates' (implying mutation) but lacks details on authorization requirements, rate limits, side effects, or what happens on success/failure. The behavioral scope is inadequately explained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is directly to the point. It is front-loaded with the essential action and includes a helpful cross-reference. No extraneous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has a nested input schema, no output schema, and no annotations, the description is too brief. It does not clarify the response format, success indicators, or potential errors. While it covers the basic purpose, it is not sufficiently complete for a creation endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds minimal value beyond the input schema. It only mentions productId usage, but the schema already describes it. The requestBody parameters (name, description, comparisonAttribute, etc.) are not discussed, leaving the agent to rely solely on their schema descriptions, which cover only 50% of parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates a new Segment in a specified Product, with a verb ('creates') and resource ('Segment', 'Product'). It also hints at how to obtain the productId from list-products, which adds clarity. However, it does not explicitly differentiate from other create tools like create-config or create-environment, but the context makes it clear enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions when to use the tool (to create a segment) and references the list-products endpoint to get the productId. However, it does not provide any guidance on when not to use it or alternative tools for similar operations, leaving some ambiguity for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-settingA

This endpoint creates a new Feature Flag or Setting in a specified Config identified by the configId parameter.

Important: The key attribute must be unique within the given Config.

ParametersJSON Schema
NameRequiredDescriptionDefault
configIdYesThe identifier of the Config.
requestBodyYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It does add the important constraint that 'key' must be unique within the Config. However, it does not disclose failure behavior on duplicate keys, required permissions, side effects, or what the response contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with the primary purpose front-loaded and the critical uniqueness constraint highlighted separately. No filler or redundant information is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description plus the detailed input schema provide enough to construct a valid create request. However, because there is no output schema and no annotation coverage, the agent is left to infer response behavior, error handling, and authorization requirements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds useful context for configId and highlights the uniqueness rule for 'key'. The input schema already documents most nested requestBody fields thoroughly, so parameter semantics are mostly covered by the schema, though the top-level requestBody itself is not summarized in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('creates a new Feature Flag or Setting') and the target resource ('in a specified Config identified by the configId parameter'). It clearly differentiates this from setting update/replace/delete operations, though it does not explicitly name sibling alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use case is implied: use this when creating a new Feature Flag or Setting in a specific Config. However, there is no explicit guidance about when to prefer update-setting, replace-setting, or other sibling tools, and no mention of when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-tagC

This endpoint creates a new Tag in a specified Product identified by the productId parameter, which can be obtained from the List Products endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Organization.
requestBodyYes

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits such as idempotency, permissions, rate limits, error handling, or side effects. It is completely opaque beyond the action itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, well-structured sentence that front-loads the purpose and includes a useful cross-reference. Every word earns its place with zero wasted space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is too sparse. It does not address potential duplicates, return values, or error conditions, leaving significant gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds sourcing context for productId (from list-products), which is beyond the schema description that labels it as 'Organization'. However, it does not add meaning for the requestBody parameters, which are already described in the schema. With 50% schema coverage, the description provides some but limited additional value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates a new Tag in a Product, using the productId parameter. It differentiates from siblings like create-config by specifying the Tag resource. However, it is not exceptionally detailed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Only mentions that productId can be obtained from list-products. No guidance on when to use this tool versus update-tag or delete-tag, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-webhookD

This endpoint creates a new Webhook in a specified Product identified by the productId parameter, which can be obtained from the List Products endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
configIdYesThe identifier of the Config.
requestBodyYes
environmentIdYesThe identifier of the Environment.

TDQS

D1.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations present. The description does not disclose behavioral traits such as whether the operation is idempotent, what happens on duplicate webhooks, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence but contains incorrect information. Conciseness is undermined by inaccuracy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complex nested input schema and lack of output schema, the description is incomplete and inaccurate. It fails to explain how configId and environmentId relate to the webhook creation, and omits crucial context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description introduces a nonexistent parameter (productId) and adds no value to the existing schema descriptions. Parameter meanings rely solely on the schema, and the description misleads.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it creates a Webhook in a Product using productId, but the input schema has no productId parameter; it requires configId and environmentId. This is misleading and inaccurate regarding the resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus other create tools (e.g., create-config, create-environment). The description does not provide any contextual usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-change-request-commentB

Deletes a Change Request comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentIdYesThe identifier of the Change Request comment.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the core deletion action and does not mention whether deletion is permanent, requires permissions, is idempotent, or what happens when the comment does not exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence with no filler or redundant wording; the action and object are stated immediately. It is as concise as possible while still conveying the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with no annotations and no output schema, a one-line description is incomplete. Missing details include response behavior, irreversibility, authorization expectations, and whether the action silently no-ops or errors on missing comments.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single commentId parameter is already described as 'The identifier of the Change Request comment.' The description adds no meaning beyond the schema, which is acceptable under the high-coverage baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Deletes') and resource ('Change Request comment'), making the action unambiguous. It also distinguishes itself from sibling tools such as add-change-request-comment and update-change-request-comment by naming the exact delete operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance about when to choose this tool over alternatives, no exclusions, and no context such as prerequisites or ownership requirements. The agent must infer usage solely from the tool name and the verb.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-change-request-proposed-changeB

Removes a setting from a Change Request.

ParametersJSON Schema
NameRequiredDescriptionDefault
settingIdYesThe identifier of the Setting.
changeRequestIdYesThe identifier of the Change Request.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries full behavioral burden. The single sentence discloses the core removal action but does not state whether the setting itself is deleted, whether the operation is reversible, or any preconditions like change request state. This leaves an agent uncertain about side effects and scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise, front-loaded sentence with no filler. Every word contributes to stating the action and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-integer removal operation, the description plus schema covers the basic call parameters, but the lack of annotations and absence of any statement about side effects or the distinction between removing a setting from a change request versus deleting the setting leaves contextual gaps. The mismatch between the tool name's 'proposed-change' and the description's 'setting' adds risk.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with both parameters documented as identifiers. The description adds no extra meaning beyond the schema, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the verb 'Removes' and names the resource 'a setting' with the container scope 'from a Change Request', distinguishing it from general setting deletion like delete-setting. However, it does not clarify the relationship between the tool name's 'proposed-change' and the described 'setting', which could cause slight ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternative exclusion is provided. The context 'Removes a setting from a Change Request' implies its use when removing a setting from a change request, but the description does not mention related tools like get-change-request-proposed-changes or delete-setting.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-configB

This endpoint removes a Config identified by the configId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
configIdYesThe identifier of the Config.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description does not disclose behavioral traits beyond stating it removes a Config. It lacks information about destructiveness, reversibility, permissions, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no extraneous information, making it highly concise for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and no output schema, the description is minimally complete. It states the action but lacks context on side effects or postconditions, which could be important for a delete operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description for the parameter is sufficient (100% coverage), and the tool description does not add extra meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('removes') and the resource ('Config'), and identifies the parameter used. However, it does not differentiate from other delete tools beyond the resource name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, nor are there any prerequisites or conditions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-environmentA

This endpoint removes an Environment identified by the environmentId parameter. If the cleanupAuditLogs flag is set to true, it also deletes the audit log records related to the environment (except for the Created a new environment and Deleted an environment records).

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentIdYesThe identifier of the Environment.
cleanupAuditLogsNoAn optional flag which indicates whether the audit log records related to the environment should be deleted or not.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses the primary destructive action and the optional audit log cleanup, including which records are excluded. However, it does not explicitly state that the operation is permanent, any authorization requirements, or impact on related resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core action, followed by the optional cleanup detail. Every sentence adds necessary information, no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description should cover what the response looks like, but it doesn't. It also lacks details on irreversibility, error conditions, or idempotency. For a simple delete operation, it is adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the behavior of cleanupAuditLogs flag beyond the schema, specifically that it deletes audit logs except 'Created a new environment' and 'Deleted an environment' records.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it removes an Environment using environmentId. It also mentions optional cleanup of audit logs, which adds specificity. It distinguishes itself from sibling tools like create-environment and update-environment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, no prerequisites, no warnings about irreversibility or dependencies. The description simply states what it does without usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-integrationB

This endpoint removes a Integration identified by the integrationId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
integrationIdYesThe identifier of the Integration.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are available, so the description must fully disclose behavioral traits. However, it only states 'removes' without clarifying whether the action is destructive, irreversible, or requires specific permissions. The description lacks essential behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of one sentence that directly states the function. There is no wasted information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the tool's simplicity, the description fails to provide contextual information such as whether the delete is idempotent, what return value to expect, or error behavior. For a deletion operation, this is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter already described in the schema. The description adds no additional meaning beyond restating that the integration is identified by the parameter. Baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool removes an Integration by its ID. It uses a specific verb ('removes') and resource ('Integration'), and distinguishes itself from sibling delete tools targeting other resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidelines are provided. The description does not mention when to use this tool versus alternatives, when not to use it (e.g., if the integration is in use), or any prerequisites such as required permissions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-invitationA

This endpoint removes an Invitation identified by the invitationId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
invitationIdYesThe identifier of the Invitation.

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must carry the full burden. It only states the action without disclosing consequences like irreversibility or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with purpose, no extraneous information. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one required parameter and no output schema, the description adequately conveys its function and required input. No additional context needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear parameter description. The tool description adds no additional meaning beyond the schema, meeting baseline expectations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action 'removes' and the resource 'Invitation', with the specific identifier needed. It distinguishes from sibling delete tools by targeting invitations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like other delete tools. The description does not provide context for appropriate usage or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-organization-memberB

This endpoint removes a Member identified by the userId from the given Organization identified by the organizationId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesThe identifier of the Member.
organizationIdYesThe identifier of the Organization.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavioral traits. It only says 'removes', but does not mention if the action is reversible, what happens to related data, or authorization requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no wasted words. Efficiently communicates the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, so the description should clarify expected return values (e.g., success indication). It lacks information on response behavior, common errors, or post-conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and parameter descriptions are clear. The description adds no extra meaning beyond what is already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'removes', the resource 'Member from Organization', and identifies the required parameters. It is distinct from sibling delete tools which target different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, nor any prerequisites or side effects described. The agent receives no context for decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-permission-groupB

This endpoint removes a Permission Group identified by the permissionGroupId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
permissionGroupIdYesThe identifier of the Permission Group.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden of behavioral disclosure. It only says 'removes' without indicating whether deletion is permanent, if there are prerequisites, side effects, or error conditions. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of one sentence that immediately conveys the action. While it sacrifices some detail, it is front-loaded and not verbose. A bit more context could be added without harming conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple deletion tool with one parameter and no output schema, the description provides the essential function. However, it lacks details about reversibility, error scenarios, or side effects that would make it fully complete. More could be said given the complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters and describes permissionGroupId as 'The identifier of the Permission Group.' The description adds minimal value by referencing the parameter, but does not provide additional meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool removes a Permission Group identified by the permissionGroupId parameter. It uses a specific verb ('removes') and resource ('Permission Group'), distinguishing it from sibling tools for creating or updating permission groups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, such as other deletion tools or when conditions apply (e.g., permissions, cascading effects). The description lacks any 'when to use' or 'when not to use' context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-productA

This endpoint removes a Product identified by the productId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description accurately indicates that the tool deletes a product, which is a destructive action. However, with no annotations, it fails to disclose additional behavioral traits such as idempotency, error handling, or cascading effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that is front-loaded with the core action. Every word is informative and there is no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and low complexity, the description is adequate but minimal. It could be improved by mentioning consequences like irreversibility or prerequisites (e.g., product must exist).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides full coverage (100%) for the single parameter productId. The description merely restates that the product is identified by productId, adding no new semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('removes') and the resource ('Product'), making it specific and easily distinguishable from sibling tools like delete-config or delete-environment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (to delete a product) but offers no exclusions, prerequisites, or alternatives. It does not clarify that the deletion is irreversible or requires certain permissions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-product-memberA

This endpoint removes a Member identified by the userId from the given Product identified by the productId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesThe identifier of the Member.
productIdYesThe identifier of the Product.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states 'removes' indicating mutation, but lacks details on effects, auth requirements, or edge cases. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with action and parameters, no extraneous words. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete operation, the description covers the action and key parameters. Missing details like idempotency or response format, but given no output schema and straightforward nature, it's fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and schema already describes each parameter. Description adds relational context between productId and userId but no additional semantic details, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool removes a member from a product, using specific identifiers. It distinguishes well from sibling delete tools by specifying the resource types (product and member).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for removing a member from a product, which is clear. However, it does not mention when not to use it or any prerequisites, missing explicit exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-segmentC

This endpoint removes a Segment identified by the segmentId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
segmentIdYesThe identifier of the Segment.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It only says 'removes' without disclosing side effects, irreversibility, authorization requirements, or impact on dependent entities. Critical behavioral context is missing for a destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but lacks detail. It could include more information in a few more words (e.g., error conditions) without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with no output schema, the description provides basic understanding. However, it omits contextual details like error states (e.g., segment not found) and how this operation relates to other segment operations, leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage for the one parameter. The description adds no extra meaning beyond restating the parameter name. Baseline 3 is appropriate as schema does the work, but no additional value is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'removes' and the resource 'a Segment' identified by segmentId. It distinguishes from sibling tools like create-segment or update-segment, but does not add nuance such as permanence or scope of deletion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use or not use this tool. No prerequisites or interactions with other tools are mentioned. Among many delete-* siblings, there is no differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-settingC

This endpoint removes a Feature Flag or Setting from a specified Config, identified by the configId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
settingIdYesThe identifier of the Setting.

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must inform about behavioral traits. It fails to mention whether the deletion is permanent, requires special permissions, or has cascading effects. Additionally, the mention of 'configId' contradicts the schema, misleading about required parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise. However, it includes an inaccurate reference to 'configId', making it less reliable. Front-loading is okay but could be more precise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is brief but incomplete due to the inaccuracy. It doesn't explain return value or side effects, leaving significant gaps for agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with a clear description for settingId. However, the description adds confusion by referencing a non-existent 'configId' parameter, which detracts from the schema's clarity. It does not enhance understanding of the existing parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (removes) and the resource (Feature Flag or Setting). However, it incorrectly mentions a 'configId' parameter that doesn't exist in the schema, which could confuse an AI agent. Despite this, the core purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like update-setting, replace-setting, or other delete-* tools. Sibling tools are numerous, and without usage context, an agent may select the wrong tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-tagA

This endpoint deletes a Tag identified by the tagId parameter. To remove a Tag from a Feature Flag or Setting use the Update Flag endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagIdYesThe identifier of the Tag.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It clearly indicates a destructive action (deletes) but does not mention if the deletion is irreversible or if there are side effects (e.g., cascading removals). Still, the core behavior is well communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two sentences: the first directly states the purpose, and the second provides essential usage guidance. No unnecessary words, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple deletion tool with one parameter and no output schema, the description is fairly complete. It explains the core action and clarifies the distinction from association removal. A minor gap is the lack of mention of irreversibility, but overall it is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with a description for 'tagId'. The description restates the parameter's purpose but does not add new meaning beyond the schema, qualifying for the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the action (deletes) and the resource (Tag) with clear reference to the identifier parameter. The verb 'deletes' is specific and distinguishes it from update tools like 'update-tag'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when not to use this tool: to remove a Tag from a Feature Flag or Setting, one should use the 'Update Flag' endpoint instead. This helps the agent choose the correct tool for the context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-webhookB

This endpoint removes a Webhook identified by the webhookId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhookIdYesThe identifier of the Webhook.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It only states the action ('removes') without disclosing side effects (e.g., irreversibility), authorization needs, or idempotency. This is insufficient for a delete operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no superfluous words. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete operation, the description is minimally adequate but lacks information about returned data (e.g., empty response) or error conditions. It does not fully prepare an AI agent for all aspects of using the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the parameter description in the schema already explains webhookId as 'The identifier of the Webhook.' The tool description adds no additional meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('removes a Webhook') and the resource identifier ('webhookId'). It distinguishes the tool from sibling tools by specifying it is for webhooks, not other resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., update-webhook, disable-webhook) or what prerequisites exist. The description only states the action without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-change-requestB

Returns the details of a specific Change Request.

ParametersJSON Schema
NameRequiredDescriptionDefault
changeRequestIdYesThe identifier of the Change Request.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It only states that the tool 'returns details,' which implies a read-only operation but does not explicitly disclose side-effect safety, authentication requirements, error behavior, or what exactly is included in 'details.' This is thinner than expected for a tool with no annotation safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence that front-loads the action and the resource. It contains no filler, repetition, or extraneous detail, which is appropriate for a tool with only one required parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is low complexity and the single parameter is fully documented, so it is callable as-is with a changeRequestId. However, there is no output schema and the description only says 'details,' leaving an agent uncertain whether the response includes the main object, comments, proposed changes, approvals, or status. This is adequate for invocation but not fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already fully documents the only parameter, changeRequestId, as 'The identifier of the Change Request.' The description adds no additional meaning beyond the schema. With 100% schema description coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Returns the details of a specific Change Request.' It clearly indicates a singular read-by-ID operation, and the required changeRequestId reinforces this. It does not explicitly distinguish itself from sibling tools like list-change-requests or get-change-request-proposed-changes, but the intent is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool should be used when a specific Change Request identifier is known, especially since the schema requires changeRequestId. However, it provides no explicit guidance on when to use this instead of list-change-requests or the related proposed-changes or comment endpoints. The usage context is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-change-request-proposed-changesA

Returns the proposed changes to the Settings included in a Change Request.

ParametersJSON Schema
NameRequiredDescriptionDefault
settingIdNoThe optional identifier of the Setting.
changeRequestIdYesThe identifier of the Change Request.

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only states that the tool 'Returns' data, which implies a read operation, but it does not disclose auth requirements, side effects, optional filtering behavior, or response details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, direct declarative sentence with no filler or redundancy. The key operation and resource are both front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple getter with no output schema and no annotations, the description gives the basic return semantics but omits details about response shape, pagination, or the optional settingId filter. It is adequate but leaves gaps an agent may need to resolve.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both changeRequestId and settingId already documented in the schema. The description adds no additional parameter meaning beyond framing the context of Change Request and Settings, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Returns') and resource ('proposed changes to the Settings included in a Change Request'). It clearly differentiates from siblings like get-change-request (returns the change request itself) and update/delete-change-request-proposed-changes (mutations).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is used when you want the proposed settings changes for a change request, but it gives no explicit when-to-use guidance or exclusions. An agent must infer the appropriate context mainly from the tool name and sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-code-referencesC

Get References for Feature Flag or Setting

ParametersJSON Schema
NameRequiredDescriptionDefault
settingIdYesThe identifier of the Feature Flag or Setting.

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose that this is a read-only operation. It does not mention any side effects, permissions, or limitations. The description is too sparse to inform the agent about behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very brief but not overly concise. It could be improved with more detail without becoming verbose. It is acceptable but minimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, and the description does not explain what 'references' means or what the response contains. The agent lacks information to understand the output, making the description incomplete for a simple lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes the parameter well ('The identifier of the Feature Flag or Setting'). The tool-level description adds no additional meaning beyond what the schema provides, so baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Get References for Feature Flag or Setting' which includes a verb and resource. However, 'references' is ambiguous and could mean code references, usage references, etc., but it is clear enough to indicate the action and target.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like get-setting or get-config. The description lacks context about when to choose this over sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-configB

This endpoint returns the metadata of a Config identified by the configId.

ParametersJSON Schema
NameRequiredDescriptionDefault
configIdYesThe identifier of the Config.

TDQS

B3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description does not disclose any behavioral traits beyond its read operation. There is no mention of authentication requirements, rate limits, or side effects, leaving the agent uninformed about important context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 14 words, which is concise. However, it uses the word 'endpoint' which is slightly jargon-heavy; a more straightforward phrasing would be optimal. Still, it is efficiently written.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description provides minimal information about what 'metadata' includes. It is adequate for a basic retrieval but lacks details about the return format or any additional context that could help an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with a clear description for the only parameter (configId). The tool description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'returns' and the resource 'metadata of a Config', specifying it is identified by configId. This distinguishes it from list-configs (which lists multiple) and update-config (which modifies).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidelines are provided. The description does not indicate when to use this tool over alternatives like list-configs or get-environment. It lacks explicit 'when to use' or 'when not to use' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-environmentB

This endpoint returns the metadata of an Environment identified by the environmentId.

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentIdYesThe identifier of the Environment.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only states that it returns metadata. It does not disclose behavioral traits such as idempotency, rate limits, or side effects. The read-only nature is implied but not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It is appropriately concise but lacks any structured breakdown.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 required parameter, no output schema), the description provides the minimum necessary information. However, it omits details about the return format or error conditions, which could be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100% for the single parameter 'environmentId', so the description adds no additional meaning beyond what the schema already provides. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'returns' and the resource 'metadata of an Environment', making the tool's purpose unambiguous. It is distinct from siblings as the only get-environment tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It does not mention when to avoid using it or provide context about prerequisites or preferred scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-integrationB

This endpoint returns the metadata of an Integration identified by the integrationId.

ParametersJSON Schema
NameRequiredDescriptionDefault
integrationIdYesThe identifier of the Integration.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It indicates a read operation ('returns metadata') but does not disclose side effects, permission requirements, error behavior, or other behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded and contains no unnecessary words. It efficiently conveys the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has one required parameter and no output schema. The description does not explain what keys or structure the returned metadata contains, and lacks details on what happens when the integrationId is invalid or missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the integrationId parameter fully described (type, format, description). The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'returns', the resource 'metadata of an Integration', and the identifier 'integrationId'. It distinguishes from sibling tools like list-integrations, create-integration, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is provided. The description implies usage with a specific integrationId, but does not mention alternatives like list-integrations for listing all integrations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-permission-groupA

This endpoint returns the metadata of a Permission Group identified by the permissionGroupId.

ParametersJSON Schema
NameRequiredDescriptionDefault
permissionGroupIdYesThe identifier of the Permission Group.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description has the full burden. It only states that it returns metadata, with no disclosure on authentication, rate limits, or error behavior. For a simple GET endpoint, this is minimally adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no unnecessary words. It effectively communicates the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (one parameter, no output schema), the description is fairly complete. However, it does not describe the structure of the returned metadata or potential error conditions, which could be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with the parameter 'permissionGroupId' described in both schema and description. The description adds no additional meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('returns') and the specific resource ('metadata of a Permission Group'), with the identifier. It distinguishes from sibling tools like list-permission-groups and update-permission-group.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as when to use list-permission-groups instead. It only implies retrieval by the verb 'gets'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-productB

This endpoint returns the metadata of a Product identified by the productId.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It only states that the tool returns metadata, but does not disclose read-only nature, auth requirements, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence of 15 words, front-loaded with the key action and resource. No unnecessary words, efficient and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter retrieval tool with no output schema, the description covers the basic purpose. However, it lacks mention of error handling, idempotency, or conditions, which would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description essentially restates the parameter description from the schema. It adds minimal additional meaning beyond what is already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns metadata of a product identified by productId. It uses a specific verb and resource, which distinguishes it from other tools like list-products, but does not explicitly differentiate from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as list-products or update-product. The description lacks context for appropriate use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-product-preferencesA

This endpoint returns the preferences of a Product identified by the productId.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description only says 'returns', implying a read operation, but no disclosure of side effects, auth, or other behavioral traits. Missing critical transparency in absence of annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, 13 words, front-loaded, no filler. Efficient for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with one parameter, description covers core purpose. Could mention response type but not necessary given context signals.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers parameter fully (100%) with description 'The identifier of the Product.' Description adds no extra meaning, just repeats parameter name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns preferences for a product identified by productId. Distinguishes from siblings like update-product-preferences.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies use when needing product preferences by productId, but no explicit when-not or alternatives like the update counterpart.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-sdk-keysB

This endpoint returns the SDK Key for your Config in a specified Environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
configIdYesThe identifier of the Config.
environmentIdYesThe identifier of the Environment.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It only states it returns a key without disclosing read-only nature, authentication requirements, or potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, direct and to the point with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple retrieval endpoint, but lacks detail on the return format or behavior (e.g., what if key not found). Output schema missing, so description should elaborate more.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with clear parameter descriptions. The description adds no further semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('returns') and the specific resource ('SDK Key') scoped to a Config and Environment, distinguishing it from sibling tools like 'get-webhook-signing-keys'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no conditions or prerequisites mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-segmentB

This endpoint returns the metadata of a Segment identified by the segmentId.

ParametersJSON Schema
NameRequiredDescriptionDefault
segmentIdYesThe identifier of the Segment.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It only states what the endpoint returns, but fails to disclose behavioral traits like read-only nature, permissions required, error handling (e.g., if segmentId not found), or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the core purpose efficiently. No unnecessary words; every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read operation with one parameter and no output schema, the description is adequate but lacks behavioral context. It does not mention return format, error scenarios, or permissions, which would be expected for a complete definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear parameter description. The description adds minimal extra meaning beyond the schema, simply mentioning 'identified by the `segmentId`'. Baseline is 3 due to high schema coverage; no significant enhancement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns metadata of a Segment by its ID, using specific verb 'returns' and resource 'metadata'. It effectively distinguishes from sibling tools like list-segments (which lists all) and create-segment/delete-segment/update-segment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like list-segments or update-segment. It lacks explicit context for usage, leaving the agent to infer solely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-settingB

This endpoint returns the metadata attributes of a Feature Flag or Setting identified by the settingId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
settingIdYesThe identifier of the Setting.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only says 'returns metadata attributes' without disclosing behavioral traits such as read-only nature, auth requirements, or rate limits. For a tool with no annotations, the description carries the full burden and falls short.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no waste. Front-loaded with action and resource. Could be slightly improved by structuring details separately, but overall concise and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with one parameter, the description is adequate but does not explain what 'metadata attributes' includes or the return format. Since there is no output schema, some additional context would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (only parameter described). The description does not add extra meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns metadata attributes of a Feature Flag or Setting by settingId. It distinguishes from sibling 'get-setting-value' which likely returns the value, not metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving metadata but does not explicitly state when to use this tool versus alternatives like 'get-setting-value' or provide any exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-setting-valueA

This endpoint returns the value of a Feature Flag or Setting in a specified Environment identified by the environmentId parameter.

The most important attributes in the response are the value, rolloutRules and percentageRules. The value represents what the clients will get when the evaluation requests of our SDKs are not matching to any of the defined Targeting or Percentage Rules, or when there are no additional rules to evaluate.

The rolloutRules and percentageRules attributes are representing the current Targeting and Percentage Rules configuration of the actual Feature Flag or Setting in an ordered collection, which means the order of the returned rules is matching to the evaluation order. You can read more about these rules here.

ParametersJSON Schema
NameRequiredDescriptionDefault
settingIdYesThe id of the Setting.
environmentIdYesThe identifier of the Environment.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description adds value by clarifying that rolloutRules and percentageRules are returned in evaluation order and explaining what the value attribute represents (fallback value). However, it does not explicitly state that the operation is read-only or mention any authorization or rate-limiting details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively concise with four sentences. It front-loads the purpose and then details the response attributes. Minor redundancy in discussing rolloutRules and percentageRules, but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 parameters, no output schema), the description explains the response structure and key attributes adequately. It includes a link for further reading. However, it does not cover error conditions or prerequisites (e.g., what if environmentId is invalid).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides descriptions for both parameters (environmentId and settingId) with 100% coverage. The description only minimally adds by mentioning environmentId in the first sentence, but does not elaborate on settingId or add meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the endpoint returns the value of a feature flag or setting in a specified environment, identified by environmentId. It explains the key response attributes (value, rolloutRules, percentageRules) and their significance, distinguishing it from siblings like get-setting (which likely returns the setting definition) and get-setting-values (which might return values across environments).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as get-setting-values or get-setting-value-v2. There is no explicit mention of when to use or not use this tool, nor any comparison with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-setting-valuesB

This endpoint returns the value of a specified Config's Feature Flags or Settings identified by the configId parameter in a specified Environment identified by the environmentId parameter.

The most important attributes in the response are the value, rolloutRules and percentageRules. The value represents what the clients will get when the evaluation requests of our SDKs are not matching to any of the defined Targeting or Percentage Rules, or when there are no additional rules to evaluate.

The rolloutRules and percentageRules attributes are representing the current Targeting and Percentage Rules configuration of the actual Feature Flag or Setting in an ordered collection, which means the order of the returned rules is matching to the evaluation order. You can read more about these rules here.

ParametersJSON Schema
NameRequiredDescriptionDefault
configIdYesThe identifier of the Config.
environmentIdYesThe identifier of the Environment.

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes the key response attributes (value as default, ordered rolloutRules and percentageRules) and explains their meaning. This provides useful behavioral context beyond a simple read operation. However, it does not cover error conditions or side effects, which prevents a higher score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured into clear paragraphs but is somewhat verbose, especially with the explanation of rolloutRules and percentageRules and an external link. It could be more concise while retaining key information. The essential purpose is front-loaded, which is good.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately explains the important response attributes. However, it omits error handling, validations, and potential edge cases (e.g., invalid IDs). It also does not mention the hierarchical relationship between configs, environments, and settings. The external reference partly compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes both parameters (configId and environmentId) with 100% coverage. The description adds value by placing them in the context of configs, environments, and the tool's purpose, explaining how they identify the specific setting value. This goes beyond the schema's basic identifiers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns the value of a config's feature flags or settings for a given environment. It specifies the parameters and the response contains value, rolloutRules, and percentageRules. However, it does not explicitly distinguish itself from sibling tools like get-setting-value or get-setting-values-v2, which could cause ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lacks any guidance on when to use this tool versus its siblings. It does not mention when not to use it, such as if only a single value is needed or if the user wants a different version of the API. With multiple similar tools, this omission reduces usability.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-setting-values-v2B

This endpoint returns all Feature Flag and Setting values of a Config identified by the configId parameter in a specified Environment identified by the environmentId parameter.

The most important fields in the response are the defaultValue, targetingRules. The defaultValue represents what the clients will get when the evaluation requests of our SDKs are not matching to any of the defined Targeting Rules, or when there are no additional rules to evaluate.

The targetingRules represents the current Targeting Rule configuration of the actual Feature Flag or Setting in an ordered collection, which means the order of the returned rules is matching to the evaluation order. You can read more about these rules here.

The percentageEvaluationAttribute represents the custom User Object attribute that must be used for percentage evaluation of the Feature Flag or Setting.

ParametersJSON Schema
NameRequiredDescriptionDefault
configIdYesThe identifier of the Config.
environmentIdYesThe identifier of the Environment.

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explains key behavioral aspects: that targetingRules are ordered, the meaning of defaultValue and percentageEvaluationAttribute, and provides a link to further documentation. For a read-only tool with no annotations, this is good disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is slightly verbose but well-structured, with the first sentence providing the overall purpose and subsequent paragraphs detailing key response fields. Each paragraph adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description compensates by explaining the important response fields. However, it lacks information on error conditions, pagination, or performance characteristics, and does not clarify how the v2 version differs from v1 or other sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters (configId and environmentId) are fully described in the input schema with type and format. The description adds no additional meaning beyond what the schema provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns Feature Flag and Setting values for a given Config and Environment. However, it does not distinguish itself from sibling tools like get-setting-value or get-setting-values, leaving ambiguity about when to use the v2 variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives, no prerequisites, nor any use-cases or exclusions. The agent is left to infer usage from context alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-setting-value-v2B

This endpoint returns the value of a Feature Flag or Setting in a specified Environment identified by the environmentId parameter.

The most important fields in the response are the defaultValue, targetingRules, and percentageEvaluationAttribute. The defaultValue represents what the clients will get when the evaluation requests of our SDKs are not matching to any of the defined Targeting Rules, or when there are no additional rules to evaluate.

The targetingRules represents the current Targeting Rule configuration of the actual Feature Flag or Setting in an ordered collection, which means the order of the returned rules is matching to the evaluation order. You can read more about these rules here.

The percentageEvaluationAttribute represents the custom User Object attribute that must be used for percentage evaluation of the Feature Flag or Setting.

ParametersJSON Schema
NameRequiredDescriptionDefault
settingIdYesThe id of the Setting.
environmentIdYesThe identifier of the Environment.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full burden for behavioral disclosure. It indicates a read operation (returns value) and explains key response fields, but does not mention potential side effects, permissions, or rate limits. Adequate but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose but becomes verbose with lengthy explanations of response fields and an external link. It could be more concise while retaining essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description thoroughly covers response fields (defaultValue, targetingRules, percentageEvaluationAttribute) and provides extra context like ordering and external documentation. For a simple getter with 2 parameters, this is quite complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema for parameters; it only mentions environmentId in context. The detailed response field explanation is not parameter-related.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the value of a Feature Flag or Setting, with specific details about response fields. It distinguishes from siblings like 'get-setting-values' by focusing on a single setting, though it does not explicitly differentiate from the v1 'get-setting-value'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives like 'get-setting-value' or 'get-setting-values'. Usage is implied from the tool name and description, but no direct guidance or exclusion is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-tagB

This endpoint returns the metadata of a Tag identified by the tagId.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagIdYesThe identifier of the Tag.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of disclosing behavioral traits. It only indicates a read operation ('returns'), but omits important details like authentication requirements, rate limits, whether the operation is idempotent, or what 'metadata' entails. This is insufficient for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence and very concise. However, it is too minimal and could benefit from additional context without becoming verbose. It is not 'wasteful,' but it is also not optimally informative for the agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one required parameter, no output schema), the description is minimally adequate. It tells the agent the basic purpose but does not explain the return format or any side effects. While not incomplete, it leaves room for uncertainty about the tool's full behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the parameter 'tagId' is already described as 'The identifier of the Tag.' The description does not add any new semantic information about the parameter beyond what the schema provides. Per guidelines, baseline 3 is appropriate when schema coverage is high and description adds no extra context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states that the tool 'returns the metadata of a Tag identified by the tagId.' The verb 'returns' combined with the resource 'metadata of a Tag' makes the purpose unambiguous. It is distinct from sibling tools like create-tag, delete-tag, and list-tags, which have different actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives such as list-tags or update-tag. It only states what the tool does, without any contextual advice, prerequisites, or exclusions. This forces the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-webhookB

This endpoint returns the metadata of a Webhook identified by the webhookId.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhookIdYesThe identifier of the Webhook.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Describes a read operation but does not explicitly state non-destructive behavior, authentication requirements, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Essential information front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple read operation with one parameter and no output schema, but lacks usage guidance and behavioral details that would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with a clear description for webhookId. Description does not add additional meaning beyond what schema provides, so baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'returns the metadata of a Webhook identified by the webhookId', specifying verb (returns) and resource (metadata of webhook). It distinguishes from siblings like list-webhooks which list all webhooks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like list-webhooks. Does not mention prerequisites or what happens if webhookId is invalid.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-webhook-signing-keysA

This endpoint returns the signing keys of a Webhook identified by the webhookId.

Signing keys are used for ensuring the Webhook requests you receive are actually sent by ConfigCat.

Here you can read more about Webhook request verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhookIdYesThe identifier of the Webhook.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It implies a read-only operation by stating 'returns', but does not explicitly disclose behavioral traits such as authentication requirements, rate limits, or error conditions. The description provides sufficient context for a basic understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with two sentences and a link. It is front-loaded with the core function. The link, while informative, could be considered extra; however, it does not hinder conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should explain the return value. It states 'returns the signing keys' but does not specify the structure (e.g., array of key objects). For a simple retrieval tool, this is minimally adequate but leaves some ambiguity about the response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers the single parameter 'webhookId' with 100% description coverage. The tool's description merely reiterates that it is identified by webhookId, adding no extra semantic meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'returns the signing keys of a Webhook identified by the webhookId'. This specifies the verb (returns), resource (signing keys), and identifier (webhookId), distinguishing it from other get tools like get-webhook which returns the webhook itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the purpose of signing keys (verifying webhook requests) and provides a link for more details, but does not explicitly state when to use this tool versus alternatives or any prerequisites. Usage context is implied but not direct.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

invite-memberC

This endpoint invites a Member into the given Product identified by the productId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.
requestBodyYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states the basic action ('invites') without revealing side effects (e.g., email notification, authorization requirements, whether invited users must exist). This is insufficient for safe usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the key action and parameter. It avoids unnecessary words, but it could include more context without becoming overly long.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given moderate complexity (nested requestBody object) and no output schema or annotations, the description is incomplete. It does not explain return values, error scenarios, or expected behavior, making it hard for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%, and the description only repeats the productId parameter name. It does not add meaning beyond the schema, such as expected email format, maximum array size, or how permissionGroupId relates to the product. The description adds little value for understanding parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (invites), the resource (a Member), and the target (Product identified by productId). It distinguishes the tool from sibling tools like list-pending-invitations or delete-invitation by being specific to inviting a member into a product.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as when a user already exists or needs different permissions. There is no mention of prerequisites, restrictions, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-auditlogsB

This endpoint returns the list of Audit log items for a given Product and the result can be optionally filtered by Config and/or Environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
configIdNoThe identifier of the Config.
pageSizeNoPage size (min: 1, max: 100).
productIdYesThe identifier of the Product.
pageNumberNoPage number (min: 1).
auditLogTypeNoFilter Audit logs by Audit log type.
environmentIdNoThe identifier of the Environment.
toUtcDateTimeNoFilter Audit logs by ending UTC date.
fromUtcDateTimeNoFilter Audit logs by starting UTC date.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It communicates that this is a read operation ('returns') scoped to a product, but it omits that results are paginated (despite pageSize/pageNumber parameters), how results are ordered, and that additional filters exist (auditLogType, fromUtcDateTime, toUtcDateTime). The phrase 'optionally filtered by Config and/or Environment' actually under-describes the filtering capability, which could mislead an agent into thinking those are the only filters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single 23-word sentence that states the core purpose and primary scoping/filtering in one pass. There is no filler, redundant phrasing, or repetition of schema content — every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter list tool with no output schema and no annotations, the description is minimally viable: it identifies the required product scope and two filters, while the schema documents the remaining parameters. However, it lacks behavioral context not covered by the schema — pagination behavior, result ordering, and the existence of auditLogType/date-range filters — leaving an agent to discover those capabilities only after opening the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter already carries a description and the baseline is 3. The description adds modest framing by tying productId to the product scope and configId/environmentId to the named filters, but it adds no meaning beyond the schema and even omits mention of the type and date-range parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('returns the list of Audit log items') with a clear scope ('for a given Product'), and clarifies the two primary optional filters (Config and/or Environment). It is clear, but it never explicitly contrasts itself with the closely related sibling list-organization-auditlogs, so an agent must infer the product-level vs organization-level distinction from the sibling name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as list-organization-auditlogs, or when the optional filters (Config/Environment) are appropriate. The usage context is implied by the product scoping, but there are no exclusions, prerequisites, or alternative routing instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-change-requestsA

Returns Change Requests of a Product with optional filtering and pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
configIdNoFilter Change Requests by Config identifier.
pageSizeNoPage size (min: 1, max: 100).
productIdYesThe identifier of the Product.
settingIdNoFilter Change Requests by Setting identifier.
pageNumberNoPage number (min: 1).
environmentIdNoFilter Change Requests by Environment identifier.
scheduleFilterNoFilter Change Requests by schedule state.
needsAttentionFilterNoFilter Change Requests by whether they need attention.
approveRequiredFilterNoFilter Change Requests by approval requirement.
changeRequestStatusFilterNoFilter Change Requests by status values.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

'Returns' implies a read-only operation and the description mentions filtering and pagination, which is useful. However, no annotations are provided, so the description carries the full burden; it does not disclose response structure, ordering, authentication needs, or side-effect freedom beyond the word 'Returns'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the core action and scope, then notes optional filtering and pagination. It contains no filler or redundant detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with a fully documented schema, the description plus input schema is sufficient for an agent to select the tool and invoke it with the required productId and desired filters. The lack of an output schema and absence of any return-format explanation is a minor gap, but not critical for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already documented in the input schema. The description only restates that filtering and pagination are optional, adding no additional parameter-level meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies a verb ('Returns'), a resource ('Change Requests'), and a scope ('of a Product'). This distinguishes it from singular get-change-request and from mutation/update/delete siblings in the tool list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives such as get-change-request for a single Change Request, or when filtering is preferred over plain listing. The description implies usage context only through the resource name and scope.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-configsA

This endpoint returns the list of the Configs that belongs to the given Product identified by the productId parameter, which can be obtained from the List Products endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states that the tool returns a list, but omits details about read-only nature, pagination, sorting, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no extraneous information. It front-loads the purpose and efficiently conveys the required parameter source.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description should explain the structure of the returned list. It only states 'returns the list of the Configs' without describing fields, pagination, or any response details, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes the productId parameter with 100% coverage. The description adds value by referencing the list-products endpoint for obtaining the ID, but does not significantly enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns a list of configs belonging to a specific product identified by productId, and differentiates from siblings like list-products by specifying the resource (configs) and the parent (product).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description instructs the user to obtain productId from the list-products endpoint, providing clear context for when to use this tool. However, it does not explicitly exclude scenarios or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-environmentsA

This endpoint returns the list of the Environments that belongs to the given Product identified by the productId parameter, which can be obtained from the List Products endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description does not disclose expected behavior such as pagination, ordering, authentication requirements, or whether deleted environments are included. For a list operation, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no unnecessary words. Every part earns its place, including the cross-reference. It is as concise as possible while remaining informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, and the description does not describe the structure of the returned list (fields, pagination, sorting). For a list endpoint, this lack of output information makes the tool description incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds value by explaining that productId is the product identifier and referencing how to obtain it from the 'list-products' endpoint, going beyond the schema's basic type/format info. Schema coverage is 100%, so baseline is 3; the extra context raises it to 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a list of Environments filtered by productId, distinguishing it from sibling tools like 'get-environment' (single) and 'list-products' (different resource).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly tells how to obtain the productId from the 'list-products' endpoint, which is helpful. However, it does not specify when to use this over alternatives like 'get-environment' or mention any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-integrationsA

This endpoint returns the list of the Integrations that belongs to the given Product identified by the productId parameter, which can be obtained from the List Products endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose all behavioral traits. It only states that the tool returns a list, but omits critical details such as whether pagination is used, if results are ordered, or any side effects. The description does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that immediately states the purpose and parameter usage. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (one parameter, no output schema), the description is adequate but incomplete. It lacks details on return format, potential filters, or pagination behavior. The reference to List Products helps, but more explicit behavioral context would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers the single parameter with a basic description. The tool description adds value by explaining how to obtain the productId value (from the List Products endpoint), which is not present in the schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists integrations for a given product, using a specific verb ('returns the list') and resource ('Integrations that belongs to the given Product'). It distinguishes itself from siblings like get-integration and create-integration by specifying the product context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by linking the productId to the List Products endpoint, guiding the user on prerequisite steps. However, it does not explicitly state when NOT to use this tool (e.g., when a single integration is needed) or compare to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-organization-auditlogsB

This endpoint returns the list of Audit log items for a given Organization and the result can be optionally filtered by Product and/or Config and/or Environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
configIdNoThe identifier of the Config.
pageSizeNoPage size (min: 1, max: 100).
productIdNoThe identifier of the Product.
pageNumberNoPage number (min: 1).
auditLogTypeNoFilter Audit logs by Audit log type.
environmentIdNoThe identifier of the Environment.
toUtcDateTimeNoFilter Audit logs by ending UTC date.
organizationIdYesThe identifier of the Organization.
fromUtcDateTimeNoFilter Audit logs by starting UTC date.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that the endpoint returns audit log items and can be filtered; it does not disclose pagination behavior, date-range handling, authentication requirements, rate limits, or any response structure. This is a read operation, but the description adds little beyond the basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no redundancy. It states the primary purpose first and then adds the filter capability without wasting words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description is minimal but mostly adequate for a list endpoint with rich schema coverage. It does not mention pagination, sorting, or the auditLogType and date-time filters, though those are documented in the schema. The description could be more complete about return shape and pagination behavior, but the schema covers parameter semantics well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value by semantically linking productId, configId, and environmentId as optional filters that can be combined ('and/or'), which is not fully explicit in the individual parameter descriptions. This helps an agent understand how to use those parameters together.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('returns') and resource ('Audit log items for a given Organization'), and it specifies optional filters by Product, Config, and Environment. However, it does not explicitly distinguish itself from the sibling tool 'list-auditlogs', so the differentiation is only implicit through the organization scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives like 'list-auditlogs'. It describes what the endpoint returns but does not state when an agent should choose this tool over other list/audit-related tools, nor does it mention any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-organization-membersA

This endpoint returns the list of Members that belongs to the given Organization, identified by the organizationId parameter.

The results may vary based on the access level of the user who calls the endpoint:

  • When it's called with Organization Admin privileges, the result will contain each member in the Organization.

  • When it's called without Organization Admin privileges, the result will contain each Organization Admin along with members of those products where the caller has Team members and permission groups (canManageMembers) permission.

ParametersJSON Schema
NameRequiredDescriptionDefault
organizationIdYesThe identifier of the Organization.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that the result set depends on the caller's permissions, which is important behavioral context. It does not mention other traits like whether it's read-only or if there are any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff. The first sentence states the core purpose, the second adds important behavioral nuance. Perfectly concise for the information provided.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, so the description should explain the return structure. It describes permission-based differences but does not specify fields of the member objects, pagination, ordering, or error conditions. This leaves significant gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes organizationId as 'The identifier of the Organization.' The description adds meaning by explaining how the parameter is used to identify the organization and how results vary based on permissions, going beyond the schema's basic description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns the list of members for a given organization identified by organizationId. It does not explicitly distinguish from sibling tools like list-product-members, but the context (organization vs product) makes it reasonably clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains that results vary based on the caller's access level (admin vs non-admin), which provides context for when to use. However, it does not explicitly state when not to use this tool versus alternatives like list-product-members or list-organizations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-organizationsA

This endpoint returns the list of the Organizations that belongs to the user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description alone must disclose behavioral traits. It only states that the tool returns a list of organizations, without mentioning authentication, pagination, rate limits, or the possibility of an empty list. The name already implies reading, so the description adds minimal behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no unnecessary words. It efficiently communicates the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description should explain the return structure. It does not specify what fields or properties each organization object contains. This omission leaves the agent without essential context for using the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, and schema description coverage is 100% (none needed). With 0 parameters, the baseline is 4. The description does not add parameter semantics, but it is not required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of organizations belonging to the user. It uses a specific verb ('returns') and resource ('Organizations'), and the scope ('belongs to the user') distinguishes it from sibling list tools like list-environments or list-products.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. Usage is implied by the resource name, but no explicit when-to-use, when-not-to-use, or mentions of prerequisites or alternatives are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-pending-invitationsA

This endpoint returns the list of pending invitations within the given Product identified by the productId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It only states the tool 'returns' a list, without mentioning whether it is read-only, if authentication is required, or if there are any side effects or constraints like pagination.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that front-loads the purpose. No unnecessary words or repetition. Efficiently conveys the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one required parameter, no output schema, no annotations), the description covers the basic purpose. However, it lacks information about return format, behavior (e.g., ordering, filtering), and potential edge cases, making it minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for productId, which already has a description. The description reinforces the parameter's role but adds little new meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool returns the list of pending invitations, scoped to a specific product identified by productId. This distinguishes it from sibling tool list-pending-invitations-org which operates at the organization level.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage within a product context but does not explicitly state when to use this tool versus alternatives like list-pending-invitations-org. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-pending-invitations-orgA

This endpoint returns the list of pending invitations within the given Organization identified by the organizationId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
organizationIdYesThe identifier of the Organization.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only states that the tool returns a list, implying a read operation. It does not disclose auth requirements, rate limits, or behavior with invalid organizationId, but for a simple read operation this is minimally acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no unnecessary words, clear and to the point. Front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter and no output schema, the description is mostly complete. It lacks mention of pagination or error handling, but the core functionality is well-covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage with a clear description for organizationId. The tool description does not add any additional parameter semantics beyond the schema, so score is at baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'returns', the resource 'list of pending invitations', and the scope 'within the given Organization identified by the organizationId'. It distinguishes from sibling 'list-pending-invitations' by specifying the organization scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving pending invitations for a specific organization, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., list-pending-invitations) or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-permission-groupsA

This endpoint returns the list of the Permission Groups that belongs to the given Product identified by the productId parameter, which can be obtained from the List Products endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.

TDQS

A4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states it returns a list, but doesn't mention idempotency, authentication, pagination, or potential errors. The depth is insufficient for a read/list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that conveys the purpose and parameter source efficiently with no redundant or unclear wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with no output schema, the description adequately covers the basic functionality and parameter provenance. It could be improved by clarifying the output structure or pagination, but it is mostly complete given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds context by noting that productId can be obtained from the list-products endpoint, which goes beyond the schema's description that only says 'The identifier of the Product.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists permission groups for a given product, specifying the resource (Permission Groups) and the scope (belongs to a product). It distinguishes from sibling tools like get-permission-group (single) and other list tools by specifying the context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool (to get all permission groups for a product) and how to obtain the required productId. It does not explicitly state when not to use it, but the differentiation from get-permission-group is implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-predefined-variationsB

This endpoint returns the predefined variations along with their usages in the Environments for a Feature Flag or Setting identified by the settingId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
settingIdYesThe identifier of the Setting.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description only states it returns data, but doesn't disclose any behavioral traits like pagination, permissions, or side effects. This is insufficient for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that includes the key information: action, result, and parameter. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter, the description adequately conveys what is returned. However, it could mention response structure or pagination, but the context is fairly complete given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter described in both schema and description. The description adds context by linking the parameter to the resource, but doesn't add new meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'returns', the resource 'predefined variations', and the scope 'for a Feature Flag or Setting identified by the settingId'. It distinguishes from other list tools by specifying the resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like list-settings or other listing tools. It lacks any usage context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-product-membersB

This endpoint returns the list of Members that belongs to the given Product, identified by the productId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose behavioral traits. It only says 'returns the list of Members' without mentioning read-only nature, permissions, or pagination. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no waste. Efficiently conveys the core function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists; description does not describe the return structure (e.g., member fields). Missing details on pagination or limits. Adequate but incomplete given complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the parameter is well-documented in the schema. The description adds no extra meaning beyond referencing productId. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of members for a given product, using specific verb and resource. It distinguishes from siblings like list-products by focusing on members.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., list-organization-members) or when not to use it. The description only states what it does.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-productsA

This endpoint returns the list of the Products that belongs to the user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only states a basic operation. It does not disclose whether the tool is read-only, requires authentication, or has other behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence that efficiently conveys the purpose with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has zero parameters and a simple purpose, the description fully covers what the agent needs to know to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters in schema, so description adds value by specifying the scope ('belongs to the user'), providing meaning beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool returns a list of Products belonging to the user, using specific verb and resource. Distinguishes from sibling list-* tools by specifying the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., other list-* tools). The description only states what it does without providing context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-segmentsA

This endpoint returns the list of the Segments that belongs to the given Product identified by the productId parameter, which can be obtained from the List Products endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It indicates the operation is read-only ('returns the list') but does not disclose potential pagination, sorting, or if the list could be empty. For a simple list endpoint, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that concisely states the tool's purpose and parameter source. It is front-loaded with the main action and resource, and every word contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool lacks an output schema, and the description does not specify the structure of the returned list (e.g., array of segment objects with IDs and names). Given the complexity (single parameter, simple list), a bit more detail on the response format would complete the picture.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% parameter description coverage. The description adds value by explaining that productId can be obtained from the List Products endpoint, providing context beyond the schema's generic description ('The identifier of the Product').

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of Segments for a given product, with a specific verb ('returns') and resource ('Segments'). It distinguishes from sibling tools like create-segment, delete-segment, update-segment, and get-segment by implying read-only listing behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a prerequisite: the productId can be obtained from the List Products endpoint. This gives clear guidance on how to acquire a required parameter. However, it does not explicitly state when to use this tool versus alternatives or provide exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-settingsA

This endpoint returns the list of the Feature Flags and Settings defined in a specified Config, identified by the configId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
configIdYesThe identifier of the Config.

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as pagination, ordering, error handling, or whether the list includes all fields. It minimally describes the action without additional context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence of about 20 words, efficiently conveying the tool's purpose without extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the tool's low complexity, the description omits details about the output structure and potential error conditions. This is adequate but not thorough, especially given the absence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% coverage for the single parameter, including a clear description. The description adds no new semantic details beyond restating the parameter's role.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('returns the list') and the resource ('Feature Flags and Settings defined in a specified Config'), effectively distinguishing it from sibling tools like list-settings-by-tag and list-staleflags.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (when needing all settings for a specific config), but lacks explicit guidance on when not to use or mention of alternatives like list-settings-by-tag.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-settings-by-tagB

This endpoint returns the list of the Settings that has the specified Tag, identified by the tagId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagIdYesThe identifier of the Tag.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description should disclose behavioral traits like pagination, ordering, error handling, or permissions. It only states it returns a list, with no further behavioral context. This is insufficient for safe agent invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no redundancy. However, it could be slightly improved by front-loading the action more directly (e.g., 'List settings by tag' instead of 'This endpoint returns the list...').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks details about the output (format, structure of settings) and does not clarify how this tool differs from similar list operations. Given many sibling list tools, more completeness is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter, and the description merely restates that the tagId identifies the tag. No additional semantic meaning is added beyond what the schema already provides. Baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of Settings filtered by a specified tag, using the verb 'returns the list' and specifying the resource 'Settings' and the filtering condition. It is distinct from sibling tools like list-settings which likely returns all settings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as list-settings or other list tools. There is no mention of prerequisites, exclusions, or examples.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-staleflagsB

This endpoint returns the list of Zombie (stale) flags for a given Product and the result can be optionally filtered by various parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoThe scope of the report.
productIdYesThe identifier of the Product.
ignoredTagIdsNoIgnore feature flags from the report based on their tag identifiers.
staleFlagAgeDaysNoThe inactivity in days after a feature flag should be considered stale.
ignoredEnvironmentIdsNoIgnore environment identifiers from the report.
staleFlagStaleInEnvironmentsTypeNoConsider a feature flag as stale if the feature flag is stale in all/any of the environments.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description should disclose behavioral traits. It only states it returns a list and can be filtered, but omits details on permissions, rate limits, or potential side effects. For a simple read operation, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 19 words, efficiently stating the tool's purpose and hinting at optional filters. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters and no output schema, the description is too sparse. It does not explain return values, pagination, or ordering. More context is needed for complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond 'optionally filtered by various parameters,' but the schema itself adequately documents each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a list of stale flags for a given product, with optional filtering. The term 'Zombie (stale)' clarifies the resource. It is specific and distinguishable from sibling list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when-not-to-use, or compare with other list tools from the same server.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-tagsA

This endpoint returns the list of the Tags in a specified Product, identified by the productId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries full burden but only states it returns a list of tags. It does not disclose ordering, pagination, or error handling, leaving behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the essential information without any extraneous text. It is concise and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter and full schema coverage, the description is mostly complete. It could mention return format or pagination but is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter, so the description adds no additional meaning beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the list of tags in a specified product using the productId parameter, distinguishing it from sibling tools like create-tag or get-tag.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives, like get-tag for a single tag. It is adequate for a simple read operation but lacks context for when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-webhooksA

This endpoint returns the list of the Webhooks that belongs to the given Product identified by the productId parameter, which can be obtained from the List Products endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite no annotations, the description implies a read-only list operation. However, it lacks details on pagination, ordering, or rate limits, which are typical for list endpoints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no extraneous information. Key information is front-loaded and every part serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter and no output schema, the description covers purpose and parameter. However, it omits common list behaviors like pagination or default response fields, leaving potential gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for productId. The description adds value by explaining its role and pointing to the source endpoint for obtaining it, beyond the schema's type/format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a list of webhooks for a given product, using specific verb and resource. It distinguishes from sibling tools like get-webhook (single), create-webhook, delete-webhook, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains that productId is required and can be obtained from the list-products endpoint, providing clear context. However, it does not explicitly state when not to use this tool or mention alternative filtering options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post-setting-valuesA

This endpoint replaces the values of a specified Config's Feature Flags or Settings identified by the configId parameter in a specified Environment identified by the environmentId parameter.

Only the value, rolloutRules and percentageRules attributes are modifiable by this endpoint.

Important: As this endpoint is doing a complete replace, it's important to set every other attribute that you don't want to change in its original state. Not listing one means it will reset.

For example: We have the following resource.

{
  "settingValues": [
    {
      "rolloutPercentageItems": [
        {
          "percentage": 30,
          "value": true
        },
        {
          "percentage": 70,
          "value": false
        }
      ],
      "rolloutRules": [],
      "value": false,
      "settingId": 1
    }
  ]
}

If we send a replace request body as below:

{ 
  "settingValues": [
    {
      "value": true,
      "settingId": 1
    }
  ]
}

Then besides that the default value is set to true, all the Percentage Rules are deleted. So we get a response like this:

{
  "settingValues": [
    {
      "rolloutPercentageItems": [],
      "rolloutRules": [],
      "value": true,
      "setting": 
      {
        "settingId": 1
      }
    }
  ]
}

The rolloutRules property describes two types of rules:

  • Targeting rules: When you want to add or update a targeting rule, the comparator, comparisonAttribute, and comparisonValue members are required.

  • Segment rules: When you want to add add or update a segment rule, the segmentId which identifies the desired segment and the segmentComparator members are required.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoThe reason note for the Audit Log if the Product's "Config changes require a reason" preference is turned on.
configIdYesThe identifier of the Config.
requestBodyYes
environmentIdYesThe identifier of the Environment.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the replace semantics, the modifiable attributes, and the effect of omitting fields. It also describes the two types of rollout rules. This provides sufficient transparency, though it could mention error conditions or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is fairly concise given the complexity, using bullet points and an example to structure information. It could be slightly shorter, but the content is well-organized and each part adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Considering the tool's complexity (4 parameters, nested objects, no output schema), the description covers the replace behavior, rule types, and provides an example. It is complete enough for an AI agent to understand the function and risks, though return value format is not described (no output schema exists).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has a high description coverage (75%), but the description adds meaningful context beyond the schema. It clarifies that only value, rolloutRules, and percentageRules are modifiable, and the example illustrates how missing attributes reset. This enhances understanding beyond the schema's property descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool replaces values of Feature Flags or Settings for a Config in an Environment. It specifies the verb 'replaces' and the resources involved, but does not explicitly differentiate from sibling tools like post-setting-values-v2 or replace-setting, which limits distinguishing clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides important usage guidance about the complete replace behavior and the need to include attributes to avoid resetting. However, it does not explicitly state when to use this tool compared to alternatives (e.g., post-setting-values-v2), so the guidance is implied rather than directive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post-setting-values-v2A

This endpoint batch updates the Feature Flags and Settings of a Config identified by the configId parameter in a specified Environment identified by the environmentId parameter.

Only those Feature Flags and Settings are updated which are part of the request, all the others are left untouched.

Important: As this endpoint is doing a complete replace on those Feature Flags and Settings, which are set in the request. It's important to set every other field that you don't want to change in its original state. Not listing a field means that it will reset.

For example: We have the following resource of a Feature Flag.

{
  "settingFormulas": [
    {
      "defaultValue": {
        "boolValue": false
      },
      "targetingRules": [
        {
          "conditions": [
            {
              "userCondition": {
                "comparisonAttribute": "Email",
                "comparator": "sensitiveTextEquals",
                "comparisonValue": {
                  "stringValue": "test@example.com"
                }
              }
            }
          ],
          "percentageOptions": [],
          "value": {
            "boolValue": true
          }
        }
      ],
      "settingId": 1
    }
  ]
}

If we send a batch replace request body as below:

{ 
  "updateFormulas": [
    {
      "defaultValue": {
        "boolValue": false
      },
      "settingId": 1
    }
  ]
}

Then besides that the default value is set to true, all Targeting Rules of the related Feature Flag are deleted. So we get a response like this:

{
  "settingFormulas": [
    {
      "defaultValue": {
        "boolValue": false
      },
      "targetingRules": [],
      "setting": 
      {
        "settingId": 1
      }
    }
  ]
}
ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoThe reason note for the Audit Log if the Product's "Config changes require a reason" preference is turned on.
configIdYesThe identifier of the Config.
requestBodyYes
environmentIdYesThe identifier of the Environment.
bypassApprovalNoWhether to bypass the approval process and directly apply the change. This is only applicable for users with bypass approval permission.
latestVersionIdNoOptional. The version identifier of the last change made to the Feature Flag or Setting in the Environment. It can be used to make sure concurrent updates are not overwriting each other. If provided and the version identifier does not match the current version, the update will be rejected with a 409 Conflict response. The latest version id can be acquired from the `LastVersionId` property of the response models.

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure, and it rises to the occasion on the most critical trait: the complete-replace semantics. It explicitly warns 'Not listing a field means that it will reset' and proves it with a concrete before/after example showing targeting rules deleted when omitted. It does not cover auth requirements, approval-process interactions, or concurrency/version-conflict behavior, which are relevant gaps for a mutating endpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded: purpose in the first sentence, the critical warning in the second paragraph, and the demonstration example last. The three JSON blocks are lengthy but earned — for a destructive operation, the concrete before/request/after example is the clearest way to convey the reset behavior and prevents catastrophic misuse. It is long but every section justifies its existence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity — nested requestBody object, six parameters, destructive behavior — and the absence of both annotations and an output schema, more is expected from the description. It nails the single most dangerous behavior (field omission resets values) but omits complementary context: when to choose it over update/replace/single-value siblings, approval-process behavior related to bypassApproval, and optimistic-concurrency behavior for latestVersionId. The inline example does at least hint at the response shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 83% (5 of 6 parameters described), so the baseline is 3 and the schema carries most of the parameter-level meaning. The description adds value by explaining the replace semantics that apply to the requestBody.updateFormulas structure — the critical 'omitted fields get reset' rule is not in the schema. It also references configId and environmentId by name, but adds no format or constraint detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource: 'batch updates the Feature Flags and Settings of a Config identified by the configId parameter in a specified Environment.' This clearly distinguishes it from single-flag tools like update-setting-value-v2 and replace-setting-value-v2 by emphasizing the batch nature. However, it does not explicitly differentiate itself from the sibling post-setting-values (v1), relying on the name suffix for that distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage context is implied through the framing of 'batch updates' — an agent can infer this is the tool for updating multiple flags/settings at once rather than one at a time. The 'Important' section provides strong guidance on how to construct the request safely (set every field you don't want to change). However, it never explicitly names alternatives or states when-not-to-use-this-tool, leaving sibling routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove-change-request-approvalB

Removes your existing approval from the Change Request.

ParametersJSON Schema
NameRequiredDescriptionDefault
changeRequestIdYesThe identifier of the Change Request.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that the action removes the caller's own approval, but it does not mention what happens if no approval exists, whether the operation is idempotent, what permissions are required, or what side effects may occur. For a mutation tool, this is a meaningful gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short, direct sentence that front-loads the action and includes the necessary scope qualifier. There is no wasted text or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple: one required parameter, no output schema, and no nested objects. The description covers the basic action but omits behavioral context such as error conditions and whether approval ownership is validated. It is minimally adequate for this low-complexity tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the single changeRequestId parameter already documented as 'The identifier of the Change Request.' The description adds no additional parameter semantics, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific language, 'Removes your existing approval from the Change Request', which clearly identifies the action and resource. It also adds scope by saying 'your existing approval,' distinguishing it from removing someone else's approval. However, it does not explicitly name or differentiate from siblings like approve-change-request, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'your existing approval' implies the tool should be used when the caller has already approved and wants to withdraw that approval. There is no explicit guidance about alternatives or when-not-to-use, but the implied usage is reasonably clear for a simple action.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replace-settingA

This endpoint replaces the whole value of a Feature Flag or Setting identified by the settingId parameter.

Important: As this endpoint is doing a complete replace, it's important to set every other attribute that you don't want to change in its original state. Not listing one means it will reset.

ParametersJSON Schema
NameRequiredDescriptionDefault
settingIdYesThe identifier of the Setting.
requestBodyYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure, and it delivers the critical non-obvious trait: omitting any attribute from the request resets it to its original state. This is exactly the kind of destructive gotcha an agent needs to know before calling. It doesn't cover idempotency or response behavior, but the core hazard is explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short paragraphs with no filler: purpose in the first sentence, and the critical reset warning visually isolated under a bold 'Important:' header. Every sentence earns its place and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the replace/reset trap well and the schema fills in the fields, but with no output schema, no annotations, and a sibling set containing the confusingly similar replace-setting-value and update-setting-value, the missing disambiguation is a real gap. An agent could reasonably pick the wrong sibling without clearer routing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents settingId and every requestBody sub-field (name, hint, tags, order, isJson) with individual descriptions, so the description need not restate them. Its added value is explaining the consequence of omitting fields — they reset — which is meaningful semantic context beyond the schema, though it stops short of providing concrete request-body examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'replaces the whole value of a Feature Flag or Setting identified by the settingId parameter' — a specific verb, resource, and scope. The 'complete replace' framing differentiates it from the sibling update-setting, but it doesn't disambiguate from the similarly named replace-setting-value, which also centers on 'value'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The bolded Important note — 'Not listing one means it will reset' — implicitly tells the agent this endpoint is for full replacements rather than partial edits, so an agent can infer not to use it for single-attribute changes. However, it never explicitly names alternatives like update-setting or replace-setting-value, leaving selection to inference among roughly 70 siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replace-setting-valueA

This endpoint replaces the whole value of a Feature Flag or Setting in a specified Environment.

Only the value, rolloutRules and percentageRules attributes are modifiable by this endpoint.

Important: As this endpoint is doing a complete replace, it's important to set every other attribute that you don't want to change in its original state. Not listing one means it will reset.

For example: We have the following resource.

{
  "rolloutPercentageItems": [
    {
      "percentage": 30,
      "value": true
    },
    {
      "percentage": 70,
      "value": false
    }
  ],
  "rolloutRules": [],
  "value": false
}

If we send a replace request body as below:

{
  "value": true
}

Then besides that the default value is set to true, all the Percentage Rules are deleted. So we get a response like this:

{
  "rolloutPercentageItems": [],
  "rolloutRules": [],
  "value": true
}

The rolloutRules property describes two types of rules:

  • Targeting rules: When you want to add or update a targeting rule, the comparator, comparisonAttribute, and comparisonValue members are required.

  • Segment rules: When you want to add add or update a segment rule, the segmentId which identifies the desired segment and the segmentComparator members are required.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoThe reason note for the Audit Log if the Product's "Config changes require a reason" preference is turned on.
settingIdYesThe id of the Setting.
requestBodyYes
environmentIdYesThe identifier of the Environment.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully discloses the destructive nature (complete replace, resets attributes not listed). It provides a concrete example illustrating the behavior, making the tool's actions transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is lengthy due to examples and detailed rule explanations, but it's well-structured with sections and clear headings. Given the complexity of the tool, the length is justified, though some sentences could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is fairly complete for a complex tool with no output schema. It explains the replace behavior, modifiable attributes, rule types, and includes an example. However, it does not mention the response format, which could be inferred but is not explicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 75% of parameters with descriptions. The description adds meaning beyond the schema by explaining the modifiable attributes (value, rolloutRules, percentageRules) and detailing the two types of rules with required fields, thus providing extra context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool replaces the whole value of a Feature Flag or Setting in a specified Environment. It lists modifiable attributes and provides examples, distinguishing it from sibling tools like replace-setting-value-v2 or update-setting-value.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the complete replace behavior and warns about resetting attributes not included. It also describes the two rule types with required members. However, it lacks explicit guidance on when to use this vs. other related tools like replace-setting-value-v2.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replace-setting-value-v2A

This endpoint replaces the value and the Targeting Rules of a Feature Flag or Setting in a specified Environment identified by the SDK key passed in the X-CONFIGCAT-SDKKEY header.

Only the defaultValue, targetingRules, and percentageEvaluationAttribute fields are modifiable by this endpoint.

Important: As this endpoint is doing a complete replace, it's important to set every other field that you don't want to change to its original state. Not listing one means it will reset.

For example: We have the following resource of a Feature Flag.

{
  "defaultValue": {
    "boolValue": false
  },
  "targetingRules": [
    {
      "conditions": [
        {
          "userCondition": {
            "comparisonAttribute": "Email",
            "comparator": "sensitiveTextEquals",
            "comparisonValue": {
              "stringValue": "test@example.com"
            }
          }
        }
      ],
      "percentageOptions": [],
      "value": {
        "boolValue": true
      }
    }
  ]
}

If we send a replace request body as below:

{
  "defaultValue": {
    "boolValue": true
  }
}

Then besides that the default served value is set to true, all the Targeting Rules are deleted. So we get a response like this:

{
  "defaultValue": {
    "boolValue": true
  },
  "targetingRules": []
}
ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoThe reason note for the Audit Log if the Product's "Config changes require a reason" preference is turned on.
settingIdYesThe id of the Setting.
requestBodyYes
environmentIdYesThe identifier of the Environment.
bypassApprovalNoWhether to bypass the approval process and directly apply the change. This is only applicable for users with bypass approval permission.
latestVersionIdNoOptional. The version identifier of the last change made to the Feature Flag or Setting in the Environment. It can be used to make sure concurrent updates are not overwriting each other. If provided and the version identifier does not match the current version, the update will be rejected with a 409 Conflict response. The latest version id can be acquired from the `LastVersionId` property of the response models.

TDQS

A3.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does so well. It explicitly warns that this endpoint performs a complete replace, that unlisted fields are reset, and that the SDK key must be passed in the X-CONFIGCAT-SDKKEY header. The example vividly illustrates the destructive behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and critical warning, followed by a concrete example that clarifies the replace semantics. The example is somewhat long, but it earns its place by showing the reset behavior that would otherwise be easy to misunderstand.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complex nested schema, high parameter count, and absence of annotations or output schema, the description is substantially complete. It covers authentication, modifiable fields, and the most dangerous behavioral pitfall. It could still benefit from explicit guidance on how it differs from the similarly named sibling endpoint 'replace-setting-value'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 83%, so the schema already documents most parameters. The description adds valuable meaning beyond the schema by explaining that only defaultValue, targetingRules, and percentageEvaluationAttribute are modifiable and by demonstrating how omitting targetingRules deletes them. This helps the agent construct the request body correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool replaces the value and Targeting Rules of a Feature Flag or Setting in a specified Environment, naming the exact resource and action. It also lists the modifiable fields. However, it does not explicitly differentiate itself from the sibling tool 'replace-setting-value'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the full-replace behavior and warns about resetting omitted fields, but it does not say when to prefer this tool over alternatives like 'update-setting-value' or 'replace-setting-value'. No explicit when-to-use or when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replace-webhookA

This endpoint replaces the whole value of a Webhook identified by the webhookId parameter.

Important: As this endpoint is doing a complete replace, it's important to set every other attribute that you don't want to change in its original state. Not listing one means it will reset.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhookIdYesThe identifier of the Webhook.
requestBodyYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses the destructive nature of the operation (complete replace with reset of omitted attributes). No annotations exist, so the description effectively carries the burden of behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, followed by a crucial usage warning. No extraneous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a replacement endpoint with a nested object schema and no output schema, the description covers the essential aspects: what it does, the complete replace behavior, and the nuance about resetting omitted fields. Lacks error handling or prerequisites but is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds context that webhookId identifies the webhook and that requestBody must contain all attributes, reinforcing the schema. With 50% schema coverage, it partially compensates but does not elaborate on individual parameter details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it replaces the whole value of a webhook by ID, distinguishing it from partial updates like update-webhook or creation create-webhook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit warning about the complete replace behavior and the need to include unchanged attributes, which guides usage. However, it does not explicitly compare with update-webhook for selective changes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve-change-request-setting-conflictsA

Updates the proposed changes to a Setting included in the Change Request to resolve conflicts caused by concurrently published changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
settingIdYesThe identifier of the Setting.
requestBodyYes
changeRequestIdYesThe identifier of the Change Request.

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It only says 'Updates' without explaining consequences such as whether existing pending changes are overwritten, whether approval is required, how conflicts are resolved, or what happens on success. For a mutation tool with no annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler. It front-loads the action and resource, then immediately gives the conflict-resolution context. Every word contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex tool with deeply nested requestBody, three required parameters, no output schema, and no annotations. The one-sentence description omits crucial context: how to determine the conflict, what requestBody should contain, whether latestVersionId is needed to avoid a 409, and what the response looks like. It is far from complete for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%: changeRequestId and settingId have descriptions, but requestBody and its proposedChange object lack top-level descriptions. The tool description adds minimal parameter meaning beyond saying 'proposed changes to a Setting.' It does not explain how to construct requestBody or that latestVersionId inside proposedChange is key to conflict resolution.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Updates') and resource ('proposed changes to a Setting included in the Change Request') and adds a distinct purpose ('to resolve conflicts caused by concurrently published changes'). This clearly differentiates it from generic sibling tools like update-change-request-proposed-changes by scoping it to conflict resolution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly identifies when to use the tool: when conflicts arise from concurrently published changes. It does not list exclusions or name alternative tools, but the trigger condition is clear enough for an agent to route to this tool appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-change-requestC

Updates the metadata of a Change Request, such as title, note, schedule, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestBodyYesThe JSON request body.
changeRequestIdYesThe identifier of the Change Request.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the full disclosure burden. It signals mutation via 'Updates' and scopes the operation to metadata, but says nothing about ownership requirements, whether edits are allowed after a request is applied or closed, or how bypassApproval interacts with scheduling. The metadata scoping is useful, but key behavioral context for a workflow-affecting mutation is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single 14-word sentence with the action verb front-loaded, followed by three concrete examples of the affected fields. There is no filler, redundancy, or buried information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and a dense set of stateful siblings (approve, apply, close, claim ownership), this description is too thin. An agent learns which fields can be updated but not the preconditions, the impact on existing approvals, or what a successful update returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter, establishing a baseline of 3. The description adds marginal value by mapping 'note' to reason and 'schedule' to applyAt, but otherwise it does not go beyond what the schema's own field descriptions already provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action and resource: 'Updates the metadata of a Change Request,' followed by concrete examples (title, note, schedule). The scope is precise enough to distinguish from state-transition siblings like approve-change-request and apply-change-request, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as update-change-request-comment or update-change-request-proposed-changes. There are also no prerequisites stated (e.g., ownership via claim-change-request-ownership or a valid state for editing), leaving an agent to infer applicability from the name and schema alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-change-request-commentC

Updates an existing Change Request comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentIdYesThe identifier of the Change Request comment.
requestBodyYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It only says an existing comment is updated, without disclosing ownership/permission requirements, whether the body is fully replaced, error behavior for missing comments, or any other side effects. It does at least make clear this is a mutating operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or redundant scaffolding. It is concise, though much of its wording mirrors the tool name and only 'existing' adds meaningful distinction.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description leaves important context unaddressed: expected return value, error cases, permissions, and how updates behave. The schema covers the parameters, but the tool description alone is insufficient for an agent to fully anticipate the operation's behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, and the description adds no parameter-level meaning beyond what the input schema already provides. The schema documents commentId and the requestBody.body string, but the tool description does not help clarify the requestBody wrapper or compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Updates') and a specific resource ('existing Change Request comment'), which clearly indicates the operation. It is close to restating the tool name, but it does communicate the core action and target unambiguously.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus siblings such as add-change-request-comment, delete-change-request-comment, or update-change-request. The word 'existing' only implicitly suggests it is not for creating a comment, but no prerequisites, exclusions, or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-change-request-proposed-changesC

Updates the proposed changes to the Settings included in a Change Request.

ParametersJSON Schema
NameRequiredDescriptionDefault
settingIdNoThe optional identifier of the Setting.
requestBodyYes
changeRequestIdYesThe identifier of the Change Request.

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It states only that the tool mutates ('Updates'), omitting the concurrency/conflict model (latestVersionId 409 rejection, the forced flag that skips checking) and the fact that this stages proposed changes rather than affecting live Settings. The single sentence adds minimal behavioral context beyond what the tool name already implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with the action front-loaded and no wasted words. However, for a tool with this schema complexity and concurrency semantics, one sentence is under-sized; a brief second sentence on conflict/forced-flag behavior would make it appropriately sized without harming readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a deeply nested schema, no annotations, and no output schema, and it sits among many change-request siblings, yet the description provides only the core purpose. Missing are the concurrency/forced-flag caveats, whether proposedChanges replaces or merges the existing set, and any pointer to get-change-request-proposed-changes for the pre-read. The description is not complete enough for an agent to call this tool safely without opening the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is about 67%, and the schema already documents changeRequestId, settingId, the forced flag, and latestVersionId (including the 409 behavior) with rich descriptions. The tool description adds nothing about parameters, but the schema covers most semantics, so the gap is modest. The dual presence of settingId at top level and inside each proposedChanges item is left unexplained by both.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Updates') and a specific resource ('proposed changes to the Settings included in a Change Request'), which is meaningfully distinct from siblings like update-change-request or get-change-request-proposed-changes. However, it does not name or contrast those siblings, so an agent must infer the distinction from the resource phrasing alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this tool versus overlapping siblings such as update-change-request, get-change-request-proposed-changes, delete-change-request-proposed-change, or resolve-change-request-setting-conflicts. No prerequisites (e.g., an existing Change Request in an editable state) or exclusions are mentioned; the usage context must be inferred from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-configB

This endpoint updates a Config identified by the configId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
configIdYesThe identifier of the Config.
requestBodyYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only says 'updates', implying mutation. It fails to disclose any behavioral traits such as authorization needs, side effects, or idempotency. The description does not compensate for the lack of annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loaded with the key information. It is efficient, though it could include more detail without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (nested object, required parameters, no output schema) and lack of annotations, the description fails to cover important aspects like return values, error handling, or side effects. It is incomplete for an update operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes all parameters well, including nested fields. The description adds no further meaning beyond what the schema provides. With high schema coverage, the baseline is 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('updates') and the resource ('Config'), and it references the key parameter 'configId'. This distinguishes it from sibling tools like 'create-config' and 'delete-config'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool, what prerequisites exist, or how it compares to other tools. With many sibling tools, such context is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-environmentB

This endpoint updates an Environment identified by the environmentId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestBodyYesThe JSON request body.
environmentIdYesThe identifier of the Environment.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must reveal behavioral traits. It only says 'updates', which implies mutation, but lacks detail on error handling, partial updates, permissions, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that front-loads the purpose. It is efficient, though perhaps too terse for full clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema. The description is minimal but adequate for a simple update tool. However, given many sibling tools and no annotations, more context (e.g., partial update behavior) would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes parameters. The tool description adds no extra meaning beyond the schema, achieving baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the action 'updates' and the resource 'Environment', and identifies the key parameter `environmentId`. It clearly distinguishes from sibling tools like `create-environment` and `get-environment`.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It does not mention prerequisites, partial updates, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-integrationB

This endpoint updates a Config identified by the integrationId parameter.

The Parameters dictionary differs for each IntegrationType:

  • Datadog

    • apikey: Required. Datadog API key.

    • site: Datadog site. Available values: Us, Eu, Us1Fed, Us3, Us5. Default: Us.

  • Slack
    Connecting the Slack integration through the Public Management API will not post messages with the ConfigCat Feature Flags Slack app but with an incoming webhook.

    • incoming_webhook.url: Required. The incoming webhook URL where the integration should post messages.

    • includeSensitiveData: Set to "true" to include sensitive (hashed) comparison values. By default, the integration will mask these values in the posted messages. We recommend hiding sensitive comparison values for shared or public Slack channels.

  • Amplitude

    • apiKey: Required. Amplitude API Key.

    • secretKey: Required. Amplitude Secret Key.

  • Mixpanel

    • serviceAccountUserName: Required. Mixpanel Service Account Username.

    • serviceAccountSecret: Required. Mixpanel Service Account Secret.

    • projectId: Required. Mixpanel Project ID.

    • server: Mixpanel Server. Available values: StandardServer, EUResidencyServer. Default: StandardServer.

  • Twilio Segment

    • writeKey: Required. Twilio Segment Write Key.

    • server: Twilio Segment Server. Available values: Us, Eu. Default: Us.

  • PubNub (work in progress)

ParametersJSON Schema
NameRequiredDescriptionDefault
requestBodyYes
integrationIdYesThe identifier of the Integration.

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It does disclose the update nature and notes an important Slack-specific behavior about incoming webhooks versus the ConfigCat Slack app. However, it does not clarify whether the update is partial or a full replacement, what happens to existing linked environments/configs, or other side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but organized by integration type, making the content scannable and efficient for a complex multi-provider tool. The first sentence's 'Config' wording is a flaw, and the trailing 'PubNub (work in progress)' is vague, but overall the structure earns its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides deep per-type parameter context, which is valuable, but it omits key update semantics such as whether missing fields in the request body are cleared, whether the endpoint does a full replacement, or what the response contains. Since there is no output schema and no annotations, these gaps leave an agent uncertain about the outcome of the call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only describes `parameters` as a generic object with string values, so the description adds substantial value by enumerating required and optional keys per IntegrationType, including available values, defaults, and links. This is especially important given the 50% schema description coverage. The only notable gap is the incomplete 'work in progress' PubNub section.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states an update operation and names the `integrationId` parameter, but calls the resource 'a Config' rather than an Integration, which is confusing and inconsistent with the tool name. The per-IntegrationType parameter detail helps clarify what is being updated, but the initial sentence muddies the core purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives like get-integration, create-integration, or delete-integration. The description focuses on parameter formatting rather than usage context or exclusions, leaving the agent to infer from the verb 'updates.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-member-permissionsB

This endpoint updates the permissions of a Member identified by the userId. This endpoint can also be used to move a Member between Permission Groups within a Product. Only a single Permission Group can be set per Product.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesThe identifier of the Member.
requestBodyYes
organizationIdYesThe identifier of the Organization.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must carry burden. It mentions only one constraint (single group per product) but fails to disclose if the operation is destructive, idempotent, or requires specific permissions. The behavior of setting multiple groups or effect on existing permissions is unclear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences covering primary action, secondary use, and a key constraint. No redundancy, but could be slightly more efficient by combining first two sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the main action and a crucial constraint, but lacks details on response format, error scenarios, preconditions (member existence), and the effect of removeFromPermissionGroupsWhereIdNotSet (though the parameter name is clear). Adequate for basic use but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover all parameters well (100% coverage). Description adds value by linking permissionGroupIds to moving between groups and stating single-group constraint, but does not explain interaction between isAdmin, isBillingManager, and groups.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states updates member permissions and can move between permission groups, distinguishing it from sibling tools like create-permission-group or delete-organization-member. The constraint 'only a single Permission Group per Product' further clarifies scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies when to use (update permissions, move groups) but lacks explicit guidance on when not to use or alternative tools. No mention of prerequisites or side effects.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-permission-groupC

This endpoint updates a Permission Group identified by the permissionGroupId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestBodyYes
permissionGroupIdYesThe identifier of the Permission Group.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral burden, and it only says the endpoint 'updates' a group. It does not disclose whether this is a partial or full replacement, whether existing permissions are overwritten, whether null clears a value, required authorization, side effects, or response behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and has no filler, making it easy to scan. However, it is so terse for a high-complexity update endpoint that it omits usage and behavior context, which costs it the top score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the rich request-body schema, the missing output schema and annotations leave the update semantics and return behavior unexplained. For a mutation endpoint with a large nested body, one sentence is not enough for an agent to know how the update behaves or what a successful call returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no meaning beyond the schema: it restates that `permissionGroupId` identifies the group, which the schema already says, and it does not explain `requestBody` or the semantics of the many optional nested fields. With schema coverage at 50% and no compensation in prose, the request body parameter remains under-explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific operation ('updates') and a clear resource ('Permission Group'), and identifies the target via `permissionGroupId`. It is distinguishable from get/create/delete siblings by the verb, though it does not explicitly differentiate itself from related update tools like update-member-permissions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to update a Permission Group versus creating, getting, or deleting one, nor any prerequisites or consequences. The sentence states the operation but leaves all selection context to inference from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-predefined-variationsB

This endpoint updates the predefined variations for a Feature Flag or Setting identified by the settingId parameter. Important: You can only update a predefined variation's value if it is not used anywhere in your feature flags.

ParametersJSON Schema
NameRequiredDescriptionDefault
settingIdYesThe identifier of the Setting.
requestBodyYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description only mentions one constraint; lacks disclosure of side effects, error handling, or response behavior. Limited value beyond the constraint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, with key constraint highlighted in bold. Adequately front-loaded but could include more essential details without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Missing important behavioral details like return values, error scenarios, and idempotency. Without annotations or output schema, the description is insufficient for comprehensive understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 50% description coverage, with descriptions for nested fields. The description adds context about the settingId parameter and the update constraint, but does not elaborate on requestBody structure beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states that the tool updates predefined variations for a Feature Flag or Setting identified by settingId. Does not explicitly differentiate from sibling tools like update-setting, but the mention of 'predefined variations' provides specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a critical constraint ('only update if not used in any feature flags') but does not offer guidance on when to use this tool versus alternatives or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-productC

This endpoint updates a Product identified by the productId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.
requestBodyYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It fails to mention that this appears to be a full update (all fields required in schema), any authorization requirements, or side effects. The description simply says 'updates', missing crucial operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no unnecessary words. However, it could have been more informative without increasing length, e.g., by noting the full update behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and annotations, the description should explain return values, error handling, or prerequisites. It only states the basic update operation, leaving the context incomplete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes each parameter (productId and requestBody fields). The description adds only the context that productId identifies the product. Since schema coverage is 50% and there is no additional semantic value beyond the schema, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'updates' and the resource 'Product', and identifies the key identifier parameter. However, it does not differentiate from sibling tools like 'create-product' or 'update-setting'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, nor are there any when-not-to-use instructions or preconditions. Usage is only implied by the purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-product-preferencesB

This endpoint updates the preferences of a Product identified by the productId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe identifier of the Product.
requestBodyYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the full burden. It only says preferences are updated, without disclosing partial-update behavior, the meaning of null values, environment-list merge semantics, or any permission implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. It states the action, resource, and key parameter efficiently while remaining easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The endpoint has nested objects, nullable fields, and environment-specific arrays, but the description does not explain update semantics (e.g., whether omitted fields are preserved, what null clears). With no output schema or annotations, the description is too sparse for an agent to invoke confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description references productId but adds no meaning beyond the schema. The requestBody is not described at the top level, though its nested properties are well documented; the term 'preferences' provides a mild semantic label but the schema does most of the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('updates') and a specific resource ('preferences of a Product') identified by `productId`. This clearly distinguishes it from sibling tools like update-product and get-product-preferences.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus reading preferences via get-product-preferences or updating other product fields via update-product. No prerequisites or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-sdk-documentationB

If the user asks for coding related to a feature flag (such as integrating the ConfigCat SDK, adding a feature flag, or removing a feature flag), always call the tool "update-sdk-documentation" first to download the latest ConfigCat SDK documentation.

1. Analyze the SDK URLs listed in the following SDK Reference list.
2. Then call the tool "update-sdk-documentation" with specific URL from the SDK Reference list to fetch relevant documentation page.

## SDK Reference
  • Android (Java) SDK Reference: ConfigCat Android SDK Reference. This is a step-by-step guide on how to use feature flags in your Android Java application.

  • ConfigCat package for Laravel: ConfigCat package for Laravel. Implement feature flags within your PHP Laravel application using ConfigCat.

  • ConfigCat SDK for Vue.js: Unofficial Vue SDK for ConfigCat feature flags. Based on ConfigCat's JavaScript SDK.

  • C++ SDK Reference: ConfigCat C++ SDK Reference. This is a step-by-step guide on how to use feature flags in your C++ application.

  • Dart (Flutter) SDK Reference: ConfigCat Dart (Flutter) SDK Reference. This is a step-by-step guide on how to use feature flags in your Dart (Flutter) apps.

  • .NET SDK Reference: ConfigCat .NET SDK Reference. This is a step-by-step guide on how to use feature flags in your .NET application.

  • Using the ConfigCat SDK in DI‑Based .NET Applications: Using the ConfigCat SDK in DI-based .NET applications. This is a step-by-step guide on how to use feature flags in your ASP.NET Core applications and other modern .NET applications built on .NET Generic Host or .NET's standard dependency injection.

  • Elixir SDK Reference: ConfigCat Elixir SDK Reference. This is a step-by-step guide on how to use feature flags in your Elixir project.

  • Go SDK Reference: ConfigCat Go SDK Reference. This is a step-by-step guide on how to use feature flags in your Go applications.

  • Swift (iOS) SDK Reference: ConfigCat Swift (iOS) SDK Reference. This is a step-by-step guide on how to use feature flags in your iOS mobile application.

  • Java SDK reference: ConfigCat Java SDK Reference. This is a step-by-step guide on how to use feature flags in your Java application.

  • Browser (JavaScript) SDK: ConfigCat Browser (JavaScript) SDK Reference. This is a step-by-step guide on how to use feature flags in your frontend applications and Web Workers running in the browser.

  • Bun SDK: ConfigCat Bun SDK Reference. This is a step-by-step guide on how to use feature flags in your Bun applications.

  • Chromium Extension SDK: ConfigCat Chromium Extension SDK Reference. This is a step-by-step guide on how to use feature flags in your extensions for Chromium-based browsers (Chrome, Edge, etc.)

  • Cloudflare Worker SDK: ConfigCat Cloudflare Worker SDK Reference. This is a step-by-step guide on how to use feature flags in your Cloudflare Workers.

  • Deno SDK: ConfigCat Deno SDK Reference. This is a step-by-step guide on how to use feature flags in your Deno applications.

  • Node.js SDK: ConfigCat Node.js SDK Reference. This is a step-by-step guide on how to use feature flags in your Node.js applications.

  • ConfigCat SDK for JavaScript: ConfigCat SDK for JavaScript Reference. This is a step-by-step guide on how to use feature flags in your JavaScript applications.

  • Kotlin Multiplatform SDK Reference: ConfigCat Kotlin Multiplatform SDK Reference. This is a step-by-step guide on how to use feature flags in your Kotlin Multiplatform apps.

  • OpenFeature Providers: Integrate feature flags using OpenFeature's vendor-agnostic API with ConfigCat OpenFeature providers. Supported for .NET, Java, Python, Go, JavaScript, React, Node.js, and more.

  • Using ConfigCat's OpenFeature Provider in Angular: This is a step-by-step guide on how to use ConfigCat with the OpenFeature Angular SDK.

  • OpenFeature Provider for .NET: ConfigCat OpenFeature Provider for .NET. This is a step-by-step guide on how to use ConfigCat with the OpenFeature .NET SDK.

  • OpenFeature Provider for Go: ConfigCat OpenFeature Provider for Go. This is a step-by-step guide on how to use ConfigCat with the OpenFeature Go SDK.

  • OpenFeature Provider for Java: ConfigCat OpenFeature Provider for Java. This is a step-by-step guide on how to use ConfigCat with the OpenFeature Java SDK.

  • OpenFeature Provider for JavaScript: ConfigCat OpenFeature Provider for JavaScript. This is a step-by-step guide on how to use ConfigCat with the OpenFeature JavaScript SDK.

  • OpenFeature Provider for Kotlin: ConfigCat OpenFeature Provider for Kotlin. This is a step-by-step guide on how to use ConfigCat with the OpenFeature Kotlin SDK.

  • Using ConfigCat's OpenFeature Provider in NestJS: This is a step-by-step guide on how to use ConfigCat with the OpenFeature NestJS SDK.

  • OpenFeature Provider for Node.js: ConfigCat OpenFeature Provider for Node.js. This is a step-by-step guide on how to use ConfigCat with the OpenFeature Node.js SDK.

  • OpenFeature Provider for PHP: ConfigCat OpenFeature Provider for PHP. This is a step-by-step guide on how to use ConfigCat with the OpenFeature PHP SDK.

  • OpenFeature Provider for Python: ConfigCat OpenFeature Provider for Python. This is a step-by-step guide on how to use ConfigCat with the OpenFeature Python SDK.

  • Using ConfigCat's OpenFeature Provider in React: This is a step-by-step guide on how to use ConfigCat with the OpenFeature React SDK.

  • OpenFeature Provider for Ruby: ConfigCat OpenFeature Provider for Ruby. This is a step-by-step guide on how to use ConfigCat with the OpenFeature Ruby SDK.

  • OpenFeature Provider for Rust: ConfigCat OpenFeature Provider for Rust. This is a step-by-step guide on how to use ConfigCat with the OpenFeature Rust SDK.

  • OpenFeature Provider for Swift: ConfigCat OpenFeature Provider for Swift. This is a step-by-step guide on how to use ConfigCat with the OpenFeature Swift SDK.

  • ConfigCat SDK Overview: List of all supported technologies like .NET, Java, JavaScript, Node.js, Deno, Bun, Cloudflare Worker, PHP, Python, Ruby, Go, Android, Swift, iOS, Elixir, Dart, Flutter, Angular, React, Vue.js, Chromium Extension, Kotlin Multiplatform, Laravel, Server-Side Rendered apps, etc.

  • PHP SDK Reference: ConfigCat PHP SDK Reference. This is a step-by-step guide on how to use feature flags in your PHP application.

  • Python SDK Reference: ConfigCat Python SDK Reference. This is a step-by-step guide on how to use feature flags in your Python application.

  • React SDK Reference: ConfigCat React SDK Reference. This is a step-by-step guide on how to use feature flags in your React applications.

  • Ruby SDK Reference: ConfigCat Ruby SDK Reference. This is a step-by-step guide on how to use feature flags in your Ruby application.

  • Rust SDK Reference: ConfigCat Rust SDK Reference. This is a step-by-step guide on how to use feature flags in your Rust applications.

  • Using the ConfigCat SDK in Unity: Using the ConfigCat SDK in Unity. This is a step-by-step guide on how to use feature flags in your Unity project.

  • Unreal Engine SDK Reference: ConfigCat Unreal Engine SDK Reference. This is a step-by-step guide on how to use feature flags in your Unreal Engine project.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to fetch SDK documentation from.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says the tool downloads/fetches SDK documentation, but does not disclose whether calling it mutates or updates a local store (despite the 'update-sdk-documentation' name), what the tool returns, or any side effects. The lack of output or effect information leaves the agent guessing about call consequences.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a massive wall of text dominated by the SDK Reference list, with repetitive phrasing like 'This is a step-by-step guide' on nearly every line. The initial sentences bury the tool's purpose in a conditional instruction, and the overall structure is not front-loaded or concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter, no output schema, and no annotations, the description provides extensive URL context but leaves key operational details unclear: whether the tool returns documentation content, how many calls are required (the text seems to suggest both an initial update and a targeted fetch), and what happens after fetching. The ambiguity between 'call first' and 'then call with specific URL' is a real completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only defines 'url' with a generic description, but the tool description adds a curated SDK Reference list of 40+ valid URLs, each annotated with the target technology and language. This goes far beyond the schema by giving the agent actionable value options and allowing correct selection without external lookup.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool fetches/downloads ConfigCat SDK documentation from a specific URL and ties it to feature-flag coding requests. However, the opening instruction to 'always call the tool first to download the latest documentation' followed by a second 'then call the tool with specific URL' muddles whether the tool is a one-shot fetch or a two-step update. The core resource and action are identifiable, but not with the crispness of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to call this tool when the user asks for coding related to a feature flag, and provides steps to analyze the SDK Reference list and then call with a specific URL. This is clear contextual guidance, though it does not mention when not to use the tool or name alternatives (likely because no sibling serves this purpose).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-segmentB

This endpoint updates a Segment identified by the segmentId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
segmentIdYesThe identifier of the Segment.
requestBodyYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden but only states 'updates a Segment', omitting details like partial vs full update, required fields, side effects, or idempotency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but lacks essential information, making it less effective than it could be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 2 required parameters (one nested object), no output schema, and no annotations, the description is insufficient to fully understand usage and behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides descriptions for 50% of parameters; the tool description adds no additional parameter meaning beyond what's in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the verb 'updates' and the resource 'Segment', and is distinct from sibling tools like create-segment, delete-segment, get-segment, and list-segments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or conditions for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-settingA

This endpoint updates the metadata of a Feature Flag or Setting with a collection of JSON Patch operations in a specified Config.

Only the name, hint and tags attributes are modifiable by this endpoint. The tags attribute is a simple collection of the tag IDs attached to the given setting.

The advantage of using JSON Patch is that you can describe individual update operations on a resource without touching attributes that you don't want to change.

For example: We have the following resource.

{
  "settingId": 5345,
  "key": "myGrandFeature",
  "name": "Tihs is a naem with soem typos.",
  "hint": "This flag controls my grandioso feature.",
  "settingType": "boolean",
  "tags": [
    {
      "tagId": 0, 
      "name": "sample tag", 
      "color": "whale"
    }
  ]
}

If we send an update request body as below (it changes the name and adds the already existing tag with the id 2):

[
  {
    "op": "replace", 
    "path": "/name", 
    "value": "This is the name without typos."
  }, 
  {
    "op": "add", 
    "path": "/tags/-", 
    "value": 2
  }
]

Only the name and tags are updated and all the other attributes remain unchanged. So we get a response like this:

{
  "settingId": 5345, 
  "key": "myGrandFeature", 
  "name": "This is the name without typos.", 
  "hint": "This flag controls my grandioso feature.", 
  "settingType": "boolean", 
  "tags": [
    {
      "tagId": 0, 
      "name": "sample tag", 
      "color": "whale"
    }, 
    {
      "tagId": 2, 
      "name": "another tag", 
      "color": "koala"
    }
  ]
}
ParametersJSON Schema
NameRequiredDescriptionDefault
settingIdYesThe identifier of the Setting.
requestBodyYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that only name, hint, and tags are modifiable and shows via example that other attributes remain unchanged. However, it does not mention authentication needs, rate limits, or potential errors like invalid paths.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured, starting with a clear statement, listing modifiable attributes, explaining JSON Patch advantage, and providing a full example. It is slightly long but the example is valuable for understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description shows the response format through the example. It covers the request format, valid fields, and behavior of partial updates. Missing details on error handling or idempotency, but adequate for a metadata update tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning beyond the schema: it explains that requestBody must be a JSON Patch array, lists valid paths (name, hint, tags), and provides a detailed example. This compensates for the schema's 50% coverage and clarifies the enum values for 'op'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates metadata of a Feature Flag or Setting using JSON Patch. It specifies which attributes are modifiable (name, hint, tags) and distinguishes from other tools like replace-setting or update-setting-value by focusing on metadata updates via patches.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the advantage of using JSON Patch for partial updates and implies this tool is for modifying specific metadata without affecting other attributes. It does not explicitly list when not to use it or compare with siblings like replace-setting, but the context is clear enough for an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-setting-valueA

This endpoint updates the value of a Feature Flag or Setting with a collection of JSON Patch operations in a specified Environment.

Only the value, rolloutRules and percentageRules attributes are modifiable by this endpoint.

The advantage of using JSON Patch is that you can describe individual update operations on a resource without touching attributes that you don't want to change. It supports collection reordering, so it also can be used for reordering the targeting rules of a Feature Flag or Setting.

For example: We have the following resource.

{
  "rolloutPercentageItems": [
    {
      "percentage": 30,
      "value": true
    },
    {
      "percentage": 70,
      "value": false
    }
  ],
  "rolloutRules": [],
  "value": false
}

If we send an update request body as below:

[
  {
    "op": "replace",
    "path": "/value",
    "value": true
  }
]

Only the default value is going to be set to true and all the Percentage Rules are remaining unchanged. So we get a response like this:

{
  "rolloutPercentageItems": [
    {
      "percentage": 30,
      "value": true
    },
    {
      "percentage": 70,
      "value": false
    }
  ],
  "rolloutRules": [],
  "value": true
}

The rolloutRules property describes two types of rules:

  • Targeting rules: When you want to add or update a targeting rule, the comparator, comparisonAttribute, and comparisonValue members are required.

  • Segment rules: When you want to add add or update a segment rule, the segmentId which identifies the desired segment and the segmentComparator members are required.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoThe reason note for the Audit Log if the Product's "Config changes require a reason" preference is turned on.
settingIdYesThe identifier of the Setting.
requestBodyYes
environmentIdYesThe identifier of the Environment.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries the full burden. It discloses modifiable attributes, explains rollbackRules sub-types, and mentions the reason note for audit logs. However, it lacks details on idempotency, error handling, permissions, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with paragraphs and a clear example, though it is somewhat lengthy. It front-loads the purpose and uses the example effectively to clarify usage without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool involving JSON Patch, the description covers the essential aspects: purpose, modifiable fields, operation mechanics, and an example. No output schema exists, but the example illustrates the return structure. Minor gaps remain regarding error responses and behavior for invalid patches.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high (all parameters described in schema), but the description adds significant value by explaining JSON Patch operations, which attributes are modifiable, and providing an illustrative example. It also details the two rollbackRules types, going beyond the schema's minimal descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it updates a Feature Flag or Setting using JSON Patch operations, specifies modifiable attributes (value, rolloutRules, percentageRules), and provides a detailed example. This distinguishes it from sibling tools like replace-setting-value or post-setting-values.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use JSON Patch for selective updates and lists modifiable attributes, but does not explicitly compare to alternative tools such as replace-setting-value or update-setting-value-v2, nor does it state when not to use this endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-setting-value-v2A

This endpoint updates the value of a Feature Flag or Setting with a collection of JSON Patch operations in a specified Environment.

Only the defaultValue, targetingRules, and percentageEvaluationAttribute fields are modifiable by this endpoint.

The advantage of using JSON Patch is that you can describe individual update operations on a resource without touching attributes that you don't want to change. It supports collection reordering, so it also can be used for reordering the targeting rules of a Feature Flag or Setting.

For example: We have the following resource of a Feature Flag.

{
  "defaultValue": {
    "boolValue": false
  },
  "targetingRules": [
    {
      "conditions": [
        {
          "userCondition": {
            "comparisonAttribute": "Email",
            "comparator": "sensitiveTextEquals",
            "comparisonValue": {
              "stringValue": "test@example.com"
            }
          }
        }
      ],
      "percentageOptions": [],
      "value": {
        "boolValue": true
      }
    }
  ]
}

If we send an update request body as below:

[
  {
    "op": "replace",
    "path": "/targetingRules/0/value/boolValue",
    "value": true
  }
]

Only the first Targeting Rule's value is going to be set to false and all the other fields are remaining unchanged.

So we get a response like this:

{
  "defaultValue": {
    "boolValue": false
  },
  "targetingRules": [
    {
      "conditions": [
        {
          "userCondition": {
            "comparisonAttribute": "Email",
            "comparator": "sensitiveTextEquals",
            "comparisonValue": {
              "stringValue": "test@example.com"
            }
          }
        }
      ],
      "percentageOptions": [],
      "value": {
        "boolValue": false
      }
    }
  ]
}
ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoThe reason note for the Audit Log if the Product's "Config changes require a reason" preference is turned on.
settingIdYesThe id of the Setting.
requestBodyYes
environmentIdYesThe identifier of the Environment.
bypassApprovalNoWhether to bypass the approval process and directly apply the change. This is only applicable for users with bypass approval permission.
latestVersionIdNoOptional. The version identifier of the last change made to the Feature Flag or Setting in the Environment. It can be used to make sure concurrent updates are not overwriting each other. If provided and the version identifier does not match the current version, the update will be rejected with a 409 Conflict response. The latest version id can be acquired from the `LastVersionId` property of the response models.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavior burden and does disclose partial-update semantics, modifiable fields, and unchanged behavior for omitted fields. However, the worked example is internally inconsistent: the patch sets the value to true but the text and response claim it is set to false, so the disclosed behavior is not fully reliable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action, followed by constraints, rationale, and a detailed example. It is long, but the JSON Patch example is substantial enough to justify the length; the inconsistent example is a content problem rather than a structural one.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation endpoint with no output schema, the description gives a response example, the set of modifiable fields, and the effect of omitted fields, which are important completion gaps. It does not discuss authentication or explicit routing to alternative endpoints, but the schema covers concurrency/approval parameters and the description otherwise provides enough context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 83%, so the schema carries most parameter meaning; the description adds context by showing a concrete JSON Patch request-body example and listing modifiable fields. The value of that addition is reduced by the example's true/false inconsistency.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific statement of what the endpoint does: updates the value of a Feature Flag or Setting in a specified Environment using JSON Patch. It further clarifies the exact modifiable fields and keeps the operation distinct from replace-style siblings by emphasizing patch semantics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains when JSON Patch is advantageous (partial updates without touching unrelated fields) and explicitly notes its use for reordering targeting rules. It does not name alternative sibling tools such as replace-setting-value-v2, but the context for choosing this patch-based endpoint is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-tagB

This endpoint updates a Tag identified by the tagId parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagIdYes
requestBodyYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, and the description does not disclose any behavioral traits such as idempotency, partial update support, or side effects. The description merely states the action without additional context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently communicates the purpose. It is well-structured and front-loaded with the verb and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description should provide more context such as return value, error conditions, or partial update behavior. The current minimal description is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has low coverage (tagId lacks description, requestBody lacks top-level description). The description does not add meaning beyond the schema; it only mentions the tagId parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'updates' and the resource 'Tag', and uniquely identifies it via the 'tagId' parameter. This distinguishes it from sibling tools like 'create-tag' and 'delete-tag'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-webhookA

This endpoint updates a Webhook identified by the webhookId parameter with a collection of JSON Patch operations.

The advantage of using JSON Patch is that you can describe individual update operations on a resource without touching attributes that you don't want to change.

For example: We have the following resource.

{
  "webhookId": 6,
  "url": "https://example.com/hook",
  "httpMethod": "post",
  "content": "null",
  "webHookHeaders": []
}

If we send an update request body as below (it changes the content field and adds a new HTTP header):

[
  {
    "op": "replace", 
    "path": "/content", 
    "value": "Some webhook content."
  }, 
  {
    "op": "add", 
    "path": "/webHookHeaders/-", 
    "value": {
      "key": "X-Custom-Header", 
      "value": "Custom header value"
    }
  }
]

Only the content and webHookHeaders are updated and all the other attributes remain unchanged. So we get a response like this:

{
  "webhookId": 6,
  "url": "https://example.com/hook",
  "httpMethod": "post", 
  "content": "Some webhook content.", 
  "webHookHeaders": [
    {
      "key": "X-Custom-Header", 
      "value": "Custom header value", 
      "isSecure": false
    }
  ]
}
ParametersJSON Schema
NameRequiredDescriptionDefault
webhookIdYesThe identifier of the Webhook.
requestBodyYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It explains the patch behavior and response structure but omits error handling, idempotency, and authorization details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear first sentence and a helpful example, though it could be slightly more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description covers the request structure, patch operations, and example response, but lacks error scenarios or status codes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning beyond the schema by explaining JSON Patch format, providing an example request and response, and clarifying how to use the requestBody parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('updates') and resource ('Webhook identified by the webhookId parameter'), and differentiates from siblings like replace-webhook by specifying the use of JSON Patch for partial updates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the advantage of JSON Patch for partial updates and provides an example, but does not explicitly compare to replace-webhook or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

C2.7/5.0
Disambiguation2/5

The v1/v2 tool pairs (get-setting-value/get-setting-value-v2, replace-setting-value/replace-setting-value-v2, update-setting-value/update-setting-value-v2, etc.) perform essentially the same operations with different response schemas, and no deprecation guidance helps agents choose. Additionally, update-setting vs update-setting-value vs replace-setting-value have subtle boundaries that names alone don't clarify.

Naming Consistency3/5

The dominant pattern is consistent snake_case verb_noun (list-configs, create-environment, update-segment, delete-tag). However, there are notable deviations: list-staleflags lacks a separator, post-setting-values uses 'post' where every other full-replace endpoint uses 'replace', v2 suffixes appear inconsistently, and update-sdk-documentation breaks the resource-based convention entirely.

Tool Count1/5

95 tools is an extreme count, well beyond even the 50+ threshold for a 1. While the ConfigCat Management API is genuinely broad, exposing nearly the entire API surface as individual MCP tools creates an overwhelming selection space for agents, especially with the redundant v1/v2 duplicates inflating the count.

Completeness4/5

The surface covers full CRUD for products, configs, environments, settings, segments, tags, webhooks, integrations, and permission groups, plus a rich change-request lifecycle. Minor gaps exist (no get/update/delete for organizations, no listing of change-request comments, no update/resend for invitations), but core workflows have no dead ends.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/configcat/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server