AgentZero
MCP server for real-time credential leak detection and remediation in Slack, using AI-powered semantic analysis via Google Gemini.
README
Agent Zero — AI-Powered Slack Security Agent
Real-time credential leak detection and remediation for Slack.
Features
- Real-time regex-based credential detection
- AI-powered semantic analysis via Google Gemini
- MCP server integration (SSE transport on port 5001)
- False positive learning (Mark as Safe)
- Interactive Slack alerts with Mark as Safe & Dismiss buttons
- Thread & edited message scanning
- Slash commands: /audit-scan, /audit-report, /audit-search, /audit-status
- Compliance Officer DM notifications for HIGH severity incidents
- Calm-themed web dashboard with Basic Auth (port 5000)
- PDF audit report generation
- Docker support (Dockerfile + docker-compose.yml)
- Slack manifest for one-click installation
- Multi-key Gemini API support (GEMINI_API_KEYS)
- Rate limiting with admin alert
- Comprehensive test suite (19 checks)
Tech Stack
Python, Slack Bolt, FastMCP, Gemini API, Flask, Chart.js, ReportLab, Docker.
Getting Started
-
Clone the repository:
git clone git@github.com:Abdulrahman-Alfeqy/AgentZero.git cd AgentZero -
Configure environment:
cp .env.example .envEdit
.envand fill in your Slack and Gemini credentials. -
Install dependencies:
pip install -r requirements.txt -
Run the agent:
python main.py
Environment Variables
SLACK_BOT_TOKEN: The xoxb- token for Slack API calls.SLACK_APP_TOKEN: The xapp- token for Socket Mode connections.SLACK_SIGNING_SECRET: Used to verify incoming Slack requests.GEMINI_API_KEY: Primary Google Gemini API Key for semantic analysis.GEMINI_API_KEYS: Comma-separated list of Gemini API Keys for load balancing.COMPLIANCE_OFFICER_ID: Slack User ID to receive DMs for high severity alerts and rate limits.DASHBOARD_USERNAME: Basic Auth username for the web dashboard (default: admin).DASHBOARD_PASSWORD: Basic Auth password for the web dashboard (default: agentzero).DASHBOARD_HOST: IP address to bind the dashboard (default: 127.0.0.1).DASHBOARD_PORT: Port for the dashboard (default: 5000).MCP_SERVER_HOST: IP address to bind the MCP SSE server (default: 127.0.0.1).MCP_SERVER_PORT: Port for the MCP SSE server (default: 5001).STORAGE_PATH: Path to the JSONL incident storage file (default: incidents.jsonl).REPORTS_DIR: Directory to save generated PDF reports (default: reports).
Dashboard Access
The dashboard is served on port 5000 (e.g., http://127.0.0.1:5000/dashboard). It is protected by HTTP Basic Auth. The default credentials, unless changed in your .env file, are:
- Username:
admin - Password:
agentzero
Architecture
Slack Workspace
└── Slack Bolt (Socket Mode)
└── Classifier Engine
└── MCP Server :5001 (Gemini AI)
└── Incident Store (JSONL)
└── Flask Dashboard :5000
Slack App Setup
Import slack_manifest.json at api.slack.com/apps
for one-click configuration of all required scopes and events.
Roadmap
- WebSocket updates for the live dashboard
- Incident resolution workflow (Jira/ServiceNow integration)
- Granular role-based access control for compliance officers
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.