← Back to Discover

PraisonAI

An open-source framework for building AI agents and multi-agent workflows in Python or JavaScript, with memory, knowledge retrieval, MCP tools, guardrails and support for 100+ language models.

Agent frameworksAutonomous agents

What it does

PraisonAI is a framework for building agents, from a single agent to teams that hand work to one another. Its README shows an agent created in a few lines of Python from a set of instructions and started with a single call. A JavaScript package is available through npm, and a command-line tool installs with pip. The README organises the framework into five layers: prompt, context, harness, loop and graph. Context covers memory, knowledge lookup and automatic compaction. The harness covers tools, MCP connections, guardrails and approval gates. The loop sets iteration and budget limits and catches agents that repeat themselves. The graph layer chains, routes and parallelises agents, in Python or in YAML. Agent tools can run in a Docker container or in hosted sandboxes such as E2B, Modal, Daytona and Fly.io. The README lists 24 model providers, including OpenAI, Anthropic, Google Gemini, Ollama and Groq. Optional add-ons include a dashboard that connects agents to Telegram, Slack or Discord, a drag-and-drop flow builder and a chat interface. The project is open source under the MIT licence. The quick start sets an OpenAI API key, so model usage is billed by whichever provider you configure.

Capabilities

  • Single agents or multi-agent teams with handoffs, routing and parallel steps
  • Memory, knowledge lookup and context compaction
  • MCP tool connections, guardrails and human approval gates
  • Budget limits and detection of agents stuck in loops
  • Tools can run in Docker or hosted sandboxes
  • Works with 100+ language models, including local ones through Ollama

When to use it

  • You want to build agent systems in Python or JavaScript instead of using a hosted app
  • You need agents that keep memory, call tools and pass work to each other
  • You want to connect agents to Telegram, Slack or Discord
  • You want to run the same agents on different model providers