Phantom Autonomous Co-worker

A persistent AI co-worker that runs, remembers, and evolves on its own machine.

Stars
★ 1.5k
Last updated
4mo ago
License
Apache-2.0
Primary language
TypeScript

At a glance

How it runs
Self-hosted serviceMCP serverChat bot
Works with
Universal · cross-platformClaude Code · Claude APIClaude.ai · OpenAI API (Partial support)
Cost
Free tier plus a paid hosted plan
Setup effort
Medium · a few setup steps
You'll need
DockerBunQdrantOllamaShell / CLINetwork accessLocal filesystemMCP Server
Typical use
A software team wants a dedicated VM to post a weekday Slack summary of open pull requests, CI status, and reviews needing attention.
Not a fit if
  • Teams unwilling to give a container root-equivalent Docker daemon access
  • Users who need a fully offline setup with no cloud LLM calls
  • Casual users who only want to try it on a personal laptop

What does this agent do, and when should you use it?

Phantom is a self-hosted AI co-worker that runs as a Bun process on a dedicated workspace rather than on the user’s computer. It accepts work through Slack, Web Chat, Telegram, Email, Webhook, and CLI, and exposes a Streamable HTTP MCP server for clients such as Claude Code. Its memory system uses Qdrant, Ollama, and three vector-memory collections, while SQLite provides local persistence; it can also create and register MCP tools at runtime. After sessions, its six-step evolution process can propose configuration changes and validate them through five gates, with stored versions available for rollback. The recommended Docker deployment mounts the host Docker socket, making a dedicated VM or isolated host the appropriate deployment boundary.

Phantom assembles base prompts, role configuration, evolved configuration, and memory context, then processes channel requests through the Agent Runtime’s query() and hooks. It writes memory into three Qdrant collections, uses Ollama for embeddings, and can perform workloads such as installing software, starting databases, and building services. The agent can create and register dynamic MCP tools that persist across restarts and are exposed through the Streamable HTTP /mcp endpoint. After a session, the self-evolution engine extracts corrections, preferences, and domain facts; proposes targeted configuration changes; and applies approved changes only after constitution, regression, size, drift, and safety validation gates.

  1. A software team wants a dedicated VM to post a weekday Slack summary of open pull requests, CI status, and reviews needing attention.
  2. An engineer wants Claude Code to query a team assistant’s memory, inspect its status, or call dynamic tools through MCP.
  3. A data team needs an agent-hosted database, dataset loading, dashboard, and REST API, then wants that API registered as an MCP tool.
  4. An operations team needs scheduled monitoring of websites or open-source repositories, with changes reported to Slack.
  5. A nontechnical user wants to request a landing page, form, or scheduled report in Slack and receive a shareable authenticated link.

How do you install or deploy this agent?

Recommended Docker setup:

curl -fsSL https://raw.githubusercontent.com/ghostwright/phantom/main/docker-compose.user.yaml -o docker-compose.yaml
curl -fsSL https://raw.githubusercontent.com/ghostwright/phantom/main/.env.example -o .env

Edit .env and provide at least ANTHROPIC_API_KEY. For Slack, also provide Slack tokens and OWNER_SLACK_USER_ID. Then run:

docker compose up -d

This starts Qdrant, pulls the Ollama embedding model, and boots the agent. For development, run bun install, start Qdrant and Ollama, run bun run phantom init --yes, set ANTHROPIC_API_KEY, and run bun run phantom start.

How do you use this agent?

After startup, check http://localhost:3100/health. With Slack configured, send Phantom a task; one documented example is: “Create an MCP token for Claude Code.” To connect Claude Code, first run bun run phantom token create --client claude-code --scope operator—or docker exec phantom bun run phantom token create --client claude-code --scope operator in Docker. Then run claude mcp add phantom https://your-phantom.ghostwright.dev/mcp --transport http --header "Authorization: Bearer YOUR_TOKEN". For local deployments, use http://localhost:3100/mcp as the MCP URL.

What are this agent's strengths and limitations?

Pros
  • Its dedicated-machine model lets the co-worker run services, databases, and containers without placing the agent on the user’s computer.
  • It supports Slack, web chat, Telegram, email, webhooks, CLI, and Streamable HTTP MCP as documented interaction boundaries.
  • Dynamic MCP tools can be created at runtime, retained across restarts, and used by other MCP clients.
  • It documents provider paths for Anthropic, Z.AI, OpenRouter, Ollama, vLLM, LiteLLM, and custom Anthropic Messages API-compatible endpoints.
  • Its evolution workflow includes cross-model judging, minority veto, version storage, and rollback.
Limitations
  • The recommended Docker configuration mounts /var/run/docker.sock; the documentation states that this gives root-equivalent access to the Docker daemon and recommends a dedicated machine or VM.
  • The documented memory and embedding stack depends on Qdrant and Ollama; development setup also requires Bun, Docker, and model-provider credentials.
  • Anthropic is the default model, and safety-critical evolution judging defaults to Sonnet; other backends require YAML configuration plus the relevant credentials or proxy.
  • Claude Desktop supports only stdio, so its connection to Phantom’s HTTP MCP service requires the additional mcp-remote bridge.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Phantom Autonomous Co-worker This agent 59 · Major gaps Self-hosted serviceFreemium ★ 1.5k 4mo ago TypeScript Claude Code · Claude API
