@kud/mcp-harness-fme
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@kud/mcp-harness-fmelist all feature flags in workspace production"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP server for Harness FME (Split.io) — read and toggle feature flags.
Website · Documentation
Features
30 tools — covers workspaces, environments, feature flags, flag definitions, segments, rule-based segments, and change requests.
Kill & restore — instantly kill a flag to force all traffic to the default treatment, or restore it with a single tool call.
Safety guard — every destructive operation (delete, kill, archive, disable) requires
confirm: true, preventing accidental changes.Rule-based segments — create, update, enable, disable, and submit change requests for rule-based segments per environment.
Change request flow — submit segment definition changes with optional approvers for teams that require approval gates.
Zero-config startup — reads
MCP_HARNESS_FME_API_KEYfrom the environment and exits immediately if it is missing.
Related MCP server: Featureflow MCP Server
Install
Add to your MCP client config (see Usage below), or install globally to run manually:
npx --yes @kud/mcp-harness-fme@latestSet the environment variable MCP_HARNESS_FME_API_KEY to your Harness FME API key before starting the server.
Usage
This is a standard stdio MCP server — it works with any MCP client (Claude Desktop, Claude Code, Cursor, Windsurf, Cline, Zed, …). Add it to your client's MCP config:
{
"mcpServers": {
"harness-fme": {
"command": "npx",
"args": ["--yes", "@kud/mcp-harness-fme@latest"],
"env": {
"MCP_HARNESS_FME_API_KEY": "your_api_key"
}
}
}
}Most clients read this mcpServers shape — Claude Desktop's config file, Cursor's .cursor/mcp.json, Windsurf, Cline, and so on. For Claude Code, there's a CLI shortcut:
claude mcp add --transport stdio --scope user harness-fme \
--env MCP_HARNESS_FME_API_KEY=your_api_key \
-- npx --yes @kud/mcp-harness-fme@latestTo enable the get_flag_url deep-link tool, also set two optional keys — add them to the env block above (or as extra --env flags for the CLI). See Configuration for where to find their values.
"env": {
"MCP_HARNESS_FME_API_KEY": "your_api_key",
"MCP_HARNESS_FME_ACCOUNT_ID": "your_account_id",
"MCP_HARNESS_FME_ORG_GUID": "your_org_guid"
}Leave them out and every other tool still works — get_flag_url just reports what's missing.
Available tools
Tool | Description |
| List all FME workspaces in the account |
| List all environments in a workspace |
| List all traffic types in a workspace |
| List rollout status definitions for a workspace |
| List feature flags in a workspace (filter by tag, status, name) |
| Get metadata for a specific feature flag |
| Create a new feature flag for a given traffic type |
| Update a flag's description, tags, owners, or rollout status |
| Permanently delete a feature flag ( |
| Archive a flag, removing it from active use ( |
| Restore a previously archived feature flag |
| Kill a flag in an environment — forces default treatment ( |
| Restore a killed feature flag in an environment |
| List flag targeting rules in an environment |
| Get treatments and targeting rules for a flag in an environment |
| Activate a flag in an environment with treatments and targeting rules — pass |
| Fully replace a flag's targeting rules in an environment — pass |
| Remove a flag's targeting rules from an environment ( |
| Add a segment to a flag treatment via safe read-modify-write (idempotent; avoids full-replace) — pass |
| Build a Harness FME web-UI deep-link for a flag — pass workspace/flag/environment by name or id (needs two |
| List all segments in a workspace (API caps page size at 20) |
| List all rule-based segments in a workspace |
| Get a rule-based segment's workspace-level metadata |
| Create a new rule-based segment in a workspace |
| Permanently delete a rule-based segment ( |
| List rule-based segment definitions in an environment |
| Update a rule-based segment's rules in an environment |
| Activate a rule-based segment in an environment |
| Remove a rule-based segment from an environment ( |
| Submit a change request for a segment definition with optional approval flow |
Configuration
The server reads these environment variables:
Variable | Required? | Used by |
| Required | Every tool — server exits at startup if absent |
| Optional |
|
| Optional |
|
The account ID and org GUID are Harness platform identifiers that the API does not expose, so get_flag_url reads them from env. Grab them once from any flag's URL in the Harness FME web UI:
https://app.harness.io/ng/account/<ACCOUNT_ID>/all/fme/orgs/<ORG_SLUG>/projects/<PROJECT>/org/<ORG_GUID>/ws/<WORKSPACE_ID>/splits/<FLAG_ID>/env/<ENV_ID>/definitionURL segment | Where it goes |
| → |
| → |
| Resolved by |
| Resolved by |
⚠ The URL has two org-ish segments:
/orgs/(plural) is the human slug;/org/(singular) is the GUID you want forMCP_HARNESS_FME_ORG_GUID. Grab the singular one.
With those two set, get_flag_url needs only a workspace, flag, and environment (name or id) — it resolves everything else. Without them, it returns a message telling you what to set, and every other tool works normally.
Development
git clone https://github.com/kud/mcp-harness-fme.git
cd mcp-harness-fme
npm install
npm run dev # run from source with tsx
npm run inspect:dev # MCP Inspector at http://localhost:5173
npm test # vitest
npm run build # compile to dist/Environment variables are documented in Configuration above. All tools are defined in src/index.ts.
📚 Full documentation → mcp-harness-fme/docs
Available Tools
30 toolsadd_segment_to_treatmentA
Add a segment to a specific treatment of a feature flag via read-modify-write — safer than update_flag_definition's full replace, where a dropped field silently removes existing targeting. Idempotent: a no-op if the segment is already on the treatment. For workspaces where list_workspaces reports requiresTitleAndComments: true, pass title (and comment).
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Change title. Required for workspaces with requiresTitleAndComments: true | |
| comment | No | Change comment. Required for workspaces with requiresTitleAndComments: true | |
| segment | Yes | The segment name to add | |
| flag_name | Yes | The feature flag name | |
| treatment | Yes | The treatment name to add the segment to (e.g. 'on') | |
| workspace_id | Yes | The workspace ID | |
| environment_id | Yes | The environment ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present, so description carries full burden. It discloses read-modify-write pattern, idempotency, and safety relative to full replace. Could mention permissions or error handling, but core behaviors are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose and key differentiator. Every sentence provides unique value without repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers behavioral safety, idempotency, and conditional parameters. No output schema, so return value is not described, but overall completeness is high for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds conditional semantics for title and comment (required only when workspace requires them), which adds value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (add), resource (segment to a treatment of a feature flag), and distinguishes from the sibling update_flag_definition by highlighting the read-modify-write safety. Also mentions idempotence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly contrasts with update_flag_definition for safe incremental updates, explains idempotency, and provides conditional guidance on title/comment based on workspace settings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archive_feature_flagA
Archive a feature flag — removes it from active use while preserving history. Subject to OPA policy checks (409 on failure).
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must be true to execute the archive | |
| flag_name | Yes | The feature flag name | |
| workspace_id | Yes | The workspace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the archiving behavior and OPA policy checks, but does not mention auth requirements, reversibility (despite hinting at preservation), or side effects. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action. Every part is informative and there is no waste. Slightly more context could be added, but it is very concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and no annotations, the description covers the purpose, effect, and a failure condition. It is reasonably complete for the complexity, though could mention success response or additional constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning the input schema already provides complete parameter descriptions. The tool description adds no additional meaning beyond what is in 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Archive') and resource ('feature flag'), and clearly states the effect ('removes from active use while preserving history'). This distinguishes it from siblings like 'delete_feature_flag' and 'restore_feature_flag'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions OPA policy checks (409 on failure) which provides some context, but it does not explicitly state when to use this tool versus alternatives like 'delete_feature_flag' or 'unarchive_feature_flag'. No when-not or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_feature_flagC
Create a new feature flag for a given traffic type
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The feature flag name (unique per workspace) | |
| description | No | Optional description | |
| traffic_type | Yes | The traffic type ID or name (e.g. 'user') | |
| workspace_id | Yes | The workspace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description omits critical behavioral details such as whether the operation is destructive, requires specific permissions, or returns the created flag. The agent has no insight into 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence that efficiently communicates the core action. However, it could be slightly more structured without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks information about return values, synchronization, or success/failure behavior. For a creation tool with no output schema, the description should at least hint at what the agent can expect back. The current description is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are described in the input schema. The description adds no additional meaning beyond the schema, meeting the baseline expectation but without enrichment.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and resource 'feature flag', and specifies the key context 'for a given traffic type'. It effectively distinguishes from sibling tools like create_flag_definition or create_rule_based_segment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives (e.g., create_flag_definition). No prerequisites or context provided. The description is minimal and does not help the agent decide between this and related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_flag_definitionA
Create (activate) a feature flag definition in a specific environment with treatments and targeting rules. For workspaces where list_workspaces reports requiresTitleAndComments: true, pass title (and comment) or the API rejects the write with a 400.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Change title. Required for workspaces with requiresTitleAndComments: true | |
| comment | No | Change comment. Required for workspaces with requiresTitleAndComments: true | |
| flag_name | Yes | The feature flag name | |
| definition | Yes | Full flag definition as a JSON string — must include treatments array and defaultRule | |
| workspace_id | Yes | The workspace ID | |
| environment_id | Yes | The environment ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that missing required title/comment causes API rejection with 400 error. Without annotations, the description carries the transparency burden but omits other behaviors like idempotency or response structure. The disclosed behavior is useful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first clearly states the main purpose, and the second adds a critical conditional detail. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the key conditional requirement (title/comment) and the structure of the definition parameter. Given no output schema, it assumes the agent can infer the return value. The 6-parameter tool is sufficiently described for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds significant value beyond the schema's descriptions: explains that 'definition' must be a JSON string including treatments array and defaultRule, and ties 'title'/'comment' to workspace condition. With 100% schema coverage, the description enhances parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates/activates a feature flag definition in a specific environment, distinguishing it from siblings like create_feature_flag (which likely creates the flag itself). The verb 'create (activate)' and resource 'feature flag definition' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to include title and comment parameters based on workspace settings, which is a critical conditional requirement. However, it does not compare against alternatives like update_flag_definition for when to use creation vs update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_rule_based_segmentB
Create a new rule-based segment in a workspace under a specific traffic type
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The segment name (unique per workspace) | |
| description | No | Optional description | |
| traffic_type | Yes | The traffic type ID or name | |
| workspace_id | Yes | The workspace ID |
TDQS
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 'create' but does not disclose behavioral traits such as what happens on creation, required permissions, rate limits, or side effects. Agents lack critical information about the tool's impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core purpose. It is front-loaded with the action and resource, and every word is necessary. No wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 4 parameters (3 required) and no output schema, the description is minimal. It does not explain the return value, post-creation state, or any additional context needed for accurate use. The lack of output schema and annotations makes the description insufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 4 parameters, so the baseline is 3. The description does not add any additional meaning beyond what the schema already provides; it repeats only the parameter names in context. No extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create', the resource 'rule-based segment', and the context 'in a workspace under a specific traffic type'. It distinctly differentiates from sibling tools like 'create_feature_flag' or 'create_flag_definition' 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.
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 'create_rule_based_segment_change_request'. There is no mention of prerequisites, when not to use it, or any context that helps the agent decide to invoke this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_rule_based_segment_change_requestA
Submit a change request for a rule-based segment definition — supports approval flow via approvers
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Change request title | |
| comment | No | Optional comment for the change request | |
| approvers | No | Email addresses of approvers | |
| workspace_id | Yes | The workspace ID | |
| environment_id | Yes | The environment ID or name | |
| operation_type | Yes | Change operation type (e.g. UPDATE) | |
| rule_based_segment | Yes | The segment definition to apply as a JSON string |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description only says 'submit' and 'supports approval flow'. It lacks details on side effects (e.g., pending state), permissions, or what happens after submission. For a mutation tool, more behavioral context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loading the main action and then the approval flow support. It is concise without waste, though it could be slightly more structured (e.g., splitting purpose and behavior).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters and no output schema, the description is too brief. It does not explain what the tool returns (e.g., change request ID), the approval process (e.g., emails sent, pending status), or how to check status. This is insufficient for full understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema describes each parameter. The description adds that the tool is for change requests and approvals, which gives context but does not explain parameter nuances like the format of 'rule_based_segment' or valid 'operation_type' values. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Submit' and the resource 'change request for a rule-based segment definition'. It distinguishes from sibling tools like 'create_rule_based_segment' (direct create) by specifying the approval flow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It mentions 'supports approval flow via approvers', implicitly indicating use when approval is needed. However, it does not explicitly state when not to use this tool or name alternatives like 'update_rule_based_segment_definition'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_feature_flagB
Permanently delete a feature flag from a workspace — irreversible
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must be true to execute the deletion | |
| flag_name | Yes | The feature flag name | |
| workspace_id | Yes | The workspace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It mentions 'irreversible' but omits other important behavioral traits such as side effects on dependents, required 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys the essential information with no unnecessary 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation, the description is too minimal. It lacks context such as what happens to dependent resources (e.g., treatments using the flag), whether deletion is allowed if the flag is active, or any recovery options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description adds no additional meaning beyond what the schema already provides for each parameter. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (permanently delete), the resource (feature flag), the scope (from a workspace), and emphasizes irreversibility. This distinguishes it from sibling tools like archive_feature_flag or kill_feature_flag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., archive_feature_flag for reversible deactivation). The description lacks context about prerequisites or scenarios where deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_flag_definitionA
Remove a feature flag definition from an environment — the flag itself remains, but loses its targeting rules in that environment
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must be true to execute the deletion | |
| flag_name | Yes | The feature flag name | |
| workspace_id | Yes | The workspace ID | |
| environment_id | Yes | The environment ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses a key behavioral trait: the flag remains while targeting rules are removed, which is valuable for agent decision-making. However, it does not specify reversibility, permissions required, or impact on ongoing evaluations, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that precisely conveys the tool's purpose and effect. Every word serves a purpose, and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a delete tool with no output schema and fully documented parameters, the description adequately covers the purpose and outcome. It could be improved by mentioning the destructive nature and the requirement of 'confirm=true', but the schema handles that partially. Overall, it is sufficiently complete for an agent to understand the tool's function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for parameters like 'confirm', 'flag_name', etc. It does not explain the role of 'confirm' in preventing accidental deletion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'Remove' and the resource 'feature flag definition'. It distinguishes this tool from siblings like 'delete_feature_flag' and 'kill_feature_flag' by explaining that the flag itself remains but loses its targeting rules in that environment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating the effect, but it does not explicitly guide the agent on when to use this tool versus alternatives like 'update_flag_definition' or 'delete_feature_flag'. No prerequisites or when-not-to-use conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_rule_based_segmentA
Permanently delete a rule-based segment from a workspace — environment-level configs must be removed separately
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must be true to execute the deletion | |
| segment_name | Yes | The segment name | |
| workspace_id | Yes | The workspace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It says 'Permanently delete' indicating irreversibility, and mentions env config separation. But it does not describe the confirm requirement or potential constraints like segments in use. Lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with a dash, no wasted words. Information is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a delete operation with 3 parameters and no output schema, the description covers the key aspects: what is deleted and the env config caveat. Missing details on confirm requirement and side effects, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema. The description adds no additional parameter context beyond the schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (delete) and resource (rule-based segment from a workspace), distinguishing it from siblings like disable_rule_based_segment_definition and create_rule_based_segment. The note about environment-level configs adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises that environment-level configs must be removed separately, providing a when-not condition. However, it does not explicitly state when to use this tool vs alternatives like disabling segments, nor does it mention prerequisites like confirm=true.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disable_rule_based_segment_definitionA
Disable (remove) a rule-based segment from a specific environment — workspace-level metadata is preserved
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must be true to execute the disable | |
| segment_name | Yes | The segment name | |
| workspace_id | Yes | The workspace ID | |
| environment_id | Yes | The environment ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It discloses that workspace-level metadata is preserved, indicating the action is not a full deletion. However, it does not mention required permissions, side effects on treatments, or the need for confirmation, though confirm is noted in schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the action and key scope. It could be slightly more detailed but remains concise without superfluous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is moderately complete for a tool with 4 parameters and no output schema. It explains the preservation of metadata but does not describe the return value, reversibility, or impact on other environments. The confirm parameter's importance is not emphasized in the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add significant semantic value beyond what the schema already provides for parameters like workspace_id, environment_id, segment_name, and confirm. The confirm parameter's requirement is already explicit in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'disable' and resource 'rule-based segment', specifies the scope 'from a specific environment', and distinguishes from siblings like delete_rule_based_segment by noting that workspace-level metadata is preserved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use disable versus delete or enable. It lacks when-not scenarios or referrals to alternative tools, which is a gap given the presence of siblings like delete_rule_based_segment and enable_rule_based_segment_definition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enable_rule_based_segment_definitionB
Enable (activate) a rule-based segment in a specific environment — creates an empty definition that can then be configured via update
| Name | Required | Description | Default |
|---|---|---|---|
| segment_name | Yes | The segment name | |
| workspace_id | Yes | The workspace ID | |
| environment_id | Yes | The environment ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It states it creates an empty definition, but does not disclose required permissions, side effects (e.g., whether it overwrites existing definitions), or if it's idempotent. For a mutation tool, more behavioral details are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the main action and adds essential context. Every word earns its place, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic purpose and the creation of an empty definition, but lacks details on return values, error conditions, or prerequisites. Given the tool's simplicity and good schema coverage, it is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 any parameter-specific information beyond what the schema provides, but it is not misleading.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Enable (activate)' and the resource 'rule-based segment in a specific environment'. It also adds that it creates an empty definition for later configuration, which clarifies the one-time setup nature. However, it does not explicitly differentiate from siblings like 'create_rule_based_segment', which might also create definitions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to enable a segment and create an empty definition for later update. It mentions 'can then be configured via update', giving context on subsequent steps. But it lacks explicit when-not-to-use or alternatives, such as 'disable_rule_based_segment_definition'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_feature_flagA
Get metadata for a specific feature flag
| Name | Required | Description | Default |
|---|---|---|---|
| flag_name | Yes | The feature flag name | |
| workspace_id | Yes | The workspace ID |
TDQS
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-only operation ('Get'), but does not detail auth requirements, rate limits, or what exactly 'metadata' includes. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words, but lacks structure (e.g., no sectioning or bullet points). Efficient for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (2 params, no output schema, no nested objects), the description is adequate for an agent to understand the tool's purpose, though 'metadata' could be slightly ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters (flag_name, workspace_id) described. The description adds no additional meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get metadata for a specific feature flag' with a specific verb and resource, distinguishing it from list or create tools like list_feature_flags and create_feature_flag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 list_feature_flags for retrieving all flags or get_flag_definition for definitions; no exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_flag_definitionA
Get the targeting rules and treatment definition of a feature flag in a specific environment
| Name | Required | Description | Default |
|---|---|---|---|
| flag_name | Yes | The feature flag name | |
| workspace_id | Yes | The workspace ID | |
| environment_id | Yes | The environment ID or name |
TDQS
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 disclosing behavior. It indicates a read operation via 'Get' but does not mention permissions, mutability, or side effects. Basic but adequate for a simple retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 15-word sentence that is concise and front-loaded with the action and resource. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get tool with no output schema, the description is adequate but vague about what 'targeting rules and treatment definition' entails. It could hint at the response structure or differentiate it from list_flag_definitions. Seems minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter having a brief description. The tool description does not add any additional meaning or context beyond what is already in the schema, so it meets the baseline without enhancing clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'targeting rules and treatment definition of a feature flag', and the context 'in a specific environment'. This distinguishes it from sibling tools like create_flag_definition or list_flag_definitions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that the tool is used to fetch a specific flag definition in a specific environment, but it does not provide explicit guidance on when to use this versus list_flag_definitions or alternative approaches. Usage context is implied but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_flag_urlA
Build a deep-link to a feature flag's definition in the Harness FME web UI. Pass workspace, flag, and environment by name or id — the org slug, project, flag id, and env id are resolved for you. Requires MCP_HARNESS_FME_ACCOUNT_ID and MCP_HARNESS_FME_ORG_GUID env vars on the server (those IDs are not exposed by the API — copy them once from a flag URL in the browser).
| Name | Required | Description | Default |
|---|---|---|---|
| flag | Yes | The feature flag name or GUID | |
| workspace | Yes | The workspace name or ID | |
| environment | Yes | The environment name or ID (e.g. 'Prod') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden. It discloses that names or IDs can be passed, that resolution of IDs occurs, and that specific env vars are required because certain IDs are not API-exposed. This goes beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose succinctly, second provides usage details and prerequisites. No filler words, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description covers purpose, parameters, and prerequisites adequately. It lacks mention of output format or error cases, but for a simple URL builder it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the description adds meaning by stating parameters can be 'name or id' and that resolution happens. This adds value beyond the schema's basic type descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Build a deep-link to a feature flag's definition in the Harness FME web UI.' The verb 'build' and resource 'deep-link to a feature flag's definition' are specific, distinguishing it from sibling tools like get_feature_flag or list_feature_flags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use by specifying required parameters (workspace, flag, environment) and prerequisites (MCP_HARNESS_FME_ACCOUNT_ID and MCP_HARNESS_FME_ORG_GUID env vars). It does not explicitly mention when not to use or alternatives, but context is clear for this URL-building tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rule_based_segmentB
Get a rule-based segment's workspace-level metadata by name
| Name | Required | Description | Default |
|---|---|---|---|
| segment_name | Yes | The segment name | |
| workspace_id | Yes | The workspace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description is the sole source. It states 'get', implying a read-only operation, but does not disclose behavioral traits such as whether the call is safe, if authorization is needed, rate limits, or what happens if the segment doesn't exist. The term 'metadata' is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no unnecessary words. It is front-loaded with the key action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does not explain what 'metadata' includes. It fails to describe the return format, error cases, or required permissions. For a get tool with comprehensive parameter descriptions, the description is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters. The description adds minimal value by noting 'by name', which aligns with the segment_name parameter, but does not provide extra semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'get', the resource 'rule-based segment's workspace-level metadata', and the key identifier 'by name'. This distinguishes it from sibling tools like list, create, delete, etc., which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., list_rule_based_segments). It does not mention prerequisites, when not to use it, or how it differs from other get-like tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kill_feature_flagB
Kill (disable) a feature flag in an environment — forces all traffic to the default treatment
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must be true to execute the kill | |
| flag_name | Yes | The feature flag name | |
| workspace_id | Yes | The workspace ID | |
| environment_id | Yes | The environment ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that killing forces default treatment, but lacks details on reversibility, confirmation necessity (though schema has confirm param), or impact on the flag definition. Insufficient 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with key information, no extraneous words. Very concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 4 params with full schema coverage, the description provides the core purpose but lacks details on post-conditions, prerequisites, or integration with sibling tools. Adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameter meaning beyond 'forces all traffic to default', but schema already documents each parameter adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb (Kill/disable), the resource (feature flag), and the specific effect (forces all traffic to default treatment). It distinguishes from sibling tools like archive or delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 archive_feature_flag or delete_feature_flag. The description does not mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_environmentsA
List all environments in a workspace
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes | The workspace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description lacks disclosure of behavior such as error handling, pagination, ordering, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundancy, efficiently communicates the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and description does not hint at return structure; acceptable for a simple list tool but could be improved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and parameter description is adequate; description adds no extra semantic meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'List' and resource 'environments' with scope 'in a workspace', clearly distinguishing it from sibling tools like list_workspaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states when to use (to list all environments for a workspace) but does not provide exclusions or mention alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_feature_flagsC
List feature flags in a workspace
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter flags by tag (e.g. 'Mobile Suite') | |
| name | No | Filter flags by name (partial match) | |
| limit | No | Number of results to return (max 50) | |
| offset | No | Pagination offset | |
| workspace_id | Yes | The workspace ID | |
| rollout_status_id | No | Filter by rollout status UUID (use list_rollout_statuses to discover valid IDs) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must convey behavior. It only states 'list' which implies read-only, but does not disclose filtering, pagination, or any side effects. The schema provides these details, but the description adds no transparency beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, very concise and front-loaded. However, it is somewhat under-informative and could benefit from additional context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the schema covers all parameters and no output schema exists, the description is minimally adequate. It does not explain return format, default sorting, or pagination behavior, but the schema parameters hint at these. Missing context like what the list contains (summary vs flags' details) limits completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add any additional meaning beyond what the schema already provides for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'feature flags' with scope 'in a workspace'. It distinguishes from sibling tools like get_feature_flag (singular) but does not differentiate from list_flag_definitions or similar list operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 get_feature_flag or list_flag_definitions. There is no mention of prerequisites, recommended use cases, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_flag_definitionsA
List all feature flag definitions (targeting rules) in a specific environment. Full definitions are large; pass summary: true to get name/id only when you just need to locate a flag.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results to return (max 50) | |
| offset | No | Pagination offset | |
| summary | No | Return only name and id per flag instead of full treatment/rule bodies — avoids oversized responses in environments with many flags | |
| workspace_id | Yes | The workspace ID | |
| environment_id | Yes | The environment ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Warns that full definitions are large and that 'summary: true' avoids oversized responses. No annotations provided, so description carries full burden; it addresses size/performance but not auth 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences, front-loaded with action and resource. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Sufficient for a list tool: explains output variability (full vs summary). No output schema provided, but description gives a reasonable expectation. Could mention pagination behavior but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. The description adds value for the 'summary' parameter (purpose and benefit). Other parameters are not elaborated beyond schema, but that is acceptable given full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb ('List') and resource ('feature flag definitions') are stated. The description distinguishes from 'get_flag_definition' (singular) and 'list_feature_flags' (different resource) by specifying scope and the summary option.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on using the 'summary' parameter to reduce payload size when only identifying flags. Does not explicitly list when not to use, but sibling tools provide context for alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_rollout_statusesA
List rollout status definitions for a workspace (e.g. Killed, Permanent, Ramping) — use the returned IDs to filter feature flags by rollout status
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes | The workspace ID |
TDQS
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 a read-only list operation without side effects, which is accurate but does not explicitly state read-only nature, auth needs, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action and resource, then adds a practical usage hint. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 fully covers what the tool does, what it returns, and how to use the results. No additional details are necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3. The description adds value by explaining the purpose of the returned IDs (to filter feature flags) and implicitly links the workspace_id to the context of the workspace.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'List' and the resource 'rollout status definitions for a workspace', provides examples (Killed, Permanent, Ramping), and explains the downstream use of returned IDs. It is distinct from sibling list tools like list_feature_flags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes when to use the tool: to obtain rollout status IDs for filtering feature flags. It does not explicitly state when not to use it or name alternatives, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_rule_based_segment_definitionsB
List rule-based segment definitions in a specific environment
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes | The workspace ID | |
| environment_id | Yes | The environment ID or name |
TDQS
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 the basic action without mentioning pagination, permissions, error handling, or any other behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear sentence with no unnecessary 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with two parameters and no output schema, the description is moderately complete. It does not explain the return format or any additional context needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds no additional meaning beyond the schema, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('list') and resource ('rule-based segment definitions') and clearly scopes to 'a specific environment'. This distinguishes it from siblings like 'list_rule_based_segments' 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.
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 'list_rule_based_segments' or 'list_segments'. It only states the scope but lacks explicit 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_rule_based_segmentsB
List all rule-based segments in a workspace
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results to return | |
| offset | No | Pagination offset | |
| workspace_id | Yes | The workspace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only says 'list', implying a read operation, but fails to mention that results are paginated (see limit/offset parameters) or that 'all' may require multiple requests. No info on authorization 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but under-specified. It front-loads the purpose but omits important details like pagination. Every word is necessary but not sufficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of output schema, the description should explain what the list contains (e.g., segment objects with fields) and how pagination works. It does not address return format, sorting, or how to retrieve all results. Incomplete for practical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all three parameters. The description adds no additional meaning beyond what the schema provides (e.g., limit as 'Number of results to return', workspace_id as 'The workspace ID'). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List', the resource 'rule-based segments', and the scope 'in a workspace'. It distinguishes from sibling tools like 'list_segments' which lists all segments, and 'get_rule_based_segment' which retrieves a single one. The phrase 'all' may imply a complete list, but the 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.
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 alternatives like 'list_segments' or 'get_rule_based_segment'. There is no mention of prerequisites, use cases, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_segmentsC
List all segments in a workspace
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Requested page size. Note: the Harness FME API caps segment pages at 20 — higher values are ignored and at most 20 objects are returned per call. Use offset to page through the rest. | |
| offset | No | Pagination offset | |
| workspace_id | Yes | The workspace ID |
TDQS
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 a simple list operation and does not mention pagination behavior, rate limits, or what is included in the response. The schema includes a note on limit cap, but the description itself adds no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is concise, but could benefit from adding a bit more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 is too terse. It does not explain what is returned (e.g., list of segment IDs, objects) or any pagination details. For a list tool with three parameters, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter having a description. The description adds no additional meaning beyond the schema. Per guidelines, baseline is 3 for high coverage, and no extra value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all segments in a workspace' clearly states the action (list) and resource (segments). However, it does not differentiate from the sibling 'list_rule_based_segments', which could be confused for a subset. The name implies it lists all segments, but the description could be more explicit about scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 siblings like 'list_rule_based_segments'. There are no prerequisites or context about when this is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_traffic_typesB
List all traffic types in a workspace
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes | The workspace ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without any annotations, the description carries the full burden of behavioral disclosure. While 'List' implies a read-only operation, the description does not explicitly confirm it is non-destructive, mention required permissions, or describe potential rate limits or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that immediately conveys the tool's purpose with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and no output schema. The description is adequate but does not describe the response format or what constitutes a 'traffic type,' leaving some ambiguity for an AI agent about the expected output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single parameter with a clear description ('The workspace ID'), so the description adds no additional 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action ('List') and resource ('all traffic types') within a specific scope ('in a workspace'), clearly distinguishing it from sibling tools that deal with flags, segments, and other entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor does it mention any prerequisites, context, or when it should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workspacesA
List all FME workspaces in the account
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results to return | |
| offset | No | Pagination offset |
TDQS
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 says 'List all' but does not disclose pagination behavior via limit/offset parameters, nor any rate limits, ordering, or other behavioral traits. This could mislead an agent into expecting all results in one call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that gets straight to the point. Every word is necessary and there is no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 params, no output schema), the description is somewhat adequate but could be improved by mentioning pagination or the return format to fully inform the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are fully documented in the schema. The description adds no additional meaning beyond the schema, resulting in a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'all FME workspaces in the account', providing a specific action and scope. It distinguishes from sibling tools, which focus on different resources like feature flags and segments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives is provided. The purpose is clear but lacks context for when it should be preferred over others, though no sibling tool directly competes for workspaces.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restore_feature_flagA
Restore (re-enable) a killed feature flag in an environment
| Name | Required | Description | Default |
|---|---|---|---|
| flag_name | Yes | The feature flag name | |
| workspace_id | Yes | The workspace ID | |
| environment_id | Yes | The environment ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses that the tool reverses a kill operation, but with no annotations, more detail would be beneficial (e.g., requires the flag to be killed first, effect on other settings). Still adequate for 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded and clear. No wasted words, though could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks return value or success/error indication (no output schema). For a mutation tool, this is acceptable but not exemplary. Context signals show no additional info.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters, so the description adds no extra meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action (restore/re-enable) on a specific resource (killed feature flag) in a specific context (environment). It directly contrasts with sibling tools like kill_feature_flag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when a feature flag is killed and needs re-enabling) but does not explicitly state when not to use it or mention alternatives. No guidance on 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.
unarchive_feature_flagC
Unarchive a previously archived feature flag, restoring it to active use
| Name | Required | Description | Default |
|---|---|---|---|
| flag_name | Yes | The feature flag name | |
| workspace_id | Yes | The workspace ID |
TDQS
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 does not disclose permissions required, side effects on associated definitions or segments, or whether the flag becomes immediately active. The description is minimal and lacks 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the purpose. It is concise and well-structured, though it could be slightly more detailed without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 required params, no output schema, no annotations), the description is minimally adequate but misses key context such as usage guidelines and behavioral details. It does not fully compensate for missing annotations or distinguish between siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters having descriptions in the schema. The tool description does not add additional meaning about the parameters 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('unarchive') and the resource ('feature flag'), and specifies the outcome ('restoring to active use'). It distinguishes from sibling 'archive_feature_flag' but not from 'restore_feature_flag', which may cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'restore_feature_flag' or prerequisites (e.g., the flag must have been previously archived). The description does not mention 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_feature_flagC
Update a feature flag's description, tags, or owners (partial update)
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags to set — array of {name: string} or plain strings | |
| owners | No | Owners to set — array of {id, type} | |
| flag_name | Yes | The feature flag name | |
| description | No | New description | |
| workspace_id | Yes | The workspace ID | |
| rollout_status_id | No | Rollout status UUID to set (use list_rollout_statuses to discover valid IDs) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It mentions 'partial update' implying PATCH semantics but does not disclose idempotency, authorization needs, side effects, or error scenarios.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core action. However, it could be slightly more precise by including all updatable fields without adding verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 6 parameters and no annotations or output schema, the description is inadequate. It does not explain prerequisites (e.g., flag must exist), return behavior, or the relationship with rollout statuses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters have descriptions. The description adds little beyond listing 'description, tags, or owners', but fails to mention rollout_status_id, which is an important updatable field, thus misleading.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Update a feature flag's description, tags, or owners (partial update)', clearly identifying the verb and resource. However, it omits the rollout_status_id parameter that is present in the schema, making the purpose slightly incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like update_flag_definition or when not to use it. The description lacks any context for selecting this tool among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_flag_definitionA
Fully replace a feature flag definition (treatments, targeting rules) in an environment. For workspaces where list_workspaces reports requiresTitleAndComments: true, pass title (and comment) or the API rejects the write with a 400.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Change title. Required for workspaces with requiresTitleAndComments: true | |
| comment | No | Change comment. Required for workspaces with requiresTitleAndComments: true | |
| flag_name | Yes | The feature flag name | |
| definition | Yes | Complete updated definition as a JSON string — replaces the existing definition | |
| workspace_id | Yes | The workspace ID | |
| environment_id | Yes | The environment ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the replacement behavior and the 400 error for missing title/comment, but does not detail other behavioral traits like 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that frontload the primary purpose and then add a crucial usage condition. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a replacement tool with no output schema, the description omits the return value and the behavior if the flag definition does not exist. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds little beyond the schema. It clarifies that 'definition' includes treatments and targeting rules, but other parameters are not elaborated. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs and nouns: 'Fully replace a feature flag definition (treatments, targeting rules) in an environment.' This clearly distinguishes it from sibling tools like create_flag_definition or get_flag_definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implicit usage context by stating the tool is for full replacement and includes a critical condition about requiresTitleAndComments. However, it does not explicitly list when not to use or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_rule_based_segment_definitionC
Update a rule-based segment definition in an environment (rules, exclusions, matchers)
| Name | Required | Description | Default |
|---|---|---|---|
| definition | Yes | Full segment definition as a JSON string — includes rules, excludedKeys, excludedSegments | |
| segment_name | Yes | The segment name | |
| workspace_id | Yes | The workspace ID | |
| environment_id | Yes | The environment ID or name |
TDQS
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 behavioral disclosure. It only states 'Update' without detailing whether this is a full replacement, any side effects, permission requirements, or reverting changes. This is insufficient for understanding the tool's impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently states the tool's function. It avoids redundancy but could benefit from a slightly more structured format (e.g., listing key behaviors). No waste, but concise is not always complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 required parameters, no output schema, and no annotations, the description should explain the update behavior (e.g., full replacement), success/failure indicators, or prerequisites. It lacks this context, making it insufficient for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 minimal value by mentioning 'rules, exclusions, matchers' which aligns with the definition JSON value described in the schema. The schema already provides equally detailed parameter descriptions, so no significant gain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Update') and resource ('rule-based segment definition'), and mentions the components it updates (rules, exclusions, matchers), which distinguishes it from sibling tools like create, delete, enable/disable. However, it does not explicitly state that it replaces the entire definition, which could be clearer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 its siblings (e.g., create_rule_based_segment, enable_rule_based_segment_definition, etc.). It does not specify prerequisites or alternatives, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
30 tool updates
v1.5.2- First observed
add_segment_to_treatment - First observed
archive_feature_flag - First observed
create_feature_flag - First observed
create_flag_definition - First observed
create_rule_based_segment - First observed
create_rule_based_segment_change_request - First observed
delete_feature_flag - First observed
delete_flag_definition - First observed
delete_rule_based_segment - First observed
disable_rule_based_segment_definition - First observed
enable_rule_based_segment_definition - First observed
get_feature_flag - First observed
get_flag_definition - First observed
get_flag_url - First observed
get_rule_based_segment - First observed
kill_feature_flag - First observed
list_environments - First observed
list_feature_flags - First observed
list_flag_definitions - First observed
list_rollout_statuses - First observed
list_rule_based_segment_definitions - First observed
list_rule_based_segments - First observed
list_segments - First observed
list_traffic_types - First observed
list_workspaces - First observed
restore_feature_flag - First observed
unarchive_feature_flag - First observed
update_feature_flag - First observed
update_flag_definition - First observed
update_rule_based_segment_definition
TDQS
Scored across 30 tools
Most tools have distinct purposes, but potential overlap exists between add_segment_to_treatment and update_flag_definition, and among the various segment list tools (list_segments, list_rule_based_segments, list_rule_based_segment_definitions). Descriptions help clarify, but an agent might still misselect.
All tool names follow a consistent verb_noun pattern in snake_case, e.g., create_feature_flag, list_environments, update_flag_definition. No mixing of conventions.
With 30 tools, the set is slightly over the typical well-scoped range (3-15), but it covers a complex domain (feature flag management with many sub-resources). Each tool seems justified, though some granularity could be reduced.
The tool set provides comprehensive CRUD and lifecycle operations for feature flags, segments, environments, workspaces, and more. Includes advanced operations like rollback, change requests, and deep-links. No obvious gaps for the intended domain.
Maintenance
Related MCP Connectors
Feature flag service for safe rollouts across the Hive agent fleet
LaunchDarkly MCP Pack — wraps the LaunchDarkly REST API v2
Feature flags and kill switches. Turn a shipped feature off in production without a deploy.
- CeligoOAuthcom.celigo
Manage your Celigo integrator.io account: integrations, flows, connections, errors, and jobs.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables interaction with LaunchDarkly's feature flag platform through AI clients. Supports managing feature flags, AI configs, and their variations with operations like create, update, delete, and targeting configuration.56,893 npm27MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to manage Featureflow feature flags, including creating and updating features, controlling feature states across environments, and managing projects, environments, and targeting rules through natural language.225 npmMIT

ConfigCat MCP Serverofficial
AlicenseCqualityAmaintenanceProvides access to ConfigCat's management API for feature flag and configuration management, enabling CRUD operations on entities like feature flags, configs, environments, and products, as well as SDK documentation.95677 npm17MIT- FlicenseNot gradedqualityDmaintenanceEnables AI applications to manage continuous delivery and cloud costs through the Harness platform.2-