Tag any agent, wherever work happens.
Documentation · Website · Blog · Join Cloud waitlist
Why AgentConnect? · Get started · Build your stack · Architecture · Development · Explore
AgentConnect is an open-source platform where teams and AI agents work together across the tools they already use, including Slack, Telegram, Discord, and GitHub. Connect Claude Code, Codex, Gemini CLI, or any ACP-compatible runtime, then start work from a conversation, pull request, issue, webhook, or schedule.
Give each agent a role, then choose the runtime, model, workspace, memory, tools, skills, permissions, and sandbox policy it needs. Agents can call one another while your team follows the work in shared channels and from one console.
A small daemon runs the agents in the environment you operate. One console lets your team configure the fleet, connect channels and triggers, control access, and follow the work they are allowed to see.
AI agents are taking on work across the team, but most still live in individual terminals. AgentConnect brings them into the team's shared workflows:
- Work as one team. Create agents with different roles and let them call on one another, while people follow along in the conversations where the work happens.
- Keep work where it happens. Link agents to bots in Slack, Telegram, and Discord, or to repositories and workflows on GitHub.
- Choose the right agent for every job. Configure each agent's runtime, model, workspace, tools, and machine independently.
- Carry context forward. Give each agent its own memory and skills, and let the team publish reviewed organization knowledge that every agent can find on demand.
- Set clear boundaries. Decide who can see each agent and session, which repositories and tools it may use, and which other agents it may call.
- Stay in control. Self-host the Apache-2.0 stack, run agents in your environment, and change runtimes without locking the team to one vendor.
Pick the path that matches what you want to do.
Start the Web console, Control Plane, Relay, and PostgreSQL with Docker Compose:
git clone https://github.com/agentconnect-md/agentconnect.git
cd agentconnect
docker compose up -d --pull alwaysTo build the images from the checkout instead of pulling the published ones,
run docker compose up -d --build. Every service in compose.yaml carries a
build definition, and the built images take the tags the stack already
references.
Open http://localhost:3000. The default stack listens only on 127.0.0.1,
uses local no-auth mode, and is intended for local evaluation.
Use HTTPS when exposing the console beyond loopback; authentication and daemon
traffic still rely on a secure deployment boundary. The Web console does not,
however, require the secure-context-only crypto.randomUUID() API to mint its
non-secret client request IDs, so browsers without that API can still use the
local evaluation flow.
The Compose stack does not run agent daemons. Add a daemon from the Web console, then run its generated command on each machine that should host agents, workspaces, and runtime credentials.
Past the local stack — sign-in, public URLs, and provider apps — a guided path
helps. Open Claude Code in the checkout and ask it to set up AgentConnect:
.claude/skills/agentconnect-setup
runs those steps as an interactive tutorial and verifies each checkpoint before
moving on. The rest of this section covers the same ground by hand.
To evaluate local sign-in without configuring DNS or TLS, use the optional official Logto overlay and its browser-based Setup Server:
docker compose -f compose.yaml -f compose.logto.yaml up -dContinue with the browser-based local-auth bootstrap in the
@agentconnect.md/setup walkthrough. The
default no-auth Compose command above is unchanged.
For image pinning, production networking, sign-in, secrets, GitHub App setup, and optional Mem0 configuration, see the AgentConnect OSS guide. For a single-IP LAN deployment using bundled Logto with path-prefixed Control Plane and Relay routes, see the Caddy HTTPS guide.
AgentConnect Cloud provides a hosted management console while agents continue running in your environment. Join the Cloud waitlist.
| Layer | Options |
|---|---|
| Agent runtimes | Claude Code, Codex, Gemini CLI, and other ACP-compatible runtimes |
| Channels | Slack, Telegram, Discord, Lark / Feishu, and webchat |
| Triggers | GitHub events, generic webhooks, and schedules |
| Memory | AgentConnect-managed memory, supported runtime-native memory, external providers, or Off |
| Tools and apps | Custom MCP providers and OpenConnector-backed services |
| Knowledge and skills | Reviewed organization knowledge, immutable managed skills, and Git-based skill sources with per-agent enablement |
| Team controls | Organization roles, resource and session visibility, repository access, and directional agent call policies |
| Agent infrastructure | Independent runtime, model, workspace, credentials, and daemon placement per agent |
| Component | Responsibility |
|---|---|
| Daemon | Runs placed agents over local ACP, owns workspaces and session state, maintains direct platform connections and schedules, and sends model-provider traffic directly |
| Relay (optional) | Accepts callback-based ingress and webchat, proxies centrally managed MCP and OpenConnector access, and forwards message ingress directly to the owning daemon without durable storage |
| Control Plane + Web UI | Manages authentication, configuration, placement, permissions, metadata, and observability; stores explicitly approved organization knowledge/skill revisions and otherwise proxies bounded daemon reads on demand |
Live platform messages and ACP update streams stay on the daemon/relay data plane. Apart from explicitly approved organization knowledge and bounded skill bundles, the Control Plane stores coordination metadata—not message bodies, attachment bytes, pending Dream proposals, or ACP session streams. If it is temporarily unavailable, established sessions and daemon-local schedules continue; new assignments and configuration changes resume after reconnection.
See the daemon-centric architecture for the complete message paths, trust boundaries, and failure model.
Development requires Node >= 24.12.0 and pnpm 11. Docker is required for the Control Plane integration tests.
pnpm install
pnpm dev # run all packages in parallel
pnpm build # build all packages
pnpm typecheck # type-check all packages
pnpm lint # lint the workspace
pnpm format:check # check formatting
pnpm test # test all packages
# single package
pnpm --filter @agentconnect.md/daemon dev
pnpm --filter @agentconnect.md/control-plane dev
pnpm --filter @agentconnect.md/web devFor a complete local Control Plane and PostgreSQL development setup, follow the Control Plane quickstart.
This repository is a pnpm workspace. Product packages live under packages/:
| Package | Path | Role |
|---|---|---|
@agentconnect.md/cli |
packages/cli |
Stable agentconnect entry point, daemon lifecycle, and upgrades |
@agentconnect.md/connection |
packages/connection |
Shared WebSocket transport, correlation, backoff, and keepalive |
@agentconnect.md/control-plane |
packages/control-plane |
Orchestration, registry, authentication, and Web UI BFF |
@agentconnect.md/daemon |
packages/daemon |
Edge message processing and agent execution unit |
@agentconnect.md/memory-plugin-mem0 |
packages/memory-plugin-mem0 |
Mem0 Cloud and OSS memory-plugin profiles |
@agentconnect.md/message |
packages/message |
Pure platform message normalization |
@agentconnect.md/protocol |
packages/protocol |
Shared daemon, relay, and Control Plane wire contracts |
@agentconnect.md/relay |
packages/relay |
Callback ingress, webchat, and centralized MCP proxy |
@agentconnect.md/setup |
packages/setup |
Browser-based self-hosting and provider App administration |
@agentconnect.md/web |
packages/web |
Next.js configuration and monitoring console |
- Public documentation
- Self-host AgentConnect OSS
- Architecture and detailed designs
- CLI and daemon lifecycle
- Setup Server
- Daemon configuration
- Config-file secrets
- Product conventions
- Add-on evaluation harness
AgentConnect is available under the Apache License 2.0.