Agency Orchestrator: One Sentence to Orchestrate an AI Expert Team 71 · Some gaps CLIFree + model costs ★ 2.5k 5d ago TypeScript Codex · Claude Code · OpenAI API · Claude API
Dokploy MCP Server 62 · Some gaps MCP serverFree ★ 426 1mo ago TypeScript Claude Code · Claude.ai
OpenSandbox Runtime 74 · Some gaps Library / SDKFree ★ 17k today Python Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
59/ 100 5-point scale 3.0 / 5
Trust 13/29
Reliability 8/14
Adaptability 14/18
Convention 11/18
Effectiveness 9/13
Verifiability 4/8
Why each dimension lost points
Trust13 / 29 · 2.2/5

The security documents disclose full shell and network access plus Docker socket access that is root-equivalent, and recommend a dedicated machine. However, the agent can install software and create tools and infrastructure without asking permission, so least privilege and pre-action confirmation are weak. Credential encryption, hashed tokens, subprocess environment isolation, scoped authentication, and audit logging are described concretely, but security claims are largely documentary and the packet provides no dependency vulnerability handling evidence. Evolution versions can be rolled back, while recovery for ordinary external effects is unclear. Publisher identity and maintenance responsibility are unverified.

Reliability8 / 14 · 2.9/5

The repository describes CI workflows, frozen-lockfile installs, and health checks, but the README test badge says 1819 while its development setup comment says 1584. The security document also describes a web UI login delivery path that differs from other provided material. This limits self-consistency. Startup logs, doctor checks, and troubleshooting steps provide some failure visibility.

Adaptability14 / 18 · 3.9/5

The materials address non-engineers, software engineering, sales, analytics, and operations, and describe Slack and Web Chat scenarios. The security document lists permission boundaries, a dangerous-command blocker, and known risks, but the agent retains broad autonomy and its boundaries and confirmation controls are incomplete. Multiple model providers and Docker, local, and VM deployments support varied environments; scenario limits and trigger conditions remain only partly precise.

Convention11 / 18 · 3.1/5

Documentation is organized around installation, architecture, security, channels, and providers, with command examples, troubleshooting, and an explicit Docker socket warning. The supplied files are truncated, so complete FAQ and limitations coverage cannot be established. Names and CLI version align in the visible files. Apache 2.0 is supported by license text. A version is visible, but no changelog is included in the packet; the security policy gives a reporting address and response targets, while long-term maintenance responsibility is weakly evidenced and the publisher is unverified.

Effectiveness9 / 13 · 3.5/5

The product combines persistent memory, multi-channel interaction, MCP, and agent-created tools, with concrete examples of shareable outputs, indicating substantial potential value. Outputs can be delivered through chat, email, pages, and MCP. However, broad autonomous build and outbound capabilities increase review and operating burden, and the cost claim is a promotional estimate without a verifiable comparison across models, deployment, and maintenance, so cost-benefit scores low.

Verifiability4 / 8 · 2.5/5

Architecture, security, and installation claims map to specific documents, configuration, and source paths; the CI workflow describes automated checks, and the security document identifies implementation locations. However, production stories and test counts are primarily README/CLAUDE.md assertions, with no corroborating story artifacts or test results in the packet. Some security claims also lack corroboration in the supplied implementation files. Fact and inference are not consistently separated, so points are deducted.

Risks and how to mitigate them
  • Mounting the Docker socket gives the agent root-equivalent control of the host Docker daemon. Deploy on a dedicated VM and carefully limit the data and credentials it can access.
  • The product claims autonomous tool creation, software installation, and message sending. Review its actual access, outbound destinations, and recovery options before use.
  • The README and development instructions give different test counts. This was a static review; tests and production stories were not executed or independently verified.
Evidence confidence: Low Reviewed Nov 08, 2026 Reviewed revision f8c7ab42d885
See the full review method →
Maintain this project? Add the FARS badge to your README

The badge shows the current review score and verdict and links back to this page. It refreshes about once an hour after a re-review.

FARS

[![FARS review](https://followagents.com/badge/phantom.svg)](https://followagents.com/en/agents/phantom)
<a href="https://followagents.com/en/agents/phantom"><img src="https://followagents.com/badge/phantom.svg" alt="FARS review"></a>

FAQ

Does Phantom operate on my personal computer?
It is designed to run on a separate machine or VM. With the recommended Docker setup, the container can manage host Docker through the Docker socket, so it should not be placed on a workstation where that permission boundary is unacceptable.
Is it limited to Claude?
No. Anthropic is the default, but the documented provider options include Z.AI, OpenRouter, Ollama, vLLM, LiteLLM, and custom Anthropic Messages API-compatible endpoints.
How does it remember and change over time?
It uses three tiers of vector memory. After sessions, it can propose configuration updates that pass five validation gates and optional LLM judges before application; versions are retained for comparison and rollback.
What can Claude Code do through Phantom?
After connecting to /mcp with a bearer token, Claude Code can query Phantom’s memory, ask it questions, check status, and use dynamic tools that Phantom has created.
Was this page helpful?
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.