Skip to main content
The Kestrel MCP server exposes workflow management as tools that AI coding agents (Cursor, Claude Desktop, OpenAI Codex, etc.) can call directly. This lets you create, modify, and monitor workflows through conversational AI.

Prerequisites

Install the Kestrel CLI:
Authentication is optional up front. The MCP server starts without credentials and exposes only whoami, register, verify_email, login, and create_api_key; as soon as an API key exists (both verify_email and login create one, named after the connected harness) the full tool set is registered and tools/list_changed is emitted. Credentials live in ~/.kestrel/config.json, so kestrel auth kestrel_sk_... works too if you already have a key. For the end-to-end agent flow with every human step marked, see the Agent Quickstart.

Setup

The MCP server runs as a subcommand of the CLI. Configure your AI tool to run kestrel mcp.

Cursor

Add to ~/.cursor/mcp.json:

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

OpenAI Codex

Add via the Codex CLI:
Or add to ~/.codex/config.toml:
If kestrel isn’t on your PATH, use the full path (e.g., /usr/local/bin/kestrel).

Available Tools

Bootstrap and Status

Available before authentication (bootstrap) and after it (status).

Workflow Management

Workflow Generation

Execution Management

Approval Management

Request Management

Catalog and Integrations

Integration Management

For credential safety, prefer the CLI’s interactive hidden prompts for secrets (kestrel integrations connect <name>) over pasting tokens into an agent chat when a human is present.

Client identification

Every request the MCP server makes carries X-Kestrel-Client: mcp/<harness>/<version> from the MCP initialize handshake, and the CLI sends cli (or cli/agent/<name> when KESTREL_AGENT is set). Kestrel records this at signup and on every audited action so agent-driven usage is attributable.

Example Conversations

Creating a workflow:
“Create a workflow that triggers when a PagerDuty alert fires, runs K8s RCA, and posts results to #incidents on Slack”
The AI agent calls generate_workflow, reviews the result, then create_workflow and activate_workflow. Checking executions:
“Show me the last 5 failed workflow executions and what went wrong”
The agent calls list_workflows, list_executions, then get_execution for failed ones. Approving a gate:
“Are there any pending approvals? Approve the production deployment one”
The agent calls list_pending_approvals, identifies the right one, and calls approve_step. Connecting an integration:
“Connect our PagerDuty account to Kestrel”
The agent calls list_integrations to find the required credential fields, asks you for the values, then calls connect_integration and verifies with test_integration.