sortie-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@sortie-mcpcreate a campaign 'data-pipeline' with sequential steps: extract, transform, load"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-mcpOr with uv:
uv add sortie-mcpRelated MCP server: task-orchestrator
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" # default2. Run the MCP server
sortie-mcp
# or: python -m sortie_mcp.serverThe 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.runnerAdd to cron for autonomous operation:
*/15 * * * * /path/to/venv/bin/sortie-runnerArchitecture
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 |
| Single task executed by one agent |
| Fan-out: children run concurrently |
| Pipeline: each step depends on the previous |
| Map: apply a template to each item in a list |
Key Features
DAG splice (
spawn_and_continue): agents can split work into subtasks + continuationBranch abort (
abort_branch): scoped early return from an ancestor stepSkip 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_continuehidden from agents at max depthEmbedded notes: pgvector semantic search across campaign findings
Configuration
Env Var | Default | Description |
|
| PostgreSQL connection string |
|
| Database schema name |
|
| Max parallel running steps |
|
| Minutes before a stuck step is reset |
|
| LiteLLM proxy URL (for planner) |
| LiteLLM API key | |
|
| Model for the planner LLM |
|
| Agent runtime API |
Development
uv sync
uv run pytest
uv run ruff check .
uv run mypy src testsLicense
GPL-3.0-or-later. See LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/retospect/sortie-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server