AgentZero
AI-powered semantic analysis for detecting credential leaks using Google Gemini, enhancing detection accuracy beyond regex.
Real-time credential leak detection and remediation for Slack, with interactive alerts, slash commands for audit, and compliance officer DM notifications.
Click on "Install 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., "@AgentZeroaudit scan #engineering for credential leaks"
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.
Agent Zero
Real-time credential leak detection and remediation for Slack.
Agent Zero is an autonomous compliance guardian for your Slack workspace. It actively monitors channels for leaked secrets, API keys, passwords, and sensitive PII, instantly flagging risks to administrators while preserving team workflows.
Features
Real-time monitoring: Employs hybrid regex and AI semantic detection to catch leaked credentials immediately.
Calm UX dashboard: A beautiful, soothing pastel design to visualize and monitor compliance metrics without alert fatigue.
Mark as Safe: False positive learning engine lets users dismiss alerts and teach the system to ignore harmless patterns.
15+ credential patterns: Natively detects plaintext passwords, API tokens, AWS keys, Stripe keys, credit cards, SSH keys, database connection strings, and more.
Smart deduplication: Consolidates overlapping regex matches into single alerts (no duplicate notifications).
Slash commands: Interact directly via Slack using
/audit-scan,/audit-report,/audit-search, and/audit-status.Multi-Provider AI Router: High-availability AI validation across Gemini, OpenRouter, Groq, and GitHub Models to drastically reduce false positives.
MCP Server (SSE): Native Model Context Protocol server integration allowing autonomous agentic workflows and tool execution.
PDF compliance report generation: Automated, boardroom-ready exports of your workspace's security posture.
Docker support: Fully containerized and production-ready.
Comprehensive test suite: Backed by a 23-check automated verification suite ensuring unbreakable reliability.
Related MCP server: @1claw/mcp
Tech Stack
Core: Python 3.11
Integrations: Slack Bolt Framework (HTTP Events API), Model Context Protocol (FastMCP)
Web Dashboard: Flask, HTML5, CSS3, Chart.js
AI Integration: Google GenAI, Requests (for OpenAI-compatible endpoints)
Storage: JSONL (Append-only)
Deployment: Docker, Docker Compose, PythonAnywhere
Getting Started
Clone the repository:
git clone git@github.com:Abdulrahman-Alfeqy/AgentZero.git cd AgentZeroConfigure Environment: Copy the example config and fill in your Slack and API keys.
cp .env.example .envInstall Dependencies:
python -m venv .venv source .venv/bin/activate pip install -r requirements.txtRun Agent Zero:
python main.py
Environment Variables
Variable | Description |
| Slack Bot token (starts with |
| (Not required in HTTP mode) App-level token for local Socket Mode dev only |
| Secret used to verify Slack requests. Required โ never disable. |
| Slack User ID to receive HIGH severity alerts via DM |
| Host to bind the dashboard. Default: 0.0.0.0 (works for local and cloud). Set to 127.0.0.1 for local-only. |
| Web dashboard password |
| Web dashboard username |
| (Optional) Comma-separated list of Gemini API keys |
| (Optional) Fallback AI validation via GitHub Models |
| (Optional) Fallback AI validation via Groq |
| Port for the MCP server (default: 5001). Host is configurable via MCP_SERVER_HOST. |
| (Optional) Fallback AI validation via OpenRouter |
| Port for the web server. Render/Fly.io use this dynamically. Default: 5000. |
Dashboard Access
Once Agent Zero is running, you can access the compliance dashboard via your browser:
URL:
http://localhost:5000/dashboardUsername:
admin(or your customDASHBOARD_USERNAME)Password:
agentzero(or your customDASHBOARD_PASSWORD)
For cloud deployment, ensure DASHBOARD_HOST=0.0.0.0 and PORT=5000 are set.
Architecture Overview
flowchart TD
User(("๐ค Slack User"))
Channel["๐ฌ Slack Channel"]
Alert["๐ด Private Ephemeral Alert<br/>Visible ONLY to Sender"]
Agent["๐ก๏ธ Agent Zero\nSlack Bolt (HTTP Events API)"]
subgraph DE ["๐ก๏ธ Detection Engine"]
direction LR
Regex["๐ Regex<br/>15+ Patterns"]
Entropy["๐ Entropy<br/>Excludes UUIDs/Hashes"]
AIRouter["๐ง AI Router<br/>Gemini ยท OpenRouter ยท Groq ยท GitHub"]
Entropy -- "๐ข Automatic Failover<br/>AI Router with 4 LLMs" --> AIRouter
end
Admin["๐ต Admin DM<br/>HIGH Severity Escalation"]
Compliance["๐ฎ Compliance Officer"]
MCP["๐ MCP Server (SSE)"]
PDF["๐ PDF Reports<br/>/audit-report"]
Log[("๐๏ธ Incident Log<br/>Masked ยท JSONL")]
Dash["๐ Dashboard<br/>Flask + Chart.js"]
User -- "Message" --> Channel
Channel -- "Event" --> Agent
Agent -- "Analyse Text" --> DE
Agent == " " ==> Alert
Alert == " " ==> User
DE -- "Store (Masked)" --> Log
Log --> Dash
Dash --> Compliance
DE --> Admin
Admin --> Compliance
MCP --> DE
MCP --> PDF
MCP --> Log
classDef default fill:#f5f5fc,stroke:#b1b1e4,stroke-width:1px,color:#333
classDef yellowBox fill:#fdfde6,stroke:#d4d4a3,stroke-width:1px,color:#333
classDef alertBox fill:#f0f0f0,stroke:#d3d3d3,stroke-width:1px,color:#333
class User,Log fill:#f5f5fc,stroke:#9b59b6,stroke-width:1.5px
class DE yellowBox
class Alert alertBoxDeploying to PythonAnywhere
PythonAnywhere's free tier provides exactly one WSGI web app with a public HTTPS domain. Agent Zero is compatible because it is structured as a single Flask app object after the HTTP Events API migration.
WSGI Configuration File
In your PythonAnywhere dashboard, go to Web โ WSGI configuration file and replace the default content with:
import sys
import os
# Point to your project directory
sys.path.insert(0, '/home/<your-username>/AgentZero')
# Load environment variables from .env
from dotenv import load_dotenv
load_dotenv('/home/<your-username>/AgentZero/.env')
# Import the consolidated Flask app
from main import flask_app as applicationSlack Event Subscriptions URL
In your Slack App settings, go to Event Subscriptions โ Request URL and set:
https://<your-username>.pythonanywhere.com/slack/eventsSlack will send a url_verification challenge โ Bolt's adapter handles it
automatically. Wait for the green tick before saving.
Bot Events to Subscribe
Under Event Subscriptions โ Subscribe to bot events, add:
Event | Reason |
| Scan public channel messages |
| Scan private channel messages |
| Scan direct messages |
| Scan group direct messages |
| Welcome message on bot invite |
| Render the App Home tab |
Outbound API Allowlist
PythonAnywhere's free tier restricts outbound HTTP to an allowlist. Add these domains via Account โ Whitelist a new domain for AI provider support:
Domain | Provider |
| Gemini |
| OpenRouter |
| Groq |
| GitHub Models |
If any domain is not allowlisted, that AI provider is skipped silently and the fallback chain continues. The app never crashes on a missing provider โ it degrades to regex-only detection, exactly as documented for a blank API key.
Persistent Storage Note
PythonAnywhere free tier does provide persistent disk storage, so incidents.jsonl
and generated PDFs survive restarts (unlike Render's free tier).
Roadmap
Migrate from JSONL to a scalable relational database (SQLite/PostgreSQL) for large workspace querying.
Introduce WebSockets for real-time, zero-refresh dashboard updates.
Support full Slack OAuth flow for multi-workspace public distribution.
License
This project is licensed under the MIT License. See the LICENSE file for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Abdulrahman-Alfeqy/AgentZero'
If you have feedback or need assistance with the MCP directory API, please join our Discord server