# Horde > Horde is a local Rust daemon that turns one objective into a durable workflow and > coordinates coding agents against a Git repository. Work is recorded in SQLite, so > execution continues after the submitting client disconnects and interrupted runs > resume instead of restarting. Horde is free and open source (Apache-2.0), installs with one command on macOS and Linux, and is driven either from its CLI (`horde`) or from any agent over the Model Context Protocol. It is local-first: there is no hosted service, no account, and no source code leaves the machines you run it on. ## When to use Horde Reach for Horde when a coding task is too large or too long-running for a single agent session and the work must survive a disconnect. - **Multi-step repository work.** An objective needing planning, parallel implementation, and review, integrated onto one branch. Call `submit_task` with an objective and a repo path, then poll `inspect` or `events`. - **Long-running jobs.** Work that outlives a terminal or chat session. State is durable; `resume` restarts interrupted work from where it stopped. - **Coordinating several agents on one repository.** Workers claim exclusive file paths (`claim_paths`), exchange messages (`send_message`/`read_messages`), and share verified artifacts (`put_artifact`/`reuse_artifact`) instead of colliding. - **Driving orchestration from your own agent.** Add the stdio MCP bridge and the full operation set becomes typed tool calls. Do not use Horde for a single-shot edit to a file already open in your editor, or as a hosted API — it runs on the user's own machine and must be installed first. ## How an agent calls it 1. Install: `curl -fsSL https://horde.sh/install | bash` 2. Start the daemon: `horde start` 3. Register the MCP server: `{"mcpServers":{"horde":{"command":"horde","args":["mcp"]}}}` 4. Or call operations directly: `horde call submit_task '{"objective":"...","repo":"/path"}'` The bridge speaks MCP `2024-11-05` over stdio and answers `tools/list` with 115 operations, of which 33 are also available to restricted, task-scoped worker credentials. ## Machine-readable endpoints - [MCP server manifest](https://www.horde.sh/.well-known/mcp.json): transport, install, platforms, and version. Start here. - [Tool catalog](https://www.horde.sh/.well-known/tools.json): all 115 operations with JSON Schema parameters, shaped as function-calling definitions. - [Sitemap](https://www.horde.sh/sitemap.xml): every indexable URL. The MCP discovery file uses Horde’s own metadata format, not an official MCP manifest schema. It advertises only a local stdio transport; there is no remote MCP URL or HTTP handshake. These are static descriptions of Horde, not a service. Horde runs on the user's own machine and is driven over MCP or the CLI; there is no HTTP API to call. Every page is also available as Markdown: send `Accept: text/markdown`, or append `.md` to any path (https://www.horde.sh/docs.md). ## Documentation - [Set up Horde](https://www.horde.sh/docs): Install, run a first task, and connect your own agent over MCP. - [Work in a project](https://www.horde.sh/docs/projects): Create a project, register repositories, grant account and worker access, and connect a project-bound agent. - [Horde MCP and CLI reference](https://www.horde.sh/docs/agents): Connect an agent over MCP, the operation scopes, and the published descriptions of that surface. - [Configure](https://www.horde.sh/docs/configuration): Settings files, executor roles, concurrency, account usage, and credentials. - [Deploy: one parent, one child](https://www.horde.sh/docs/deployment): Connect one child to your Horde parent, send it a task, and retrieve the result. - [Use an existing AX deployment](https://www.horde.sh/docs/deployment/ax): Connect Horde to AX, create project workers, and run tasks with optional Docker and Compose. - [Containers and sandboxes](https://www.horde.sh/docs/deployment/containers): Configure Horde workers on Docker, Kubernetes, E2B, or Daytona. - [Manage a Horde fleet](https://www.horde.sh/docs/deployment/fleet): Add workers, configure startup services, and manage fleet updates and project access. ## About - [About Horde](https://www.horde.sh/about): What Horde is for, how it is built, and who maintains it. - [Contact](https://www.horde.sh/contact): Issue tracker for bugs, email for security reports and everything else. - [Privacy](https://www.horde.sh/privacy): No analytics on the site, no telemetry in the daemon, no source leaves your machine. - [Agent skills](https://github.com/gethamster/horde/tree/main/skills): three installable skills for the Agent Skills Protocol -- `horde` for driving Horde, `horde-templates` for authoring workflow templates, `horde-worker` for agents running inside a task. Install with `npx skills add gethamster/horde`. - [Source code](https://github.com/gethamster/horde): public Apache-2.0 repository. - [Release manifest](https://horde.sh/releases/latest/manifest.json): latest version, artifact URLs, and checksums. - Issues: https://github.com/gethamster/horde/issues - Contact: andrew@tryhamster.com ## Optional - [Install script](https://www.horde.sh/install): redirects to the signed installer for the latest release. - [Release signing key](https://www.horde.sh/release-key.pem): Ed25519 public key, fingerprint at /release-key.hex.