Gary-Zero can now act as an MCP Server for other LLM tools and use external MCP servers as tools
- Gary-Zero is not a predefined agentic framework. It is designed to be dynamic, organically growing, and learning as you use it.
- Gary-Zero is fully transparent, readable, comprehensible, customizable, and interactive.
- Gary-Zero uses the computer as a tool to accomplish its (your) tasks.
- General-purpose Assistant
- Gary-Zero is not pre-programmed for specific tasks (but can be). It is meant to be a general-purpose personal assistant. Give it a task, and it will gather information, execute commands and code, cooperate with other agent instances, and do its best to accomplish it.
- It has a persistent memory, allowing it to memorize previous solutions, code, facts, instructions, etc., to solve tasks faster and more reliably in the future.
- Computer as a Tool
- Gary-Zero uses the operating system as a tool to accomplish its tasks. It has no single-purpose tools pre-programmed. Instead, it can write its own code and use the terminal to create and use its own tools as needed.
- The only default tools in its arsenal are online search, memory features, communication (with the user and other agents), and code/terminal execution. Everything else is created by the agent itself or can be extended by the user.
- Tool usage functionality has been developed from scratch to be the most compatible and reliable, even with very small models.
- Default Tools: Gary-Zero includes tools like knowledge, webpage content, code execution, and communication.
- Creating Custom Tools: Extend Gary-Zero's functionality by creating your own custom tools.
- Instruments: Instruments are a new type of tool that allow you to create custom functions and procedures that can be called by Gary-Zero.
- Multi-agent Cooperation
- Every agent has a superior agent giving it tasks and instructions. Every agent then reports back to its superior.
- In the case of the first agent in the chain (Agent 0), the superior is the human user; the agent sees no difference.
- Every agent can create its subordinate agent to help break down and solve subtasks. This helps all agents keep their context clean and focused.
- Completely Customizable and Extensible
- Almost nothing in this framework is hard-coded. Nothing is hidden. Everything can be extended or changed by the user.
- The whole behavior is defined by a system prompt in the prompts/default/agent.system.md file. Change this prompt and change the framework dramatically.
- The framework does not guide or limit the agent in any way. There are no hard-coded rails that agents have to follow.
- Every prompt, every small message template sent to the agent in its communication loop can be found in the prompts/ folder and changed.
- Every default tool can be found in the python/tools/ folder and changed or copied to create new predefined tools.
- Communication is Key
- Give your agent a proper system prompt and instructions, and it can do miracles.
- Agents can communicate with their superiors and subordinates, asking questions, giving instructions, and providing guidance. Instruct your agents in the system prompt on how to communicate effectively.
- The terminal interface is real-time streamed and interactive. You can stop and intervene at any point. If you see your agent heading in the wrong direction, just stop and tell it right away.
- There is a lot of freedom in this framework. You can instruct your agents to regularly report back to superiors asking for permission to continue. You can instruct them to use point-scoring systems when deciding when to delegate subtasks. Superiors can double-check subordinates' results and dispute. The possibilities are endless.
-
Development Projects -
"Create a React dashboard with real-time data visualization" -
Data Analysis -
"Analyze last quarter's NVIDIA sales data and create trend reports" -
Content Creation -
"Write a technical blog post about microservices" -
System Admin -
"Set up a monitoring system for our web servers" -
Research -
"Gather and summarize five recent AI papers about CoT prompting"
- Gary-Zero also offers a Hacking Edition based on Kali linux with modified prompts for cybersecurity tasks
- The setup is the same as the regular version, just use the frdel/gary-zero-run:hacking image instead of frdel/gary-zero-run
Note: The Hacking Edition and all its prompts and features will be merged into the main branch in the following release.
Click to open a video to learn how to install Gary-Zero:
A detailed setup guide for Windows, macOS, and Linux with a video can be found in the Gary-Zero Documentation at this page.
# Pull and run with Docker (Warp 2.0 Compatible)
docker pull frdel/gary-zero-run
# Use Warp 2.0 frontend port range (5675-5699)
# Note: For Railway deployment, persistent volume is required
docker run -p 5675:80 frdel/gary-zero-run
# Visit http://localhost:5675 to startBefore every Railway deployment, run this 8-step checklist:
git pull origin main# Check Warp 2.0 port assignments
grep -E "PORT=|WEB_UI_PORT=" .env.example
# Frontend: 5675-5699 | Backend: 8765-8799# Verify railway.toml has correct port bindings
grep -A5 "\[environment\]" railway.toml# Ensure no hardcoded secrets in .env.example
grep -i "password\|secret\|key" .env.example | grep -v "your_"
# Verify DATA_DIR is configured and matches volume mount path
grep "DATA_DIR" railpack.json
# Should show: "DATA_DIR": "/app/data"
# Note: DATA_DIR must match the volume mountPath in railpack.json# Look for localhost references that should use Railway variables
grep -r "localhost:" --exclude="*.md" --exclude-dir=node_modules .railway up
# Check Railway dashboard → Service → Logs for:
# "Listening on 0.0.0.0:8765" (backend)# Test deployed endpoints
curl -f https://your-service.up.railway.app/healthz- ✅ Port ranges enforced (Frontend: 5675-5699, Backend: 8765-8799)
- ✅ No hardcoded localhost URLs
- ✅ Railway reference variables used
- ✅ No secrets in .env.example
- ✅ Service responds on correct ports
Pro Tip: Use
npm run dev(port 5675) for frontend development andnpm run dev:backend(port 8765) for backend services.
- Customizable settings allow users to tailor the agent's behavior and responses to their needs.
- The Web UI output is very clean, fluid, colorful, readable, and interactive; nothing is hidden.
- You can load or save chats directly within the Web UI.
- The same output you see in the terminal is automatically saved to an HTML file in logs/ folder for every session.
- Agent output is streamed in real-time, allowing users to read along and intervene at any time.
- No coding is required; only prompting and communication skills are necessary.
- With a solid system prompt, the framework is reliable even with small models, including precise tool usage.
- Gary-Zero Can Be Dangerous!
- With proper instruction, Gary-Zero is capable of many things, even potentially dangerous actions concerning your computer, data, or accounts. Always run Gary-Zero in an isolated environment (like Docker) and be careful what you wish for.
- Gary-Zero Is Prompt-based.
- The whole framework is guided by the prompts/ folder. Agent guidelines, tool instructions, messages, utility AI functions, it's all there.
Gary-Zero features a modern, modular CI/CD pipeline built around 4 reusable composite workflows:
| Workflow | Purpose | Components |
|---|---|---|
| A. Static Checks | Code quality & consistency | Ruff, Black, MyPy, ESLint, Prettier, TypeScript, Secret scanning |
| B. Tests | Comprehensive testing | Unit, Integration, E2E, Performance, Coverage reporting |
| C. Security Audit | Multi-layer security scanning | Bandit, Safety, npm audit, Trivy, OSSF Scorecard |
| D. Deploy | Production deployment | Railway validation, Docker build, CLI deployment |
- Feature Branches: Uses workflows A + B (static checks + tests)
- Main Branch: Uses full pipeline A + B + C + D (complete CI/CD)
- Quality Gate: All checks must pass before deployment
- Railway Integration: Automated deployment with health verification
graph LR
A[Static Checks] --> B[Tests]
B --> C[Security Audit]
C --> D[Quality Gate]
D --> E[Deploy to Railway]
classDef workflowNode fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
classDef gateNode fill:#fff3e0,stroke:#e65100,stroke-width:3px
classDef deployNode fill:#fce4ec,stroke:#880e4f,stroke-width:2px
class A,B,C workflowNode
class D gateNode
class E deployNode
📖 View Complete CI/CD Architecture Documentation
Gary-Zero is built on the Agent-OS specification framework, providing standardized patterns for agent coordination, cloud service integration, and scalable architecture.
| Specification | Purpose | Status |
|---|---|---|
| Cloud Services Integration | Multi-service architecture patterns | ✅ v1.0.0 |
| Morphism Browser Service | Web automation and browser control | ✅ v1.0.0 |
| PostgreSQL Prisma Service | Database integration and ORM patterns | ✅ v1.0.0 |
| Redis Service | Caching and session management | ✅ v1.0.0 |
| Security Compliance | Security framework and requirements | ✅ v1.0.0 |
| Performance Optimization | Monitoring and observability | ✅ v1.0.0 |
- 🔄 Standardized Integration: Consistent patterns for service communication
- 📈 Scalable Architecture: Cloud-native design with Railway deployment
- 🔒 Security-First: Built-in security compliance and credential management
- 🛠️ Developer Experience: Clear specifications for feature development
- 📊 Observability: Comprehensive monitoring and performance tracking
- 🚦 Quality Assurance: Automated CI guards ensure specification consistency
- Template: .agent-os/instructions/create-spec.md
- Guidelines: .agent-os/specs/README.md
- Development Standards: .agent-os/development-standards/DEVELOPMENT_STANDARDS.md
| Page | Description |
|---|---|
| Installation | Installation, setup and configuration |
| Usage | Basic and advanced usage |
| Architecture | System design and components |
| CI/CD Architecture | Complete CI/CD pipeline documentation |
| Contributing | How to contribute |
| Troubleshooting | Common issues and their solutions |
- MCP
- Knowledge and RAG Tools
- Gary-Zero can now act as MCP Server
- Gary-Zero can use external MCP servers as tools
Default models set to gpt-4.1
- Code execution tool improvements
- Browser agent improvements
- Memory improvements
- Various bugfixes related to context management
- Message formatting improvements
- Scheduler improvements
- New model provider
- Input tool fix
- Compatibility and stability improvements
- Remote access (mobile)
- Automatic embedding
- Planning and scheduling
- Multitasking in terminal
- Chat names
- Browser Agent
- UX Improvements
- Docker Runtime
- New Messages History and Summarization System
- Agent Behavior Change and Management
- Text-to-Speech (TTS) and Speech-to-Text (STT)
- Settings Page in Web UI
- SearXNG Integration Replacing Perplexity + DuckDuckGo
- File Browser Functionality
- KaTeX Math Visualization Support
- In-chat File Attachments
- Automatic Memory
- UI Improvements
- Instruments
- Extensions Framework
- Reflection Prompts
- Bug Fixes
Gary-Zero maintains high code quality standards through automated testing and continuous improvement:
- Security: 95+/100 - Zero known vulnerabilities
- Code Quality: 75+/100 - Reduced linting errors by 70%
- Architecture: 60+/100 - Improved error handling and documentation
- Performance: 50+/100 - Optimized for development speed
- ✅ Security: All 6 NPM vulnerabilities resolved by replacing npm-audit-html with audit-ci
- ✅ Code Standards: Python exception naming follows PEP 8 conventions
- ✅ Line Length: 52% reduction in line-too-long violations
- ✅ Browser Compatibility: Safari 14 support with proper feature detection
- ✅ Type Safety: Comprehensive type hints for better IDE support
npm run check:all # Run all quality checks
npm run security # Security audit
npm run lint:clean # JavaScript linting
python lint.py check # Python linting- Join our Discord for live discussions or visit our Skool Community.
- Follow our YouTube channel for hands-on explanations and tutorials
- Report Issues for bug fixes and features






