MultiAgentPPT
MultiAgentPPT 是一个集成了 A2A(Agent2Agent)+ MCP(Model Context Protocol)+ ADK(Agent Development Kit) 架构的智能化演示文稿生成系统,支持通过多智能体协作和流式并发机制
claude mcp add --transport stdio johnson7788-multiagentppt python backend/slide_agent/main_api.py \ --env DATABASE_URL="postgresql://postgres:welcome@localhost:5432/presentation_ai" \ --env DOWNLOAD_SLIDES_URL="http://localhost:10021" \ --env A2A_AGENT_SLIDES_URL="http://localhost:10011" \ --env A2A_AGENT_OUTLINE_URL="http://localhost:10001"
How to use
MultiAgentPPT is a multi-agent system that generates presentation content from an input topic. It orchestrates several agents: an outline agent to draft a content outline, a split-outline agent to decompose the outline into slides, and parallel research agents that retrieve and validate information. A PPT generation loop then assembles the final slides, streaming updates to the frontend. To run it, launch the backend services and point the frontend to the corresponding A2A and slide endpoints. The system is designed for streaming output, so you can monitor progress as each slide is created and refined by the responsible agent. For integration, the MCP setup exposes a single server entry (MultiAgentPPT) which delegates tasks to the internal Python services via the configured URLs.
How to install
Prerequisites:
- Python 3.11+ (recommended 3.12 as used by the project)
- pip or conda for environment management
- Access to a PostgreSQL database or a compatible DB server
- Clone the repository and navigate to the project root.
- Create a Python virtual environment (recommended):
- conda create --name multiagent python=3.12
- conda activate multiagent Or use your preferred Python venv:
- python -m venv venv
- source venv/bin/activate
- Install backend dependencies:
- cd backend
- pip install -r requirements.txt
- Prepare environment templates:
- Copy env_template to .env for each module as needed, for example: cd backend/simpleOutline && cp env_template .env cd ../simplePPT && cp env_template .env cd ../slide_outline && cp env_template .env cd ../slide_agent && cp env_template .env
- Configure environment variables in .env (example): DATABASE_URL="postgresql://postgres:welcome@localhost:5432/presentation_ai" A2A_AGENT_OUTLINE_URL="http://localhost:10001" A2A_AGENT_SLIDES_URL="http://localhost:10011" DOWNLOAD_SLIDES_URL="http://localhost:10021"
- Install frontend dependencies (optional if you only run backend):
- pnpm install
- Run the backend module (example entry used by MCP config):
- python backend/slide_agent/main_api.py
- Optionally run Docker deployments as described in the repository if needed:
- docker compose up
Notes:
- Ensure the PostgreSQL service is running and accessible with the credentials in DATABASE_URL.
- Start the outlined services in the recommended order if you run modules separately (Outline, Slide Outline, Slide Agent).
Additional notes
Tips and common issues:
- If you encounter token length or latency issues during streaming, consider increasing model refresh intervals or adjusting the number of parallel research agents.
- The system streams per-slide content; monitor each agent’s status in the frontend to identify bottlenecks.
- Ensure each environment variable (URLs and database) is reachable from the running container or process to avoid connection failures.
- When upgrading, re-copy env_template files to .env to preserve a consistent configuration across modules.
- If you switch to a different data source or RAG backend, update the corresponding A2A_AGENT_*_URL variables accordingly.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP