Landlord
Click on "Deploy 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., "@LandlordCreate a plan for building a user onboarding flow with parallel agents."
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.
Landlord
Parallel Claude agents with contracts, not prompts.
Landlord turns a single natural-language task into a plan of parallel Claude Agent SDK sessions — each bound by a contract (objective, checkpoints, JSON-schema outputs). Tenants that violate their contract get evicted and retried with fresh context. Every checkpoint output is validated against a JSON Schema and a structured LLM judge (via tool-use — no substring matching). Everything runs as an MCP server over stdio, so any MCP client (Claude Code, Cursor, Cline) can drive it.
Why
No API credits required. Drives
claude_agent_sdk.query(), which honorsCLAUDE_CODE_OAUTH_TOKEN. Your Claude Pro/Max subscription runs decompose, tenants, and the judge.Contracts, not prompts. Structured output enforced by JSON Schema + LLM judge on every checkpoint. No "I hope the model said PASS."
Tenants inherit your Claude Code config. Skills,
CLAUDE.md, hooks, user MCP servers — all available inside every tenant viasetting_sources=["user"]andskills="all".5-tool MCP surface —
start_orchestration,approve_plan,get_status,get_artifacts,cancel. That's the whole API.~1,200 LOC runtime, 52 tests. Readable in an afternoon.
60-second install
pip install -e .
claude setup-token # one-time: get your OAuth token
setx CLAUDE_CODE_OAUTH_TOKEN "<paste>" # Windows. Unix: export CLAUDE_CODE_OAUTH_TOKEN=...
claude mcp add -s user landlord landlord-mcpRestart Claude Code. The five Landlord tools become discoverable; ask the model to orchestrate something.
Watch it work
Every tenant's SDK chatter streams to a tailable log:
tail -f ./landlord-output/<job_id>/job.json # orchestration state
tail -f ./landlord-output/<job_id>/<tenant_id>/session.log # tenant model activity
ls ./landlord-output/<job_id>/shared/ # dependency artifactsAuth details
Authenticate against your Claude Pro/Max subscription (no API credits needed):
claude setup-tokenSet the resulting token in your environment:
# Windows (persistent)
setx CLAUDE_CODE_OAUTH_TOKEN "<token>"
# bash/zsh
export CLAUDE_CODE_OAUTH_TOKEN=<token>(Advanced: if you'd rather pay per-token API usage, set ANTHROPIC_API_KEY
instead — the underlying claude-agent-sdk accepts either.)
Related MCP server: AgentTasker MCP Server
Run the MCP server
landlord-mcpThis speaks MCP over stdio. Normally you don't run it directly — you point an MCP
client at it. Easiest is the claude CLI:
claude mcp add -s user landlord <path-to-landlord-mcp-executable>Or add this to ~/.claude.json (user scope) manually:
{
"mcpServers": {
"landlord": {
"command": "landlord-mcp"
}
}
}Restart Claude Code; the five Landlord tools will be discoverable to the model.
Tenant inheritance
Tenants spawned by the orchestrator run as Claude Agent SDK sessions with
setting_sources=["user"] and skills="all". That means each tenant inherits:
All user-level skills (invokable via the
Skilltool)Your user
CLAUDE.md(instructions/preferences)Your user-level MCP servers and hooks
User memory
So a tenant can, for example, invoke /superpowers:writing-plans itself if
your orchestrator decomposes "build feature X" into a tenant that needs to
plan before coding. Per-contract skill allowlisting is a v2 feature; today
it's all-or-nothing.
Tool surface
Tool | Purpose |
| Decompose the prompt into a plan. Returns |
| Approve (or replace with edits) the plan. Launches tenants. |
| Poll overall status plus per-tenant state. |
| Retrieve final artifacts and file listings once the job is done/cancelled. |
| Cancel a running or pending job. |
Configuration
Env var | Default | Purpose |
| — | Required for Pro/Max users (from |
| — | Alternative to OAuth token; pay-per-use API billing. |
|
| Decomposition + judge model. |
|
| Tenant SDK session model. |
|
| Root directory for job outputs. |
|
| Default max retries per tenant. |
Legacy CLI
The old litellm-based CLI is preserved as landlord:
pip install -e ".[legacy]"
landlord "your task"See landlord/legacy/ for source.
Development
pip install -e ".[dev]"
pytestAvailable Tools
5 toolsapprove_planB
Approve (or replace via edits) the plan for job_id and launch tenants.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| edits | No |
cancelC
Cancel a running or pending job.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
get_artifactsB
Return final artifacts and file lists; requires job to be done or cancelled.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
get_statusB
Return current status, plan, and per-tenant states for job_id.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
start_orchestrationA
Decompose the prompt into a plan and return job_id + plan awaiting approval.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| output_dir | No |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.2.0- First observed
approve_plan - First observed
cancel - First observed
get_artifacts - First observed
get_status - First observed
start_orchestration
TDQS
Scored across 5 tools
Each tool has a clear and distinct purpose: starting a job, approving it, cancelling, checking status, and retrieving artifacts. No overlap in functionality.
All tool names follow a consistent verb_noun pattern in snake_case, making the set predictable and easy to navigate.
With 5 tools, the server is well-scoped. Each tool represents a necessary step in the orchestration lifecycle without redundancy.
The tools cover the full lifecycle from start to completion, including approval and cancellation. A missing list-jobs tool is a minor gap but doesn't hinder core workflows.
Maintenance
Related MCP Connectors
Shared memory and mail for your AI agents. Verified with Claude Code; other MCP clients in testing.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
Shared memory MCP server for Claude Code, Codex, Gemini CLI and Cursor. Cited, editable.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server orchestrating local CLI agents (Claude Code, OpenAI Codex, Google Gemini) for cross-validation, second opinions, and persona-driven prompting.18MIT
- AlicenseBqualityCmaintenanceA lightweight stdio-only MCP server that allows AI agents to run multiple tasks (e.g., Python code, HTTP requests, shell commands) in parallel or with dependencies, returning structured results in a single call.247 PyPIMIT
- AlicenseAqualityCmaintenanceAn MCP server that gives orchestrator agents fine-grained control over interactive Claude Code sessions running inside tmux, enabling mid-session steering, interruption, and token-efficient result extraction.15MIT
- AlicenseNot gradedqualityDmaintenanceA flexible MCP server enabling multiple Claude AI sessions to coordinate work across machines through shared state management.1MIT