Tools

Overview

This topic explains how to manage and use tools in AgentControl. Tools are reusable, versioned definitions that let configs trigger actions you define in code. Tools allow large language models (LLMs) to retrieve data or take actions on a user’s behalf. You can customize tools with parameters that define more information for the tool to use. For example, if a tool represents an MCP server, you could include connection information in a custom parameter.

You can attach tools to variations in both completion mode and agent mode. Tools can retrieve data, call external APIs, or support multi-step workflows.

Giving your agents access to tools gives them the ability to call them as instructed or needed. Tool invocation depends on your application and SDK implementation, not on the config mode. All configs share the same tool library, so you can define a tool once and reuse it across multiple configurations.

Tools are in the library’s Tools tab, which provides a central location to maintain consistency across projects.

Use cases for tools

Using tools in AgentControl offers organizational and technical advantages that support consistent, auditable workflows.

With tools, you can:

  • Reuse tools across multiple variations in both completion mode and agent mode.
  • Maintain consistency across projects.
  • Integrate standardized actions into LLM workflows, including with custom parameters.
  • Collect metrics about how often your tools are being executed (for agent graphs, you must collect this information manually)

How configs use tools

After you create a tool, you attach the tool to a config variation, including an agent mode config variation. Like judges, tools do not work independently of configs. You must attach a tool to a variation for it to function.

After you deploy the variation, attached tools are available for the LLM to invoke. You can use tools as a registry to map a given tool to where it’s invoked in your application, or, depending on which provider you use, provide schemas and pass them directly to the invocation.

Judges do not support tools

You cannot attach a tool to a custom judge. To learn more, read Judges.

Managing tools

Tools are in their own tab in the Library.

From the Tools tab, you can browse existing tools or create a new one.

To create a new tool:

  1. Navigate to the Library and select the Tools tab.

  2. Click Create tool. The Tool page appears.

    The Tool page.

    The Tool page.
  3. Enter a Key for the tool. Keys must be alphanumeric and can include underscores and hyphens.

  4. Enter a Description for the tool.

  5. Define the tool Schema, or leave it at its default value.

  6. Specify any custom parameters.

  7. Click Save.

Attach tools to variations

When editing a config variation, you can attach or detach tools, change tool versions, create new tools inline, and explore the tools library.

To manage tools in a variation:

  1. Navigate to the AgentControl page.
  2. Click the name of the config you want to edit.
  3. Select the Variations tab and open the variation you want to manage.
  4. Click + Attach tools. The tools selection menu opens.
  5. Check or clear the box for the tool.

Legacy tools warning

If your variation defines a tools field inside a model or custom parameter, LaunchDarkly treats it as a legacy tools configuration and displays the following banner:

A banner that reads, "This variation uses legacy tools. Adding tools will overwrite the model parameters."
A banner that reads, "This variation uses legacy tools. Adding tools will overwrite the model parameters."

This means:

  • Tools are currently defined as raw JSON in parameters
  • LaunchDarkly does not manage or validate these tools
  • Your application is responsible for passing them to the model provider

If you attach tools using the tools library:

  • LaunchDarkly removes the legacy tools field in parameters
  • Attached tools become the source of truth for the variation
  • The SDK returns tools in a new, structured tools field

This message does not indicate an error. It helps you understand that switching to the tools library replaces the existing parameter-based configuration.