
rubenszimbres/multi-agent-system-a2a-adk-mcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Multi-Agent Systems with Google's Agent Development Kit + A2A + MCP
Обзор
This project implements a security-focused data processing pipeline using the Agent-to-Agent (A2A) protocol combined with Model Context Protocol (MCP) integration. The system provides secure database queries through a multi-agent architecture. The system utilizes a layered architecture: 1. : Provides standardized communication between clients and agent services 2. : Manages agent behavior and tool integration 3. : Provides specialized SQL and data processing tools - : Handle client requests and agent communication - : Process natural language requests using specialized tools - : Provides SQL query and database interaction tools - : Coordinate task execution across agents The system implements a security pipeline with three specialized agents: 1. : Evaluates input for security threats (SQL injection, XSS, etc.) 2. : Performs database queries and analysis using MCP tools 3.
README
Показан фрагмент оригинального README. Открыть оригинал.
Agent-to-Agent (A2A) Security Pipeline with MCP Integration
A security-focused, multi-agent data processing pipeline that combines the Agent-to-Agent (A2A) protocol, Google Agent Development Kit (ADK), and the Model Context Protocol (MCP). The system enables secure natural-language querying of a salary database through a sequential pipeline of specialized agents that enforce threat detection, SQL execution, and PII masking.
Table of Contents
- Architecture Overview
- Agent Pipeline
- Security Model
- MCP Integration
- A2A Protocol
- Project Structure
- Technology Stack
- Setup & Installation
- Usage
- Evaluation & Testing
- Deployment
- Documentation
Architecture Overview
The system is composed of three independent layers that collaborate to process every request securely:
┌─────────────────────────────────────────────────────────────┐
│ CLIENT LAYER │
│ query_MCP_ADK_A2A.py · a2a_client.py │
└────────────────────┬────────────────────────────────────────┘
│ JSON-RPC 2.0 over HTTP
┌────────────────────▼────────────────────────────────────────┐
│ A2A PROTOCOL LAYER │
│ Judge Server :10002 · SQL Server :10004 · Mask :10003 │
│ a2a_servers.py · task_manager.py │
└────────────────────┬────────────────────────────────────────┘
│ ADK agent callbacks
┌────────────────────▼────────────────────────────────────────┐
│ ADK AGENT LAYER │
│ Judge Agent → SQL Agent → Mask Agent │
│ agent.py │
└──────┬─────────────────┬───────────────────┬────────────────┘
│ │ │
SecurityBlocker MCP Server Google Cloud DLP
(in-process) server_mcp.py (Cloud API)
│
SQLite Database
salaries.db
Layer Responsibilities
| Layer | Components | Responsibility |
|---|---|---|
| Client | query_MCP_ADK_A2A.py, a2a_client.py |
Request orchestration, input sanitization, Model Armor integration |
| A2A Protocol | a2a_servers.py, task_manager.py |
Standardized JSON-RPC 2.0 agent communication, task lifecycle management |
| ADK Agents | agent.py, mcp_agent.py |
Natural language understanding, tool invocation, sequential pipeline execution |
| Tools | server_mcp.py, SecurityBlocker, Google Cloud DLP |
SQL execution, threat detection, PII masking |
Agent Pipeline
Установка
docker run -p 8000:8000 \