Skip to main content

sortie-mcp

Campaign orchestration MCP server for AI agents — dependency DAGs, parallel fan-out, failure policies, and embedded notes.

Think make for AI agent workflows, where the LLM is the planner that generates and adapts the DAG at runtime.

Install

pip install sortie-mcp

Or with uv:

uv add sortie-mcp

Quick Start

1. Set up PostgreSQL

sortie-mcp requires PostgreSQL 15+ with pgvector.

export DATABASE_URL="postgresql://user:pass@localhost:5432/mydb"
export SORTIE_SCHEMA="sortie"  # default

2. Run the MCP server

sortie-mcp
# or: python -m sortie_mcp.server

The server runs on stdio transport. Configure it in your MCP client:

{
  "sortie": {
    "command": ["sortie-mcp"],
    "env": {
      "DATABASE_URL": "postgresql://..."
    }
  }
}

3. Run the campaign runner

sortie-runner
# or: python -m sortie_mcp.runner

Add to cron for autonomous operation:

*/15 * * * * /path/to/venv/bin/sortie-runner

Architecture

One MCP server, three perspectives:

  • Coordinator (e.g. a dispatcher agent): create, list, steer, pause/cancel campaigns
  • Worker (specialist agents): get context, add notes, complete/fail steps, spawn subtasks
  • Runner (cron): capacity-aware watchdog that dispatches ready steps and consults the planner LLM

Step Types

Type Description
atomic Single task executed by one agent
parallel_group Fan-out: children run concurrently
sequence Pipeline: each step depends on the previous
for_each Map: apply a template to each item in a list

Key Features

  • DAG splice (spawn_and_continue): agents can split work into subtasks + continuation
  • Branch abort (abort_branch): scoped early return from an ancestor step
  • Skip cascade: transitive propagation through the dependency graph
  • Priority scheduling: urgent / high / normal / low / background
  • Advisory dedup: fingerprinting warns the planner of duplicate steps
  • Depth limits: spawn_and_continue hidden from agents at max depth
  • Embedded notes: pgvector semantic search across campaign findings

Configuration

Env Var Default Description
DATABASE_URL postgresql://localhost/sortie PostgreSQL connection string
SORTIE_SCHEMA sortie Database schema name
SORTIE_MAX_CONCURRENT 4 Max parallel running steps
SORTIE_ZOMBIE_TIMEOUT 30 Minutes before a stuck step is reset
LITELLM_URL http://localhost:4000 LiteLLM proxy URL (for planner)
LITELLM_KEY LiteLLM API key
SORTIE_PLANNER_MODEL qwen3.5:9b Model for the planner LLM
OPENCLAW_RUNTIME_URL http://localhost:3000 Agent runtime API

Development

uv sync
uv run pytest
uv run ruff check .
uv run mypy src tests

License

GPL-3.0-or-later. See LICENSE.

Metadata

Release files for sortie-mcp 0.1.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sortie-mcp 0.1.13
File Size Uploaded Provenance
sortie_mcp-0.1.13.tar.gz 33.6 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sortie-mcp 0.1.13
File Interpreter ABI Platform
sortie_mcp-0.1.13-py3-none-any.whl Python 3 none any Details

Total release size: 58.3 kB

Release files / sortie_mcp-0.1.13.tar.gz

Download URL sortie_mcp-0.1.13.tar.gz
Size 33.6 kB
Tags Source
SHA-256 checksum
How to use checksums
060fb80dca7e5fbdd343c462023dd69844cf186508acf8f14da1ed674b9722de
BLAKE2b-256 checksum
How to use checksums
1b3f0802efb97ee695ae81412868af7984e8c4fd9817b39d87f2444393e1e8bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.

Transparency log

Release files / sortie_mcp-0.1.13-py3-none-any.whl

Download URL sortie_mcp-0.1.13-py3-none-any.whl
Size 24.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6cea1b1be676b2e1b82529e01d52ab529e338d7758b7e5639c20113cd60398d2
BLAKE2b-256 checksum
How to use checksums
85df35466e8f5614006869b83e1499fe25bd1379d974a0296bc1b600b76568b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.

Transparency log

Security for sortie-mcp 0.1.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for sortie_mcp-0.1.13.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.13 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page