AgentZero

AgentZero

MCP server for real-time credential leak detection and remediation in Slack, using AI-powered semantic analysis via Google Gemini.

Category
Visit Server

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

  1. Clone the repository:

    git clone git@github.com:Abdulrahman-Alfeqy/AgentZero.git
    cd AgentZero
    
  2. Configure environment:

    cp .env.example .env
    

    Edit .env and fill in your Slack and Gemini credentials.

  3. Install dependencies:

    pip install -r requirements.txt
    
  4. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured