# How to integrate Launch darkly MCP with Pydantic AI

```json
{
  "title": "How to integrate Launch darkly MCP with Pydantic AI",
  "toolkit": "Launch darkly",
  "toolkit_slug": "launch_darkly",
  "framework": "Pydantic AI",
  "framework_slug": "pydantic-ai",
  "url": "https://composio.dev/toolkits/launch_darkly/framework/pydantic-ai",
  "markdown_url": "https://composio.dev/toolkits/launch_darkly/framework/pydantic-ai.md",
  "updated_at": "2026-05-12T10:17:14.796Z"
}
```

## Introduction

This guide walks you through connecting Launch darkly to Pydantic AI using the Composio tool router. By the end, you'll have a working Launch darkly agent that can list all environments for your project, retrieve all custom roles for audit, create a trigger workflow for a flag through natural language commands.
This guide will help you understand how to give your Pydantic AI agent real control over a Launch darkly account through Composio's Launch darkly MCP server.
Before we dive in, let's take a quick look at the key ideas and tools involved.

## Also integrate Launch darkly with

- [OpenAI Agents SDK](https://composio.dev/toolkits/launch_darkly/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/launch_darkly/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/launch_darkly/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/launch_darkly/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/launch_darkly/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/launch_darkly/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/launch_darkly/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/launch_darkly/framework/cli)
- [Google ADK](https://composio.dev/toolkits/launch_darkly/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/launch_darkly/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/launch_darkly/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/launch_darkly/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/launch_darkly/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/launch_darkly/framework/crew-ai)

## TL;DR

Here's what you'll learn:
- How to set up your Composio API key and User ID
- How to create a Composio Tool Router session for Launch darkly
- How to attach an MCP Server to a Pydantic AI agent
- How to stream responses and maintain chat history
- How to build a simple REPL-style chat interface to test your Launch darkly workflows

## What is Pydantic AI?

Pydantic AI is a Python framework for building AI agents with strong typing and validation. It leverages Pydantic's data validation capabilities to create robust, type-safe AI applications.
Key features include:
- Type Safety: Built on Pydantic for automatic data validation
- MCP Support: Native support for Model Context Protocol servers
- Streaming: Built-in support for streaming responses
- Async First: Designed for async/await patterns

## What is the Launch darkly MCP server, and what's possible with it?

The Launch darkly MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Launch darkly account. It provides structured and secure access to your feature management platform, so your agent can perform actions like managing feature flag workflows, listing projects, retrieving environments, and reviewing teams or custom roles.
- Automated flag trigger workflows: Set up, modify, or delete flag trigger workflows so your agent can help automate feature releases and rollbacks in specific environments.
- Comprehensive project and environment listing: Instantly retrieve all projects and their environments to help your agent audit, enumerate, or manage deployment contexts.
- Team and role audits: List all teams and custom roles, making it easy for your agent to review permissions, conduct audits, or suggest configuration changes.
- Code reference repository discovery: Pull complete lists of code reference repositories tied to your projects for better traceability and DevOps integration.
- Effortless environment and project management: Quickly access and enumerate environments and projects to streamline workflows and improve operational oversight.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `LAUNCH_DARKLY_ADD_MEMBER_TO_TEAMS` | Add Member to Teams | Tool to add a LaunchDarkly member to one or more teams. Use when you need to grant a member access to specific teams within your organization. |
| `LAUNCH_DARKLY_APPLY_APPROVAL_REQUEST` | Apply Approval Request | Tool to apply an approved approval request in LaunchDarkly. Use when you need to execute changes that have been approved. |
| `LAUNCH_DARKLY_APPLY_APPROVAL_REQUEST_FOR_FLAG` | Apply Approval Request for Flag | Tool to apply an approved approval request for a feature flag in LaunchDarkly. Use when you need to execute changes that have been approved for a specific flag in an environment. |
| `LAUNCH_DARKLY_COPY_FEATURE_FLAG` | Copy Feature Flag | Tool to copy a feature flag's configuration from one environment to another within the same project. Use when you need to replicate flag settings across environments, such as promoting configurations from test to production. |
| `LAUNCH_DARKLY_CREATE_ANNOUNCEMENT_PUBLIC` | Create Announcement | Tool to create a public announcement in LaunchDarkly. Use when you need to notify users about system maintenance, important updates, or critical information. Announcements can be scheduled to appear at specific times and optionally set to auto-expire. |
| `LAUNCH_DARKLY_CREATE_APPROVAL_REQUEST` | Create Approval Request | Tool to create an approval request in LaunchDarkly. Use when you need to request approval for flag changes before they are applied. The request requires a resource ID, description, and a list of instructions in semantic patch format. |
| `LAUNCH_DARKLY_CREATE_APPROVAL_REQUEST_FOR_FLAG` | Create Approval Request for Flag | Tool to create an approval request for a feature flag in LaunchDarkly. Use when you need to request approval for changes to a feature flag before applying them. Approval requests enable workflow controls and review processes for flag changes. |
| `LAUNCH_DARKLY_CREATE_APPROVAL_REQUEST_REVIEW` | Create Approval Request Review | Tool to review an approval request by approving, declining, or commenting on changes. Use when you need to provide feedback or make a decision on a pending approval request in LaunchDarkly. |
| `LAUNCH_DARKLY_CREATE_APPROVAL_REQUEST_REVIEW_FOR_FLAG` | Create Approval Request Review for Flag | Tool to review an approval request for a feature flag by approving, declining, or commenting on the changes. Use when you need to provide feedback or make a decision on a pending flag approval request. |
| `LAUNCH_DARKLY_CREATE_BIG_SEGMENT_EXPORT` | Create Big Segment Export | Tool to create an export for a big segment in LaunchDarkly. Use when you need to export a synced segment or list-based segment with 15,000+ entries. The export ID is returned and can be used to check export status. |
| `LAUNCH_DARKLY_CREATE_BIG_SEGMENT_STORE_INTEGRATION` | Create Big Segment Store Integration | Tool to create a persistent store integration for big segments in LaunchDarkly. Use when you need to set up a new Redis or DynamoDB integration for syncing large list-based segments. This integration is required for server-side SDKs to evaluate segments synced from external tools. |
| `LAUNCH_DARKLY_CREATE_CUSTOM_ROLE` | Create Custom Role | Tool to create a new custom role in LaunchDarkly. Use when you need to define a custom set of permissions for members or teams. The role must have a unique key and at least one policy statement defining the allowed or denied actions. |
| `LAUNCH_DARKLY_CREATE_DESTINATION` | Create Data Export Destination | Tool to create a new Data Export destination for exporting LaunchDarkly event data to external services. Use when you need to set up integrations with services like Kinesis, Google PubSub, Azure Event Hubs, or other supported destinations. |
| `LAUNCH_DARKLY_CREATE_ENVIRONMENT` | Create Environment | Tool to create a new environment within a LaunchDarkly project. Use when you need to add a new environment such as development, staging, or production. |
| `LAUNCH_DARKLY_CREATE_EXPERIMENT` | Create Experiment | Tool to create a new experiment in LaunchDarkly. Use when you need to set up A/B tests or multivariate experiments to measure the impact of feature flag variations on specified metrics. |
| `LAUNCH_DARKLY_CREATE_EXTINCTION` | Create Extinction Events | Tool to create new extinction events for feature flags in LaunchDarkly. Use when you need to record that a feature flag has been removed from the codebase. Extinction events track when flags are no longer referenced in code. |
| `LAUNCH_DARKLY_CREATE_FEATURE_FLAG` | Create Feature Flag | Tool to create a new feature flag in LaunchDarkly. Use when you need to create a feature flag with a name, key, and optional variations. Supports creating both standard and migration flags. |
| `LAUNCH_DARKLY_CREATE_FLAG_CONFIG_SCHEDULED_CHANGES` | Create Flag Scheduled Changes | Tool to create a scheduled changes workflow for a feature flag in LaunchDarkly. Scheduled changes allow you to plan flag configuration updates for a future time. Use when you need to automate flag changes at a specific date/time. |
| `LAUNCH_DARKLY_CREATE_FLAG_COPY_CONFIG_APPROVAL_REQUEST` | Create Flag Copy Config Approval Request | Tool to create an approval request for copying a feature flag's configuration from one environment to another. Use when you need to promote flag settings across environments with approval workflow. |
| `LAUNCH_DARKLY_CREATE_FLAG_IMPORT_CONFIGURATION` | Create Flag Import Configuration | Tool to create a new flag import configuration for importing feature flags from external feature management systems like Split or Unleash. Use when setting up automated flag synchronization from another platform into LaunchDarkly. The config object structure varies by integration key. |
| `LAUNCH_DARKLY_CREATE_FLAG_LINK` | Create Flag Link | Tool to create a new flag link in LaunchDarkly. Flag links connect feature flags to external resources such as documentation, issue trackers (like JIRA), or code repositories. Use when you need to associate a flag with an external URL for tracking or documentation purposes. |
| `LAUNCH_DARKLY_CREATE_HOLDOUT` | Create Holdout | Tool to create a new holdout in LaunchDarkly for experiment control groups. Use when you need to create a holdout to measure the impact of features against a control group. Requires LD-API-Version: beta header. |
| `LAUNCH_DARKLY_CREATE_INTEGRATION_CONFIGURATION` | Create Integration Configuration | Tool to create a new integration configuration in LaunchDarkly. Use when you need to set up automated workflows with external services like Slack, Datadog, Jira, custom webhooks, or other third-party integrations. Note: This endpoint requires the 'LD-API-Version: beta' header which is automatically included. |
| `LAUNCH_DARKLY_CREATE_ITERATION` | Create Experiment Iteration | Tool to create a new iteration for an experiment in LaunchDarkly. Use when you need to set up a new experiment iteration with specific hypothesis, metrics, treatments (variations), and feature flag configurations. |
| `LAUNCH_DARKLY_CREATE_LAYER` | Create Layer | Tool to create a new layer in a LaunchDarkly project. Use when you need to set up a new layer for organizing experiments. |
| `LAUNCH_DARKLY_CREATE_MEMBERS` | Create Members | Tool to invite one or more new members to join a LaunchDarkly account. Use when you need to add new team members. Each member receives an invitation email and must have an email address and either a role or customRoles. |
| `LAUNCH_DARKLY_CREATE_METRIC` | Create Metric | Tool to create a new metric in LaunchDarkly. Use when you need to define a new metric for tracking pageviews, clicks, or custom events in experiments. |
| `LAUNCH_DARKLY_CREATE_METRIC_GROUP` | Create Metric Group | Tool to create a new metric group in LaunchDarkly. Use when you need to organize multiple metrics together for experiments or analysis. Metric groups must contain at least 2 metrics. |
| `LAUNCH_DARKLY_CREATE_MIGRATION_SAFETY_ISSUES` | Create Migration Safety Issues | Tool to check migration safety issues for a feature flag patch. Returns safety issues associated with the provided semantic patch instructions. Use when you need to validate if flag changes will cause migration issues before applying them. |
| `LAUNCH_DARKLY_CREATE_O_AUTH2_CLIENT` | Create OAuth 2.0 Client | Tool to create (register) a LaunchDarkly OAuth 2.0 client. Use when you need to build custom integrations using LaunchDarkly as your identity provider. The client secret is only returned upon creation, so save it securely. |
| `LAUNCH_DARKLY_CREATE_PROJECT` | Create Project | Tool to create a new project with the given key and name. Project keys must be unique within an account. Use when you need to set up a new project in LaunchDarkly. |
| `LAUNCH_DARKLY_CREATE_RELAY_AUTO_CONFIG` | Create Relay Proxy Auto Configuration | Tool to create a new Relay Proxy configuration in LaunchDarkly. Use when you need to set up a new Relay Proxy with specific access policies for environments and projects. The response includes the full configuration key which is only shown once. |
| `LAUNCH_DARKLY_CREATE_RELEASE_FOR_FLAG` | Create Release for Flag | Tool to create a release by adding a flag to a release pipeline in LaunchDarkly. Use when you need to add a feature flag to a release pipeline for progressive rollout across multiple phases. |
| `LAUNCH_DARKLY_CREATE_RELEASE_PIPELINE` | Create Release Pipeline | Tool to create a release pipeline in LaunchDarkly. Release pipelines standardize and automate the feature flag release process across a series of phases. Use when you need to set up a structured rollout process. |
| `LAUNCH_DARKLY_CREATE_RELEASE_POLICY` | Create Release Policy | Tool to create a new release policy for a specified project. Use when you need to set up release automation policies for progressive or guarded rollouts. Requires beta API version header. |
| `LAUNCH_DARKLY_CREATE_REPOSITORY` | Create Repository | Tool to create a code reference repository with the specified name. Use when you need to set up a new repository for code reference scanning in LaunchDarkly. This enables tracking of feature flag usage across your codebase. |
| `LAUNCH_DARKLY_CREATE_SEGMENT` | Create Segment | Tool to create a new segment in LaunchDarkly. Segments are groups of contexts that you can use to manage flag targeting rules. Use when you need to organize users, devices, or other contexts into logical groups for feature flag targeting. |
| `LAUNCH_DARKLY_CREATE_SUBSCRIPTION` | Create Audit Log Subscription | Tool to create a new audit log subscription for forwarding LaunchDarkly audit events to external services. Use when you need to set up integrations with monitoring or logging platforms like Datadog, Splunk, Elastic, or Microsoft Teams to receive real-time audit log notifications. |
| `LAUNCH_DARKLY_CREATE_TEAM` | Create Team | Tool to create a new team in LaunchDarkly. Use when you need to set up a new team for organizing members and managing permissions. To learn more, read Creating a team documentation. |
| `LAUNCH_DARKLY_CREATE_TRIGGER_WORKFLOW` | Create Flag Trigger Workflow | Creates a flag trigger workflow in LaunchDarkly. Flag triggers allow you to automatically toggle feature flags on or off in response to external events (e.g., monitoring alerts from Datadog, Honeycomb, or custom webhooks). The trigger generates a unique URL that can be called to execute the configured flag action. |
| `LAUNCH_DARKLY_CREATE_WEBHOOK` | Create Webhook | Tool to create a new webhook in LaunchDarkly. Use when you need to set up HTTP callbacks to receive notifications about events in your LaunchDarkly environment. |
| `LAUNCH_DARKLY_CREATE_WORKFLOW` | Create Workflow | Tool to create a workflow in LaunchDarkly for automating flag changes. Use when you need to schedule flag changes or set up approval-based flag management. Workflows can execute flag actions based on time schedules or approval conditions. |
| `LAUNCH_DARKLY_CREATE_WORKFLOW_TEMPLATE` | Create Workflow Template | Tool to create a workflow template in LaunchDarkly. Workflow templates provide reusable patterns for common flag change workflows. Use when you need to standardize workflow processes across teams or projects. Either provide an existing workflowId to convert a workflow into a template, or provide stages with flagKey and environmentKey to define a new template from scratch. |
| `LAUNCH_DARKLY_DELETE_ANNOUNCEMENT_PUBLIC` | Delete Announcement | Tool to permanently delete an announcement from LaunchDarkly. Use when you need to remove an announcement that is no longer needed. Once deleted, the announcement cannot be recovered. |
| `LAUNCH_DARKLY_DELETE_APPROVAL_REQUEST` | Delete Approval Request | Tool to delete an approval request in LaunchDarkly. Use when you need to remove a pending or declined approval request. Once deleted, the approval request cannot be recovered. |
| `LAUNCH_DARKLY_DELETE_APPROVAL_REQUEST_FOR_FLAG` | Delete Approval Request for Flag | Permanently deletes an approval request for a feature flag in LaunchDarkly. Approval requests allow teams to review and approve flag changes before they are applied. Once deleted, the approval request cannot be recovered. Ensure you have the correct approval request ID before proceeding. |
| `LAUNCH_DARKLY_DELETE_BIG_SEGMENT_STORE_INTEGRATION` | Delete Big Segment Store Integration | Tool to permanently delete a persistent store integration for big segments. Each integration uses either Redis or DynamoDB. Use when you need to remove a big segment store configuration from an environment. |
| `LAUNCH_DARKLY_DELETE_BRANCHES` | Delete Branches from Code Reference Repository | Asynchronously deletes multiple branches from a LaunchDarkly code reference repository. Use this tool to clean up old or unused branches from your code reference configuration. The operation is asynchronous - branches are queued for deletion rather than deleted immediately. |
| `LAUNCH_DARKLY_DELETE_CUSTOM_ROLE` | Delete Custom Role | Permanently deletes a custom role from LaunchDarkly. Once deleted, the role cannot be recovered and will be removed from all members and teams it was assigned to. Ensure you have the correct role key before proceeding. |
| `LAUNCH_DARKLY_DELETE_DESTINATION` | Delete Data Export Destination | Permanently deletes a Data Export destination from LaunchDarkly. Data Export destinations allow you to export event data to external services. Once deleted, the destination cannot be recovered. Ensure you have the correct destination ID before proceeding. |
| `LAUNCH_DARKLY_DELETE_ENVIRONMENT` | Delete Environment | Tool to permanently delete an environment from a LaunchDarkly project. Once deleted, the environment and its configuration cannot be recovered. Ensure you have the correct project and environment keys before proceeding. |
| `LAUNCH_DARKLY_DELETE_FEATURE_FLAG` | Delete Feature Flag | Tool to permanently delete a feature flag from LaunchDarkly. Use when you need to remove a feature flag that is no longer needed. Once deleted, the flag cannot be recovered. |
| `LAUNCH_DARKLY_DELETE_FLAG_CONFIG_SCHEDULED_CHANGES` | Delete Flag Scheduled Changes | Tool to delete scheduled changes workflow for a feature flag in LaunchDarkly. Scheduled changes allow you to plan flag configuration updates for a future time. Once deleted, the scheduled changes cannot be recovered. |
| `LAUNCH_DARKLY_DELETE_FLAG_IMPORT_CONFIGURATION` | Delete Flag Import Configuration | Tool to delete a flag import configuration by ID. The integration key identifies the feature management system from which the import occurs (e.g., 'split'). This action requires the LD-API-Version: beta header. |
| `LAUNCH_DARKLY_DELETE_FLAG_LINK` | Delete Flag Link | Permanently deletes a flag link from LaunchDarkly. Flag links connect feature flags to external resources or documentation. Once deleted, the link cannot be recovered. Ensure you have the correct link ID before proceeding. |
| `LAUNCH_DARKLY_DELETE_INTEGRATION_CONFIGURATION` | Delete Integration Configuration | Permanently deletes an integration configuration from LaunchDarkly. Integration configurations enable automated workflows with external services like Slack, Datadog, or custom webhooks. Once deleted, the configuration cannot be recovered. |
| `LAUNCH_DARKLY_DELETE_MEMBER` | Delete Account Member | Tool to permanently delete an account member from LaunchDarkly. Use when you need to remove a member's access to the organization. Once deleted, the member will lose all access and need to be re-invited to regain access. |
| `LAUNCH_DARKLY_DELETE_METRIC` | Delete Metric | Tool to permanently delete a metric from LaunchDarkly. Use when you need to remove a metric that is no longer needed. Once deleted, the metric cannot be recovered. |
| `LAUNCH_DARKLY_DELETE_METRIC_GROUP` | Delete Metric Group | Tool to permanently delete a metric group from LaunchDarkly. Use when you need to remove a metric group that is no longer needed. Once deleted, the metric group cannot be recovered. |
| `LAUNCH_DARKLY_DELETE_O_AUTH_CLIENT` | Delete OAuth 2.0 Client | Permanently deletes an OAuth 2.0 client from LaunchDarkly. OAuth 2.0 clients are used for programmatic access to the LaunchDarkly API. Once deleted, the client and its credentials cannot be recovered. Ensure you have the correct client ID before proceeding. |
| `LAUNCH_DARKLY_DELETE_PROJECT` | Delete Project | Tool to permanently delete a project from LaunchDarkly. Once deleted, the project, its environments, feature flags, and all associated data cannot be recovered. Use with caution and ensure you have the correct project key before proceeding. |
| `LAUNCH_DARKLY_DELETE_RELAY_AUTO_CONFIG` | Delete Relay Proxy Auto Configuration | Tool to delete a Relay Proxy auto configuration by ID. Use when you need to permanently remove a relay proxy configuration from LaunchDarkly. Once deleted, the configuration cannot be recovered. |
| `LAUNCH_DARKLY_DELETE_RELEASE_BY_FLAG_KEY` | Delete Release by Flag Key | Tool to delete a release from a feature flag. Use when you need to remove a release associated with a flag in LaunchDarkly. |
| `LAUNCH_DARKLY_DELETE_RELEASE_PIPELINE` | Delete Release Pipeline | Tool to permanently delete a release pipeline from LaunchDarkly. Use when you need to remove a pipeline that is no longer needed. |
| `LAUNCH_DARKLY_DELETE_RELEASE_POLICY` | Delete Release Policy | Tool to permanently delete a release policy from a LaunchDarkly project. Once deleted, the policy cannot be recovered. Requires beta API version header. |
| `LAUNCH_DARKLY_DELETE_REPOSITORY` | Delete Repository | Tool to delete a code reference repository with the specified name. Use when you need to permanently remove a repository from LaunchDarkly's code references system. Once deleted, the repository and its associated data cannot be recovered. |
| `LAUNCH_DARKLY_DELETE_SEGMENT` | Delete Segment | Permanently deletes a segment from LaunchDarkly. Segments are groups of contexts that you can use to manage flag targeting rules. Once deleted, the segment cannot be recovered. Ensure you have the correct segment key before proceeding. |
| `LAUNCH_DARKLY_DELETE_SUBSCRIPTION` | Delete Audit Log Subscription | Tool to permanently delete an audit log subscription in LaunchDarkly. Audit log subscriptions forward LaunchDarkly audit events to external services like Datadog, Splunk, or Microsoft Teams. Once deleted, the subscription cannot be recovered and audit events will no longer be forwarded to that integration endpoint. |
| `LAUNCH_DARKLY_DELETE_TEAM` | Delete Team | Permanently deletes a team from LaunchDarkly organization. Once deleted, the team and its associated settings cannot be recovered. Ensure you have the correct team key before proceeding. |
| `LAUNCH_DARKLY_DELETE_TOKEN` | Delete Access Token | Tool to permanently delete an access token from LaunchDarkly. Once deleted, the token cannot be recovered and any integrations using it will no longer be able to authenticate. |
| `LAUNCH_DARKLY_DELETE_TRIGGER_WORKFLOW` | Delete Flag Trigger Workflow | Permanently deletes a flag trigger workflow from LaunchDarkly. Flag triggers allow you to initiate flag changes remotely using a unique webhook URL. Once deleted, the trigger and its URL cannot be recovered. Ensure you have the correct trigger ID before proceeding. |
| `LAUNCH_DARKLY_DELETE_WEBHOOK` | Delete Webhook | Tool to delete a webhook from LaunchDarkly. Use when you need to remove an existing webhook integration. Once deleted, the webhook and its configuration cannot be recovered. |
| `LAUNCH_DARKLY_DELETE_WORKFLOW` | Delete Workflow | Permanently deletes a workflow from LaunchDarkly. Workflows automate flag changes based on conditions or schedules. Once deleted, the workflow cannot be recovered. Ensure you have the correct workflow ID before proceeding. |
| `LAUNCH_DARKLY_DELETE_WORKFLOW_TEMPLATE` | Delete Workflow Template | Permanently deletes a workflow template from LaunchDarkly. Workflow templates provide reusable patterns for common flag change workflows. Once deleted, the template cannot be recovered. Ensure you have the correct template key before proceeding. |
| `LAUNCH_DARKLY_EVALUATE_CONTEXT_INSTANCE` | Evaluate Context Instance | Tool to evaluate flags for a context instance to determine expected flag variations. **Important:** Do not use this as a replacement for LaunchDarkly SDKs in production applications. SDKs are optimized for flag evaluation at scale and generate analytics events. This API is intended for testing, debugging, or administrative purposes only. |
| `LAUNCH_DARKLY_GENERATE_TRUST_POLICY` | Generate Trust Policy for Data Export | Tool to generate an AWS trust policy for Data Export destinations. Use when you need to create or update IAM trust policies that allow LaunchDarkly to assume roles for exporting data to AWS services. |
| `LAUNCH_DARKLY_GET_ALL_HOLDOUTS` | Get All Holdouts | Tool to retrieve all holdouts for a specific project and environment. Use after confirming project and environment keys to list holdout configurations. |
| `LAUNCH_DARKLY_GET_ALL_INTEGRATION_CONFIGURATIONS` | Get All Integration Configurations | Tool to retrieve all integration configurations for a specific integration key. Use when you need to list or audit configurations for integrations like Slack, Datadog, custom approvals, webhooks, or other third-party services. Excludes persistent store and flag import configurations. |
| `LAUNCH_DARKLY_GET_ALL_RELEASE_PIPELINES` | Get All Release Pipelines | Tool to retrieve all release pipelines for a project. Use when you need to view available release pipelines for feature flag releases. Supports filtering and pagination. |
| `LAUNCH_DARKLY_GET_ALL_WEBHOOKS` | Get All Webhooks | Tool to retrieve all webhooks configured in the LaunchDarkly account. Use when you need to list, audit, or discover existing webhook integrations. |
| `LAUNCH_DARKLY_GET_ANNOUNCEMENTS_PUBLIC` | Get Announcements Public | Tool to retrieve public announcements from LaunchDarkly. Use to get system announcements, maintenance notices, and updates. |
| `LAUNCH_DARKLY_GET_APPLICATIONS` | Get Applications | Tool to retrieve a list of applications in LaunchDarkly. Use to enumerate application keys and metadata. Supports filtering by key, name, kind, and autoAdded status. |
| `LAUNCH_DARKLY_GET_APPLICATION_VERSIONS` | Get Application Versions | Tool to retrieve all versions for a specific application in LaunchDarkly. Use when you need to list version history or check supported versions. |
| `LAUNCH_DARKLY_GET_APPROVAL_FOR_FLAG` | Get Approval for Flag | Tool to get a single approval request for a feature flag in LaunchDarkly. Use when you need detailed information about a specific approval request including its review status, conflicts, and metadata. |
| `LAUNCH_DARKLY_GET_APPROVAL_REQUEST` | Get Approval Request | Tool to get a specific approval request by ID from LaunchDarkly. Use when you need detailed information about a particular approval request. |
| `LAUNCH_DARKLY_GET_APPROVAL_REQUESTS` | Get Approval Requests | Tool to retrieve all approval requests from LaunchDarkly. Use to monitor pending approvals, track approval history, or audit changes requiring approval. |
| `LAUNCH_DARKLY_GET_APPROVAL_REQUEST_SETTINGS` | Get Approval Request Settings | Tool to retrieve approval request settings for a project. Use to understand approval requirements for different resource kinds and environments. Supports filtering by environment and resource kind. |
| `LAUNCH_DARKLY_GET_APPROVALS_FOR_FLAG` | Get Approvals for Flag | Tool to retrieve all approval requests for a specific feature flag in an environment. Use when you need to monitor pending approvals or review approval history for a particular flag. |
| `LAUNCH_DARKLY_GET_AUDIT_LOG_ENTRIES` | Get Audit Log Entries | Tool to get a list of all audit log entries. Use when you need to review account activity, track changes to resources, or audit modifications for compliance purposes. Results can be filtered by date ranges, resource specifiers, or full-text search. |
| `LAUNCH_DARKLY_GET_AUDIT_LOG_ENTRY` | Get Audit Log Entry | Tool to retrieve a single audit log entry by ID. Use when you need to inspect details of a specific audit event. |
| `LAUNCH_DARKLY_GET_BIG_SEGMENT_EXPORT` | Get Big Segment Export | Tool to retrieve a specific big segment export by its ID. Use when you need to check the status or details of a segment export operation. |
| `LAUNCH_DARKLY_GET_BIG_SEGMENT_IMPORT` | Get Big Segment Import | Tool to retrieve the status and details of a big segment import by its ID. Use when you need to check the progress or completion status of an import operation. |
| `LAUNCH_DARKLY_GET_BIG_SEGMENT_STORE_INTEGRATION` | Get Big Segment Store Integration | Tool to retrieve a specific persistent store integration for big segments by its ID. Use when you need to inspect the configuration, status, or details of a big segment store integration. |
| `LAUNCH_DARKLY_GET_BIG_SEGMENT_STORE_INTEGRATIONS` | Get Big Segment Store Integrations | Tool to retrieve all persistent store integrations for big segments. Use when you need to list configured Redis or DynamoDB integrations across all projects and environments. |
| `LAUNCH_DARKLY_GET_BRANCH` | Get Branch | Tool to retrieve branch information from a LaunchDarkly code reference repository. Use to view branch metadata, HEAD commit, sync status, and flag references within the branch. |
| `LAUNCH_DARKLY_GET_CALLER_IDENTITY` | Get Caller Identity | Tool to retrieve basic information about the identity used to authenticate API calls. Use when you need to verify authentication credentials or inspect API token details. |
| `LAUNCH_DARKLY_GET_CONTEXT_ATTRIBUTE_NAMES` | Get Context Attribute Names | Tool to retrieve context attribute names for a project and environment. Use when you need to discover available context attributes grouped by context kind. |
| `LAUNCH_DARKLY_GET_CONTEXT_ATTRIBUTE_VALUES` | Get Context Attribute Values | Tool to retrieve unique values for a specific context attribute within a project environment. Use when you need to discover what values exist for a context attribute, optionally filtered by context kind. |
| `LAUNCH_DARKLY_GET_CONTEXT_INSTANCES` | Get Context Instances | Tool to get context instances for a specific context ID within a project and environment. Use when you need to retrieve context instance data. |
| `LAUNCH_DARKLY_GET_CONTEXT_KINDS_BY_PROJECT_KEY` | Get Context Kinds By Project Key | Tool to retrieve all context kinds for a given project. Use when you need to understand available context kinds for targeting and segmentation. |
| `LAUNCH_DARKLY_GET_CONTEXTS` | Get Contexts | Tool to retrieve context instances from a LaunchDarkly environment by kind and key. Use when you need to get specific context data for analysis or debugging. |
| `LAUNCH_DARKLY_GET_CONTEXTS_CLIENTSIDE_USAGE` | Get Contexts Clientside Usage | Tool to get a detailed time series of context key usages observed by LaunchDarkly in your account, including non-primary context kinds. Use this for breakdowns that go beyond the primary-only aggregation of MAU endpoints. The counts reflect data reported by client-side SDKs. |
| `LAUNCH_DARKLY_GET_CONTEXTS_SERVERSIDE_USAGE` | Get Contexts Serverside Usage | Tool to get detailed time series of context key usages observed by LaunchDarkly in your account, including non-primary context kinds. Use for breakdowns beyond primary-only MAU aggregation. The counts reflect data from server-side SDKs. Maximum time range is 365 days. |
| `LAUNCH_DARKLY_GET_CONTEXTS_TOTAL_USAGE` | Get Contexts Total Usage | Tool to get a detailed time series of the number of context key usages observed by LaunchDarkly in your account, including non-primary context kinds. Use this for breakdowns that go beyond the primary-only aggregation of MAU endpoints. The supported granularity varies by aggregation type, and the maximum time range is 365 days. |
| `LAUNCH_DARKLY_GET_CTX_INSTANCE_SEGMENTS_MEMBERSHIP` | Get Context Instance Segments Membership By Environment | Tool to get segment membership details for a given context instance with attributes. Returns which segments the context belongs to and how (individually targeted or rule-based). Use when you need to understand segment membership for a specific user, organization, or other context type. |
| `LAUNCH_DARKLY_GET_CUSTOM_ROLE` | Get Custom Role | Tool to retrieve a single custom role by key or ID. Use when you need detailed information about a specific role's permissions and policy statements. |
| `LAUNCH_DARKLY_GET_CUSTOM_ROLES` | Get Custom Roles | Tool to retrieve a list of all custom roles. Use when you need to list roles for permissions audits or configuration reviews. Note: results are paginated. |
| `LAUNCH_DARKLY_GET_CUSTOM_WORKFLOW` | Get Custom Workflow | Tool to retrieve details of a specific custom workflow by ID. Use when you need to inspect workflow configuration, stages, execution status, or identify conflicts. |
| `LAUNCH_DARKLY_GET_DATA_EXPORT_EVENTS_USAGE` | Get Data Export Events Usage | Tool to retrieve a time series array showing the number of data export events from your account. Use when you need to analyze data export usage patterns over time. The supported granularity varies by aggregation type. The maximum time range is 365 days. |
| `LAUNCH_DARKLY_GET_DEPENDENT_FLAGS` | Get Dependent Flags | Tool to list dependent feature flags for a specific flag. Use when you need to identify which flags depend on a given feature flag across environments. |
| `LAUNCH_DARKLY_GET_DEPENDENT_FLAGS_BY_ENV` | Get Dependent Flags By Environment | Tool to list dependent flags across all environments for a specified flag. A dependent flag is a flag that uses another flag as a prerequisite. Use when you need to understand flag dependencies. |
| `LAUNCH_DARKLY_GET_DESTINATION` | Get Data Export Destination | Tool to retrieve a specific Data Export destination by ID. Use when you need to inspect the configuration details of a destination. |
| `LAUNCH_DARKLY_GET_DESTINATIONS` | Get Data Export Destinations | Tool to retrieve all Data Export destinations configured across all projects and environments. Use when you need to list, audit, or discover available data export destinations. |
| `LAUNCH_DARKLY_GET_ENVIRONMENT` | Get Environment | Tool to retrieve a specific environment by project key and environment key. Use when you need detailed information about an environment's configuration and settings. |
| `LAUNCH_DARKLY_GET_ENVIRONMENTS` | Get Environments | Tool to retrieve a list of all environments within a project. Use after confirming the project key; supports pagination. |
| `LAUNCH_DARKLY_GET_EVALUATIONS_USAGE` | Get Evaluations Usage | Tool to get time-series arrays of flag evaluation counts, broken down by variation. Use when analyzing flag usage patterns over time. Granularity is automatic: minutely data within 2 hours, hourly within 2 days, otherwise daily. |
| `LAUNCH_DARKLY_GET_EVENTS_USAGE` | Get Events Usage | Tool to get time-series arrays of flag evaluation events. Use when analyzing flag usage patterns or tracking evaluation counts broken down by variation. Granularity varies: minutely for data within 2 hours, hourly for within 2 days, otherwise daily. |
| `LAUNCH_DARKLY_GET_EXPERIMENT` | Get Experiment | Tool to retrieve a specific experiment by project key, environment key, and experiment key. Use when you need detailed information about an experiment's configuration, iterations, and metrics. |
| `LAUNCH_DARKLY_GET_EXPERIMENTATION_EVENTS_USAGE` | Get Experimentation Events Usage | Tool to retrieve a time series array showing the number of experimentation events from your account. Use when analyzing experimentation event usage patterns over time. |
| `LAUNCH_DARKLY_GET_EXPERIMENTATION_KEYS_USAGE` | Get Experimentation Keys Usage | Tool to get a time series showing the number of experimentation keys from your account. Use when you need to track experimentation key usage over time with support for filtering by project, environment, or experiment. Maximum time range is 365 days. |
| `LAUNCH_DARKLY_GET_EXPERIMENTATION_SETTINGS` | Get Experimentation Settings | Tool to retrieve experimentation settings for a project. Use when you need to understand how experiments are configured in a project. |
| `LAUNCH_DARKLY_GET_EXPERIMENTS` | Get Experiments | Tool to retrieve experiments from a project and environment. Use after confirming project and environment keys to enumerate experiments and their configurations. |
| `LAUNCH_DARKLY_GET_EXPIRING_CONTEXT_TARGETS` | Get Expiring Context Targets | Tool to retrieve context targets scheduled for removal from a feature flag. Use when you need to check which targets will be automatically removed. |
| `LAUNCH_DARKLY_GET_EXPIRING_TARGETS_FOR_SEGMENT` | Get Expiring Targets For Segment | Tool to retrieve context targets scheduled for removal from a segment. Use when you need to check which targets will be automatically removed from a segment. |
| `LAUNCH_DARKLY_GET_EXTINCTIONS` | Get Extinctions | Tool to get a list of all extinctions. LaunchDarkly creates an extinction event after you remove all code references to a flag. Use to discover flags that have been removed from your codebase. To learn more, read [About extinction events](https://launchdarkly.com/docs/home/observability/code-references#about-extinction-events). |
| `LAUNCH_DARKLY_GET_FEATURE_FLAG` | Get Feature Flag | Tool to retrieve a specific feature flag by project key and flag key. Use when you need detailed information about a flag's configuration, variations, and targeting rules. |
| `LAUNCH_DARKLY_GET_FEATURE_FLAGS` | Get Feature Flags | Tool to retrieve a list of all feature flags in a project. Use after confirming project key to enumerate flags and their configurations. |
| `LAUNCH_DARKLY_GET_FEATURE_FLAG_SCHEDULED_CHANGE` | Get Feature Flag Scheduled Change | Tool to retrieve a specific scheduled change for a feature flag. Use when you need details about a scheduled flag update, including execution time and instructions. |
| `LAUNCH_DARKLY_GET_FEATURE_FLAG_STATUS` | Get Feature Flag Status | Tool to retrieve the status of a feature flag. Returns the current status (new, inactive, active, or launched) along with metadata. |
| `LAUNCH_DARKLY_GET_FEATURE_FLAG_STATUS_ACROSS_ENVIRONMENTS` | Get Feature Flag Status Across Environments | Tool to retrieve the status of a feature flag across all environments in a project. Use when you need to check flag status across multiple environments. |
| `LAUNCH_DARKLY_GET_FEATURE_FLAG_STATUSES` | Get Feature Flag Statuses | Tool to retrieve status information for all feature flags in a project environment. The status includes last request time and state (new, active, inactive, or launched). |
| `LAUNCH_DARKLY_GET_FLAG_CONFIG_SCHEDULED_CHANGES` | Get Flag Scheduled Changes | Tool to retrieve scheduled changes for a feature flag. Use when you need to see planned configuration updates for a flag in a specific environment. |
| `LAUNCH_DARKLY_GET_FLAG_DEFAULTS_BY_PROJECT` | Get Flag Defaults by Project | Tool to retrieve flag defaults for a specific project. Use when you need to understand the default configuration settings applied to new flags in a project. |
| `LAUNCH_DARKLY_GET_FLAG_FOLLOWERS` | Get Flag Followers | Tool to retrieve followers of a flag in a project and environment. Use when you need to see which team members are following a specific feature flag for notifications. |
| `LAUNCH_DARKLY_GET_FLAG_IMPORT_CONFIGURATION` | Get Flag Import Configuration | Tool to retrieve a single flag import configuration by project key, integration key, and integration ID. Use when you need to inspect the details of a specific flag import configuration. |
| `LAUNCH_DARKLY_GET_FLAG_IMPORT_CONFIGURATIONS` | Get Flag Import Configurations | Tool to list all flag import configurations. Use to discover existing configurations for importing flags from external feature management systems. This action requires the LD-API-Version: beta header. |
| `LAUNCH_DARKLY_GET_FLAG_LINKS` | Get Flag Links | Tool to retrieve all flag links for a specific feature flag. Flag links connect feature flags to external resources such as documentation, issue trackers, or code repositories. Use when you need to see what external resources are associated with a flag. |
| `LAUNCH_DARKLY_GET_FOLLOWERS_BY_PROJ_ENV` | Get Followers By Project and Environment | Tool to retrieve followers of all flags in a given project and environment. Use when you need to see which team members are following which feature flags. |
| `LAUNCH_DARKLY_GET_HOLDOUT` | Get Holdout | Tool to retrieve a specific holdout experiment by project key, environment key, and holdout key. Use when you need detailed information about a holdout experiment configuration, status, and related experiments. |
| `LAUNCH_DARKLY_GET_INTEGRATION_CONFIGURATION` | Get Integration Configuration | Tool to retrieve a specific integration configuration by ID. Use when you need to inspect the configuration details of an integration with external services like Slack, Datadog, or custom approvals. |
| `LAUNCH_DARKLY_GET_INTEGRATION_DELIVERY_CONFIG_BY_ENV` | Get Integration Delivery Configuration by Environment | Tool to get delivery configurations by environment for feature store integrations. Use when you need to retrieve integration delivery configurations for a specific project and environment. |
| `LAUNCH_DARKLY_GET_IPS` | Get IPs | Tool to retrieve the list of IP ranges used by the LaunchDarkly service. Use to configure firewall rules that allow LaunchDarkly traffic. |
| `LAUNCH_DARKLY_GET_LAYERS` | Get Layers | Tool to retrieve layers for a project. Use when you need to list all layers or filter by experiment key. |
| `LAUNCH_DARKLY_GET_MAU_CLIENTSIDE_USAGE` | Get MAU Clientside Usage | Tool to get a time series of context key usages observed by LaunchDarkly client-side SDKs for the primary context kind. Use when analyzing MAU trends for client applications. The supported granularity varies by aggregation type, and the maximum time range is 365 days. |
| `LAUNCH_DARKLY_GET_MAU_TOTAL_USAGE` | Get MAU Total Usage | Tool to get a time series of the number of context key usages observed by LaunchDarkly in your account, for the primary context kind only. The maximum time range is 365 days. |
| `LAUNCH_DARKLY_GET_MAU_USAGE` | Get MAU Usage | Tool to get a time-series array of monthly active users (MAU) seen by LaunchDarkly from your account. The granularity is always daily. Note: This endpoint is deprecated and does not return information about active context instances after SDK upgrade to contexts. Use for legacy MAU tracking only. |
| `LAUNCH_DARKLY_GET_MAU_USAGE_BY_CATEGORY` | Get MAU Usage By Category | Tool to get time-series arrays of monthly active users (MAU) by category (browser, mobile, or backend). Use when you need historical MAU metrics broken down by user category. Note: This endpoint is deprecated and does not return information about active context instances. |
| `LAUNCH_DARKLY_GET_MEMBER` | Get Account Member | Tool to retrieve detailed information about a specific LaunchDarkly account member. Use when you need to view member details, roles, permissions, or team memberships. |
| `LAUNCH_DARKLY_GET_MEMBERS` | Get Members | Tool to retrieve a list of account members. Use when you need to list members for management, audit, or access control purposes. Supports filtering and pagination. By default, returns the first 20 members. |
| `LAUNCH_DARKLY_GET_METRIC` | Get Metric | Tool to retrieve a specific metric by project key and metric key. Use when you need detailed information about a metric's configuration, experiments, and usage. |
| `LAUNCH_DARKLY_GET_METRIC_GROUP` | Get Metric Group | Tool to retrieve a specific metric group by project key and metric group key. Use when you need detailed information about a metric group's configuration, metrics, and experiments. |
| `LAUNCH_DARKLY_GET_O_AUTH_CLIENT_BY_ID` | Get OAuth 2.0 Client by ID | Tool to retrieve a registered OAuth 2.0 client by its unique client ID. Use when you need to view details about an OAuth client including its name, description, and redirect URI. |
| `LAUNCH_DARKLY_GET_O_AUTH_CLIENTS` | Get OAuth 2.0 Clients | Tool to retrieve all OAuth 2.0 clients registered by your account. Use when you need to list, audit, or manage OAuth clients for API access. |
| `LAUNCH_DARKLY_GET_OBSERVABILITY_ERRORS_USAGE` | Get Observability Errors Usage | Tool to get time-series arrays of the number of observability errors. Supports daily and monthly granularity. Use when you need to analyze error trends over time or monitor observability error counts. |
| `LAUNCH_DARKLY_GET_OBSERVABILITY_LOGS_USAGE` | Get Observability Logs Usage | Tool to retrieve time-series arrays of observability logs usage data. Supports daily and monthly granularity with various aggregation methods. |
| `LAUNCH_DARKLY_GET_OBSERVABILITY_SESSIONS_USAGE` | Get Observability Sessions Usage | Tool to get time-series arrays of the number of observability sessions. Use when analyzing observability usage patterns. Supports 'daily' and 'monthly' granularity. |
| `LAUNCH_DARKLY_GET_OBSERVABILITY_TRACES_USAGE` | Get Observability Traces Usage | Tool to retrieve time-series arrays of observability traces usage data. Supports daily and monthly granularity with various aggregation methods. |
| `LAUNCH_DARKLY_GET_OPENAPI_SPEC` | Get OpenAPI Spec | Tool to retrieve the latest OpenAPI specification for LaunchDarkly's API in JSON format. Use when you need the complete API schema, available endpoints, or integration documentation. |
| `LAUNCH_DARKLY_GET_PROJECT` | Get Project | Tool to retrieve a specific project by project key. Use when you need detailed information about a project's configuration and settings. |
| `LAUNCH_DARKLY_GET_RELAY_PROXY_CONFIG` | Get Relay Proxy Config | Tool to retrieve a single Relay Proxy auto configuration by ID. Use when you need to inspect the details of a specific relay proxy configuration. |
| `LAUNCH_DARKLY_GET_RELAY_PROXY_CONFIGS` | Get Relay Proxy Configs | Tool to retrieve all Relay Proxy configurations in the LaunchDarkly account. Use when you need to list, audit, or manage Relay Proxy configurations. |
| `LAUNCH_DARKLY_GET_RELEASE_BY_FLAG_KEY` | Get Release by Flag Key | Tool to retrieve the currently active release for a feature flag. Use when you need to check release status, phases, and configuration for a specific flag. |
| `LAUNCH_DARKLY_GET_RELEASE_PIPELINE_BY_KEY` | Get Release Pipeline by Key | Tool to retrieve a release pipeline by its key. Use when you need detailed information about a release pipeline's configuration, phases, and settings. |
| `LAUNCH_DARKLY_GET_RELEASE_POLICIES` | Get Release Policies | Tool to retrieve a list of release policies for a specified project. Use when you need to view available release automation policies for progressive or guarded rollouts. Requires beta API version header. |
| `LAUNCH_DARKLY_GET_RELEASE_POLICY` | Get Release Policy | Tool to retrieve a single release policy by its key for a specified project. Use when you need detailed information about a specific release automation policy. Requires beta API version header. |
| `LAUNCH_DARKLY_GET_RELEASE_PROGRESSIONS_FOR_PIPELINE` | Get All Release Progressions for Release Pipeline | Tool to retrieve details on the progression of all releases, across all flags, for a release pipeline. Use when you need to monitor release status, active phases, and completion counts across a pipeline. |
| `LAUNCH_DARKLY_GET_REPOSITORY` | Get Repository | Tool to get a single code reference repository by name. Use when you need to retrieve details about a specific repository configured in LaunchDarkly's code references system. |
| `LAUNCH_DARKLY_GET_ROOT` | Get Root | Tool to retrieve the LaunchDarkly API root resource. Returns hypermedia links to all available API endpoints. |
| `LAUNCH_DARKLY_GET_ROOT_STATISTIC` | Get Root Code Reference Statistic | Tool to get links to code reference repositories for each project. Use to discover which projects have code references enabled. |
| `LAUNCH_DARKLY_GET_SEGMENT` | Get Segment | Tool to retrieve a specific segment by segment key. Use when you need detailed information about a segment's configuration, targeting rules, and members. Segments are groups of contexts that you can use to manage flag targeting rules. |
| `LAUNCH_DARKLY_GET_SEGMENT_MEMBERSHIP_FOR_CONTEXT` | Get Segment Membership For Context | Tool to get big segment membership status for a specific context. Returns whether the context is explicitly included or excluded from the segment. Use when you need to check if a specific user or other context is a member of a big segment. |
| `LAUNCH_DARKLY_GET_SEGMENTS` | Get Segments | Tool to retrieve a list of all segments in a project and environment. Use after confirming project and environment keys to enumerate segments and their configurations. |
| `LAUNCH_DARKLY_GET_SERVICE_CONNECTIONS_USAGE` | Get Service Connections Usage | Tool to get a time series array showing the number of service connection minutes from your account. Use when you need to monitor or analyze service connection usage over time. The supported granularity varies by aggregation type, and the maximum time range is 365 days. |
| `LAUNCH_DARKLY_GET_STATISTICS` | Get Code References Statistics | Tool to retrieve code references statistics for feature flags. Use when you need to understand where flags are referenced in your codebase. |
| `LAUNCH_DARKLY_GET_STREAM_USAGE` | Get Stream Usage | Tool to get time-series data of streaming connections to LaunchDarkly. Returns minutely data for requests within the past 2 hours, hourly data for the last 2 days, and daily data otherwise. |
| `LAUNCH_DARKLY_GET_STREAM_USAGE_BY_SDK_VERSION` | Get Stream Usage By SDK Version | Tool to get time-series data of streaming connections to LaunchDarkly, separated by SDK type and version. Use when you need to analyze connection patterns by SDK version. The granularity varies: minutely data for the past 2 hours, hourly data for the past 2 days, otherwise daily data. |
| `LAUNCH_DARKLY_GET_STREAM_USAGE_SDK_VERSIONS` | Get Stream Usage SDK Versions | Tool to get a list of SDK version objects from LaunchDarkly. Returns all SDKs that have connected from your account in the past 60 days. |
| `LAUNCH_DARKLY_GET_SUBSCRIPTION_BY_ID` | Get Audit Log Subscription by ID | Tool to retrieve a specific audit log subscription by ID. Use when you need to inspect the configuration, status, and details of an existing audit log subscription. |
| `LAUNCH_DARKLY_GET_SUBSCRIPTIONS` | Get Audit Log Subscriptions by Integration | Tool to retrieve all audit log subscriptions for a given integration. Use when you need to list all configured audit log forwarding endpoints for a specific integration type. |
| `LAUNCH_DARKLY_GET_TAGS` | Get Tags | Tool to retrieve a list of tags from LaunchDarkly. Use when you need to view available tags or filter tags by resource type or prefix. |
| `LAUNCH_DARKLY_GET_TEAM` | Get Team | Tool to fetch a specific team by key. Use when you need detailed information about a team's configuration, members, roles, or projects. |
| `LAUNCH_DARKLY_GET_TEAM_MAINTAINERS2` | Get Team Maintainers | Tool to retrieve the list of maintainers for a specific LaunchDarkly team. Use when you need to view which members have been assigned as maintainers for a team. |
| `LAUNCH_DARKLY_GET_TEAM_ROLES` | Get Team Roles | Tool to fetch the custom roles that have been assigned to a team. Use when you need to review team permissions or audit role assignments. |
| `LAUNCH_DARKLY_GET_TOKEN` | Get Access Token | Tool to retrieve detailed information about a specific LaunchDarkly access token by its ID. Use when you need to view token details, permissions, or metadata. |
| `LAUNCH_DARKLY_GET_TOKENS` | Get Tokens | Tool to fetch a list of all access tokens. Use when you need to list tokens for audit, management, or to find token IDs for other operations. Supports pagination and can retrieve tokens for all members with Admin role. |
| `LAUNCH_DARKLY_GET_TRIGGER_WORKFLOW_BY_ID` | Get Flag Trigger by ID | Tool to retrieve details of a specific flag trigger by ID. Use when you need to inspect trigger configuration, status, or execution history. |
| `LAUNCH_DARKLY_GET_TRIGGER_WORKFLOWS` | Get Flag Trigger Workflows | Tool to retrieve all flag triggers for a specific feature flag in an environment. Use when you need to list existing triggers configured for flag automation. |
| `LAUNCH_DARKLY_GET_VERSIONS` | Get Versions | Tool to retrieve LaunchDarkly API version information. Returns the latest API version, list of valid versions, and the version being used for the request. |
| `LAUNCH_DARKLY_GET_WEBHOOK` | Get Webhook | Tool to retrieve a specific webhook by ID. Use when you need to inspect the configuration details of a webhook. |
| `LAUNCH_DARKLY_GET_WORKFLOWS` | Get Workflows | Tool to retrieve workflows for a specific feature flag in an environment. Use when you need to list existing workflows configured for flag workflow automation. |
| `LAUNCH_DARKLY_GET_WORKFLOW_TEMPLATES` | Get Workflow Templates | Tool to retrieve workflow templates belonging to an account. Use when you need to list available templates for workflow automation. |
| `LAUNCH_DARKLY_LIST_BRANCHES` | List Branches in Code Reference Repository | Tool to list branches in a LaunchDarkly code reference repository. Use this to retrieve all branches that have been synced for a specific repository, including their commit information and sync timestamps. |
| `LAUNCH_DARKLY_LIST_CODE_REFERENCE_REPOSITORIES` | List Code Reference Repositories | Lists all code reference repositories configured in LaunchDarkly. Code references allow LaunchDarkly to track where feature flags are used in your codebase. Use this tool to retrieve all connected repositories, optionally filtering by project or flag key. Note: Code references is an Enterprise feature. This endpoint requires write permissions for the code-reference-repository resource. |
| `LAUNCH_DARKLY_LIST_INTEGRATION_DELIVERY_CONFIGURATIONS` | List Integration Delivery Configurations | Tool to list all integration delivery configurations. Use when you need to retrieve all configured integrations for feature store capabilities. |
| `LAUNCH_DARKLY_LIST_METRIC_GROUPS` | List Metric Groups | Tool to retrieve a list of all metric groups in a project. Use when you need to discover available metric groups for experiments or analysis. |
| `LAUNCH_DARKLY_LIST_METRICS` | List Metrics | Tool to retrieve a list of all metrics in a project. Use when you need to discover available metrics for experiments or analysis. |
| `LAUNCH_DARKLY_LIST_PROJECTS` | List Projects | Tool to retrieve a list of all projects. Use after confirming credentials to enumerate project keys and metadata. |
| `LAUNCH_DARKLY_LIST_TEAMS` | List Teams | Fetches one page of teams from LaunchDarkly. Use this tool to retrieve teams for management, audit, or to find team keys for other operations. Supports filtering by name/key and can expand to include member counts, roles, or maintainer information. ONE LaunchDarkly API call is made per invocation. Pagination is caller-driven via the `limit` and `offset` parameters; the response's `has_next_page` and `next_offset` fields tell the caller how to fetch the next page. |
| `LAUNCH_DARKLY_PATCH_APPROVAL_REQUEST_SETTINGS` | Patch Approval Request Settings | Tool to perform a partial update to approval request settings for a project. Use to modify approval requirements for specific environments and resource kinds. Only the fields provided will be updated. |
| `LAUNCH_DARKLY_PATCH_BIG_SEGMENT_STORE_INTEGRATION` | Patch Big Segment Store Integration | Tool to update a persistent store integration for big segments using JSON Patch operations. Use when you need to modify integration settings like name, enabled status, or configuration details. |
| `LAUNCH_DARKLY_PATCH_CUSTOM_ROLE` | Patch Custom Role | Tool to update a custom role's settings using JSON Patch operations. Use when you need to modify role configuration like name, description, or policy statements. |
| `LAUNCH_DARKLY_PATCH_DESTINATION` | Update Data Export Destination | Tool to update a Data Export destination using JSON Patch operations. Use when you need to modify destination settings like enabling/disabling the export, changing the name, or updating configuration. |
| `LAUNCH_DARKLY_PATCH_ENVIRONMENT` | Patch Environment | Tool to update an environment's settings using JSON Patch operations. Use when you need to modify environment configuration like name, color, approval settings, or behavior flags. |
| `LAUNCH_DARKLY_PATCH_EXPERIMENT` | Patch Experiment | Tool to update an experiment using semantic patch format. Use when you need to modify experiment properties like name, description, or manage iterations (start/stop). Requires Content-Type header with domain-model=launchdarkly.semanticpatch. |
| `LAUNCH_DARKLY_PATCH_EXPIRING_TARGETS` | Patch Expiring Targets | Tool to update expiring context targets on a feature flag. Use when you need to add, update, or remove scheduled target expirations. |
| `LAUNCH_DARKLY_PATCH_FEATURE_FLAG` | Patch Feature Flag | Tool to update a feature flag's settings using JSON Patch operations. Use when you need to modify flag configuration like description, name, tags, archived status, or other flag properties. |
| `LAUNCH_DARKLY_PATCH_FLAG_CONFIG_APPROVAL_REQUEST` | Patch Flag Config Approval Request | Tool to perform a partial update to a flag config approval request using semantic patch format. Use when you need to add reviewers to an approval request. Requires special headers: Content-Type with domain-model=launchdarkly.semanticpatch and LD-API-Version: beta. |
| `LAUNCH_DARKLY_PATCH_FLAG_CONFIG_SCHEDULED_CHANGE` | Patch Flag Scheduled Change | Tool to update a scheduled change workflow for a feature flag. Use when you need to modify the execution time or instructions of an existing scheduled change. |
| `LAUNCH_DARKLY_PATCH_FLAG_DEFAULTS_BY_PROJECT` | Patch Flag Defaults By Project | Tool to update flag defaults for a project using JSON Patch operations. Use when you need to modify default settings that apply to new flags created in the project, such as tags, temporary status, boolean variation names, or client-side availability. |
| `LAUNCH_DARKLY_PATCH_FLAG_IMPORT_CONFIGURATION` | Patch Flag Import Configuration | Tool to update a flag import configuration using JSON Patch operations. Use when you need to modify configuration settings like name, tags, or config values. To add to array fields, use '/' where '/0' adds to beginning and '/-' adds to end. |
| `LAUNCH_DARKLY_PATCH_HOLDOUT` | Patch Holdout | Tool to update a LaunchDarkly holdout using semantic patch operations. Use when you need to modify a holdout's name, description, or end the holdout. Requires LD-API-Version: beta header. |
| `LAUNCH_DARKLY_PATCH_MEMBER` | Patch Account Member | Tool to modify an account member's information using JSON Patch operations. Use when you need to update member details like name, role, custom roles, or other member attributes. |
| `LAUNCH_DARKLY_PATCH_MEMBERS` | Patch Members | Tool to perform partial updates to multiple LaunchDarkly account members using semantic patch format. Use when you need to bulk update member roles or attributes. Supports updating specific members by ID or all members matching filter criteria. |
| `LAUNCH_DARKLY_PATCH_METRIC` | Patch Metric | Tool to update a metric's settings using JSON Patch operations. Use when you need to modify metric configuration like description, name, tags, or other properties. |
| `LAUNCH_DARKLY_PATCH_METRIC_GROUP` | Patch Metric Group | Tool to update a metric group's settings using JSON Patch operations. Use when you need to modify metric group configuration like description, name, tags, or other properties. |
| `LAUNCH_DARKLY_PATCH_O_AUTH_CLIENT` | Patch OAuth 2.0 Client | Tool to update an existing OAuth 2.0 client in LaunchDarkly using JSON Patch operations. Use when you need to modify OAuth client details like name, description, or redirect URI. Only 'name', 'description', and 'redirectUri' fields may be patched. |
| `LAUNCH_DARKLY_PATCH_PROJECT` | Update Project | Tool to update a LaunchDarkly project using JSON Patch operations (RFC 6902). Use when you need to modify specific fields of a project such as name, tags, client-side availability settings, or other project configuration. |
| `LAUNCH_DARKLY_PATCH_RELAY_AUTO_CONFIG` | Update Relay Proxy Config | Tool to update a Relay Proxy auto configuration using JSON Patch operations (RFC 6902). Use when you need to modify specific fields of a relay proxy configuration such as name, policy, or other settings. |
| `LAUNCH_DARKLY_PATCH_REPOSITORY` | Patch Repository | Tool to update a code reference repository's settings using JSON Patch operations. Use when you need to modify repository configuration like default branch, enabled status, or URL templates. |
| `LAUNCH_DARKLY_PATCH_SEGMENT` | Patch Segment | Tool to update a segment's settings using JSON Patch operations. Use when you need to modify segment configuration like description, name, tags, included/excluded targets, or targeting rules. |
| `LAUNCH_DARKLY_PATCH_TEAM` | Patch Team | Tool to perform partial updates to a LaunchDarkly team using semantic patch format. Use when you need to update team properties (name, description), manage team members, or modify role attributes. Supports atomic updates with multiple instructions applied together. |
| `LAUNCH_DARKLY_PATCH_TEAMS` | Patch Teams | Tool to perform partial updates to multiple LaunchDarkly teams using semantic patch format. Use when you need to bulk add members to multiple teams at once. Supports adding specific members by ID or all members matching filter criteria to teams. |
| `LAUNCH_DARKLY_PATCH_TOKEN` | Patch Access Token | Tool to update an access token's settings using JSON Patch operations. Use when you need to modify token properties like name, description, role, or custom role IDs. |
| `LAUNCH_DARKLY_PATCH_TRIGGER_WORKFLOW` | Update Flag Trigger | Tool to update a flag trigger using semantic patch operations. Use when you need to enable/disable a trigger or modify its configuration. |
| `LAUNCH_DARKLY_PATCH_WEBHOOK` | Update Webhook | Tool to update a LaunchDarkly webhook using JSON Patch operations (RFC 6902). Use when you need to modify webhook settings such as name, URL, enabled status, tags, or secret. |
| `LAUNCH_DARKLY_PUT_FLAG_DEFAULTS_BY_PROJECT` | Create or Update Flag Defaults by Project | Tool to create or update flag defaults for a specific project. Use when you need to configure default settings that will be applied to new flags created in the project. |
| `LAUNCH_DARKLY_RESET_ENVIRONMENT_MOBILE_KEY` | Reset Environment Mobile Key | Tool to reset the mobile SDK key for a specific environment. Use when you need to generate a new mobile key for security purposes or after a key compromise. |
| `LAUNCH_DARKLY_RESET_ENVIRONMENT_SDK_KEY` | Reset Environment SDK Key | Tool to reset the SDK key for a specific environment. Use when you need to rotate keys for security or revoke access. The new SDK key is returned in the response. |
| `LAUNCH_DARKLY_RESET_RELAY_AUTO_CONFIG` | Reset Relay Proxy Configuration Key | Tool to reset the Relay Proxy configuration key. Use when you need to rotate or regenerate the configuration key for security purposes. The old key will expire immediately by default, or at the time specified in the expiry parameter. |
| `LAUNCH_DARKLY_RESET_TOKEN` | Reset Access Token | Tool to reset a LaunchDarkly access token, generating a new token value. Use when you need to rotate tokens for security or revoke access to the old token. |
| `LAUNCH_DARKLY_SEARCH_AUDIT_LOG_ENTRIES` | Search Audit Log Entries | Search audit log entries in LaunchDarkly. Use to find specific actions, changes, or events by filtering with resource specifiers, date ranges, and full-text search. Resource specifiers follow LaunchDarkly's resource specifier syntax (e.g., 'proj/*' for all projects). |
| `LAUNCH_DARKLY_SEARCH_CONTEXT_INSTANCES` | Search Context Instances | Tool to search for context instances within a project and environment. Use when you need to find and retrieve context instances with filtering and pagination support. |
| `LAUNCH_DARKLY_SEARCH_CONTEXTS` | Search Contexts | Tool to search for contexts in a LaunchDarkly environment with flexible filtering and sorting. Use when you need to find contexts matching specific criteria or patterns. |
| `LAUNCH_DARKLY_TRIGGER_FLAG_IMPORT_JOB` | Trigger Flag Import Job | Tool to trigger a single flag import run for an existing flag import configuration. Use when you need to manually initiate a flag import from an external feature management system. This action requires the LD-API-Version: beta header. |
| `LAUNCH_DARKLY_UPDATE_ANNOUNCEMENT_PUBLIC` | Update Announcement | Tool to update an existing announcement in LaunchDarkly using JSON Patch operations. Use when you need to modify announcement details like title, message, severity, or timing. |
| `LAUNCH_DARKLY_UPDATE_BIG_SEGMENT_CONTEXT_TARGETS` | Update Big Segment Context Targets | Tool to update context targets included or excluded in a big segment. Big segments include larger list-based segments and synced segments. Use this when you need to add or remove specific context targets (users, organizations, etc.) from a big segment's inclusion or exclusion lists. This operation does not support standard segments. |
| `LAUNCH_DARKLY_UPDATE_CONTEXT_FLAG_SETTING` | Update Context Flag Setting | Tool to enable or disable a feature flag for a specific context based on its context kind and key. Use when you need to set a custom flag variation for an individual context (user, organization, device, etc.). The setting value must match the flag's variation type. |
| `LAUNCH_DARKLY_UPDATE_CONTEXT_KIND` | Create or Update Context Kind | Tool to create or update a context kind in a LaunchDarkly project. Use this to define custom context types for feature flag targeting beyond the default user context. |
| `LAUNCH_DARKLY_UPDATE_EXPERIMENTATION_SETTINGS` | Update Experimentation Settings | Tool to update experimentation settings for a project. Use when you need to configure randomization units for experiments in a project. |
| `LAUNCH_DARKLY_UPDATE_FLAG_LINK` | Update Flag Link | Tool to update an existing flag link in LaunchDarkly using JSON Patch operations. Use when you need to modify flag link details like title or description. |
| `LAUNCH_DARKLY_UPDATE_INTEGRATION_CONFIGURATION` | Update Integration Configuration | Tool to update an existing integration configuration in LaunchDarkly using JSON Patch operations. Use when you need to modify integration details like name, enabled status, tags, or configuration values. |
| `LAUNCH_DARKLY_UPDATE_LAYER` | Update Layer | Tool to update a layer using semantic patch instructions. Use when you need to modify layer properties like name, description, or experiment reservations. |
| `LAUNCH_DARKLY_UPDATE_PHASE_STATUS` | Update Phase Status | Tool to update the execution status of a phase in a feature flag release. Use when you need to start, complete, or pause a release phase in LaunchDarkly. |
| `LAUNCH_DARKLY_UPDATE_RELEASE_PIPELINE` | Update Release Pipeline | Tool to update an existing release pipeline in LaunchDarkly. Use when you need to modify pipeline configuration, phases, or metadata. |
| `LAUNCH_DARKLY_UPDATE_RELEASE_POLICIES_ORDER` | Update Release Policies Order | Tool to update the order of existing release policies for a project. Use when you need to change the priority order in which release policies are applied. The first policy in the list has the highest priority. |
| `LAUNCH_DARKLY_UPDATE_RELEASE_POLICY` | Update Release Policy | Tool to update an existing release policy for a specified project. Use when you need to modify release automation policies for progressive or guarded rollouts. Requires beta API version header. |
| `LAUNCH_DARKLY_UPDATE_SUBSCRIPTION` | Update Audit Log Subscription | Tool to update an audit log subscription configuration using JSON Patch operations. Use when you need to modify subscription settings like name, configuration, enable/disable status, tags, or policy statements. |
| `LAUNCH_DARKLY_UPSERT_BRANCH` | Upsert Branch in Code Reference Repository | Tool to upsert (create or update) a branch in a LaunchDarkly code reference repository. Use this to sync branch information including HEAD commit, sync time, and flag references. If the branch exists it will be updated, otherwise it will be created. |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

The Launch darkly MCP server is an implementation of the Model Context Protocol that connects your AI agent to Launch darkly. It provides structured and secure access so your agent can perform Launch darkly operations on your behalf through a secure, permission-based interface.
With Composio's managed implementation, you don't have to create your own developer app. For production, if you're building an end product, we recommend using your own credentials. The managed server helps you prototype fast and go from 0-1 faster.

## Step-by-step Guide

### 1. Prerequisites

Before starting, make sure you have:
- Python 3.9 or higher
- A Composio account with an active API key
- Basic familiarity with Python and async programming

### 1. Getting API Keys for OpenAI and Composio

OpenAI API Key
- Go to the [OpenAI dashboard](https://platform.openai.com/settings/organization/api-keys) and create an API key. You'll need credits to use the models, or you can connect to another model provider.
- Keep the API key safe.
Composio API Key
- Log in to the [Composio dashboard](https://dashboard.composio.dev?utm_source=toolkits&utm_medium=framework_docs).
- Navigate to your API settings and generate a new API key.
- Store this key securely as you'll need it for authentication.

### 2. Install dependencies

Install the required libraries.
What's happening:
- composio connects your agent to external SaaS tools like Launch darkly
- pydantic-ai lets you create structured AI agents with tool support
- python-dotenv loads your environment variables securely from a .env file
```bash
pip install composio pydantic-ai python-dotenv
```

### 3. Set up environment variables

Create a .env file in your project root.
What's happening:
- COMPOSIO_API_KEY authenticates your agent to Composio's API
- USER_ID associates your session with your account for secure tool access
- OPENAI_API_KEY to access OpenAI LLMs
```bash
COMPOSIO_API_KEY=your_composio_api_key_here
USER_ID=your_user_id_here
OPENAI_API_KEY=your_openai_api_key
```

### 4. Import dependencies

What's happening:
- We load environment variables and import required modules
- Composio manages connections to Launch darkly
- MCPServerStreamableHTTP connects to the Launch darkly MCP server endpoint
- Agent from Pydantic AI lets you define and run the AI assistant
```python
import asyncio
import os
from dotenv import load_dotenv
from composio import Composio
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStreamableHTTP

load_dotenv()
```

### 5. Create a Tool Router Session

What's happening:
- We're creating a Tool Router session that gives your agent access to Launch darkly tools
- The create method takes the user ID and specifies which toolkits should be available
- The returned session.mcp.url is the MCP server URL that your agent will use
```python
async def main():
    api_key = os.getenv("COMPOSIO_API_KEY")
    user_id = os.getenv("USER_ID")
    if not api_key or not user_id:
        raise RuntimeError("Set COMPOSIO_API_KEY and USER_ID in your environment")

    # Create a Composio Tool Router session for Launch darkly
    composio = Composio(api_key=api_key)
    session = composio.create(
        user_id=user_id,
        toolkits=["launch_darkly"],
    )
    url = session.mcp.url
    if not url:
        raise ValueError("Composio session did not return an MCP URL")
```

### 6. Initialize the Pydantic AI Agent

What's happening:
- The MCP client connects to the Launch darkly endpoint
- The agent uses GPT-5 to interpret user commands and perform Launch darkly operations
- The instructions field defines the agent's role and behavior
```python
# Attach the MCP server to a Pydantic AI Agent
launch_darkly_mcp = MCPServerStreamableHTTP(url, headers={"x-api-key": COMPOSIO_API_KEY})
agent = Agent(
    "openai:gpt-5",
    toolsets=[launch_darkly_mcp],
    instructions=(
        "You are a Launch darkly assistant. Use Launch darkly tools to help users "
        "with their requests. Ask clarifying questions when needed."
    ),
)
```

### 7. Build the chat interface

What's happening:
- The agent reads input from the terminal and streams its response
- Launch darkly API calls happen automatically under the hood
- The model keeps conversation history to maintain context across turns
```python
# Simple REPL with message history
history = []
print("Chat started! Type 'exit' or 'quit' to end.\n")
print("Try asking the agent to help you with Launch darkly.\n")

while True:
    user_input = input("You: ").strip()
    if user_input.lower() in {"exit", "quit", "bye"}:
        print("\nGoodbye!")
        break
    if not user_input:
        continue

    print("\nAgent is thinking...\n", flush=True)

    async with agent.run_stream(user_input, message_history=history) as stream_result:
        collected_text = ""
        async for chunk in stream_result.stream_output():
            text_piece = None
            if isinstance(chunk, str):
                text_piece = chunk
            elif hasattr(chunk, "delta") and isinstance(chunk.delta, str):
                text_piece = chunk.delta
            elif hasattr(chunk, "text"):
                text_piece = chunk.text
            if text_piece:
                collected_text += text_piece
        result = stream_result

    print(f"Agent: {collected_text}\n")
    history = result.all_messages()
```

### 8. Run the application

What's happening:
- The asyncio loop launches the agent and keeps it running until you exit
```python
if __name__ == "__main__":
    asyncio.run(main())
```

## Complete Code

```python
import asyncio
import os
from dotenv import load_dotenv
from composio import Composio
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStreamableHTTP

load_dotenv()

async def main():
    api_key = os.getenv("COMPOSIO_API_KEY")
    user_id = os.getenv("USER_ID")
    if not api_key or not user_id:
        raise RuntimeError("Set COMPOSIO_API_KEY and USER_ID in your environment")

    # Create a Composio Tool Router session for Launch darkly
    composio = Composio(api_key=api_key)
    session = composio.create(
        user_id=user_id,
        toolkits=["launch_darkly"],
    )
    url = session.mcp.url
    if not url:
        raise ValueError("Composio session did not return an MCP URL")

    # Attach the MCP server to a Pydantic AI Agent
    launch_darkly_mcp = MCPServerStreamableHTTP(url, headers={"x-api-key": COMPOSIO_API_KEY})
    agent = Agent(
        "openai:gpt-5",
        toolsets=[launch_darkly_mcp],
        instructions=(
            "You are a Launch darkly assistant. Use Launch darkly tools to help users "
            "with their requests. Ask clarifying questions when needed."
        ),
    )

    # Simple REPL with message history
    history = []
    print("Chat started! Type 'exit' or 'quit' to end.\n")
    print("Try asking the agent to help you with Launch darkly.\n")

    while True:
        user_input = input("You: ").strip()
        if user_input.lower() in {"exit", "quit", "bye"}:
            print("\nGoodbye!")
            break
        if not user_input:
            continue

        print("\nAgent is thinking...\n", flush=True)

        async with agent.run_stream(user_input, message_history=history) as stream_result:
            collected_text = ""
            async for chunk in stream_result.stream_output():
                text_piece = None
                if isinstance(chunk, str):
                    text_piece = chunk
                elif hasattr(chunk, "delta") and isinstance(chunk.delta, str):
                    text_piece = chunk.delta
                elif hasattr(chunk, "text"):
                    text_piece = chunk.text
                if text_piece:
                    collected_text += text_piece
            result = stream_result

        print(f"Agent: {collected_text}\n")
        history = result.all_messages()

if __name__ == "__main__":
    asyncio.run(main())
```

## Conclusion

You've built a Pydantic AI agent that can interact with Launch darkly through Composio's Tool Router. With this setup, your agent can perform real Launch darkly actions through natural language.
You can extend this further by:
- Adding other toolkits like Gmail, HubSpot, or Salesforce
- Building a web-based chat interface around this agent
- Using multiple MCP endpoints to enable cross-app workflows (for example, Gmail + Launch darkly for workflow automation)
This architecture makes your AI agent "agent-native", able to securely use APIs in a unified, composable way without custom integrations.

## How to build Launch darkly MCP Agent with another framework

- [OpenAI Agents SDK](https://composio.dev/toolkits/launch_darkly/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/launch_darkly/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/launch_darkly/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/launch_darkly/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/launch_darkly/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/launch_darkly/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/launch_darkly/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/launch_darkly/framework/cli)
- [Google ADK](https://composio.dev/toolkits/launch_darkly/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/launch_darkly/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/launch_darkly/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/launch_darkly/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/launch_darkly/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/launch_darkly/framework/crew-ai)

## Related Toolkits

- [Supabase](https://composio.dev/toolkits/supabase) - Supabase is an open-source backend platform offering scalable Postgres databases, authentication, storage, and real-time APIs. It lets developers build modern apps without managing infrastructure.
- [Codeinterpreter](https://composio.dev/toolkits/codeinterpreter) - Codeinterpreter is a Python-based coding environment with built-in data analysis and visualization. It lets you instantly run scripts, plot results, and prototype solutions inside supported platforms.
- [GitHub](https://composio.dev/toolkits/github) - GitHub is a code hosting platform for version control and collaborative software development. It streamlines project management, code review, and team workflows in one place.
- [Ably](https://composio.dev/toolkits/ably) - Ably is a real-time messaging platform for live chat and data sync in modern apps. It offers global scale and rock-solid reliability for seamless, instant experiences.
- [Abuselpdb](https://composio.dev/toolkits/abuselpdb) - Abuselpdb is a central database for reporting and checking IPs linked to malicious online activity. Use it to quickly identify and report suspicious or abusive IP addresses.
- [Alchemy](https://composio.dev/toolkits/alchemy) - Alchemy is a blockchain development platform offering APIs and tools for Ethereum apps. It simplifies building and scaling Web3 projects with robust infrastructure.
- [Algolia](https://composio.dev/toolkits/algolia) - Algolia is a hosted search API that powers lightning-fast, relevant search experiences for web and mobile apps. It helps developers deliver instant, typo-tolerant, and scalable search without complex infrastructure.
- [Anchor browser](https://composio.dev/toolkits/anchor_browser) - Anchor browser is a developer platform for AI-powered web automation. It transforms complex browser actions into easy API endpoints for streamlined web interaction.
- [Apiflash](https://composio.dev/toolkits/apiflash) - Apiflash is a website screenshot API for programmatically capturing web pages. It delivers high-quality screenshots on demand for automation, monitoring, or reporting.
- [Apiverve](https://composio.dev/toolkits/apiverve) - Apiverve delivers a suite of powerful APIs that simplify integration for developers. It's designed for reliability and scalability so you can build faster, smarter applications without the integration headache.
- [Appcircle](https://composio.dev/toolkits/appcircle) - Appcircle is an enterprise-grade mobile CI/CD platform for building, testing, and publishing mobile apps. It streamlines mobile DevOps so teams ship faster and with more confidence.
- [Appdrag](https://composio.dev/toolkits/appdrag) - Appdrag is a cloud platform for building websites, APIs, and databases with drag-and-drop tools and code editing. It accelerates development and iteration by combining hosting, database management, and low-code features in one place.
- [Appveyor](https://composio.dev/toolkits/appveyor) - AppVeyor is a cloud-based continuous integration service for building, testing, and deploying applications. It helps developers automate and streamline their software delivery pipelines.
- [Backendless](https://composio.dev/toolkits/backendless) - Backendless is a backend-as-a-service platform for mobile and web apps, offering database, file storage, user authentication, and APIs. It helps developers ship scalable applications faster without managing server infrastructure.
- [Baserow](https://composio.dev/toolkits/baserow) - Baserow is an open-source no-code database platform for building collaborative data apps. It makes it easy for teams to organize data and automate workflows without writing code.
- [Bench](https://composio.dev/toolkits/bench) - Bench is a benchmarking tool for automated performance measurement and analysis. It helps you quickly evaluate, compare, and track your systems or workflows.
- [Better stack](https://composio.dev/toolkits/better_stack) - Better Stack is a monitoring, logging, and incident management solution for apps and services. It helps teams ensure application reliability and performance with real-time insights.
- [Bitbucket](https://composio.dev/toolkits/bitbucket) - Bitbucket is a Git-based code hosting and collaboration platform for teams. It enables secure repository management and streamlined code reviews.
- [Blazemeter](https://composio.dev/toolkits/blazemeter) - Blazemeter is a continuous testing platform for web and mobile app performance. It empowers teams to automate and analyze large-scale tests with ease.
- [Blocknative](https://composio.dev/toolkits/blocknative) - Blocknative delivers real-time mempool monitoring and transaction management for public blockchains. Instantly track pending transactions and optimize blockchain interactions with live data.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Launch darkly MCP?

With a standalone Launch darkly MCP server, the agents and LLMs can only access a fixed set of Launch darkly tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Launch darkly and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Pydantic AI?

Yes, you can. Pydantic AI fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Launch darkly tools.

### Can I manage the permissions and scopes for Launch darkly while using Tool Router?

Yes, absolutely. You can configure which Launch darkly scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Launch darkly data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
