
PraisonAI
io.github.MervinPraisonPublished by GitHub account MervinPraisonv2.3.42Updated Oct 24, 2026
AI Agents Framework with Self Reflection and MCP support
Overview
PraisonAI is a Python agent framework, packaged as a local MCP server, that lets an assistant build and run autonomous multi-agent workflows with tools, memory,
- What you can do
- Build and run single or multi-agent workflows from Python, JavaScript or YAML, with planning, self-reflection and handoffs between agents. Attach tools, including other MCP servers over stdio, HTTP, WebSocket or SSE, plus custom Python tools. Add memory, knowledge and RAG retrieval, with optional persistence to databases such as PostgreSQL, SQLite or Redis. Run managed sandboxes for tool or code execution on Docker, e2b, Modal and similar runtimes. Expose chat dashboards and messaging channels such as Telegram, Discord and Slack.
- When to use it
- Worth adding when you want an assistant to orchestrate multi-step agent teams, connect several MCP servers behind one framework, or run autonomous research, coding and workflow tasks with explicit iteration and budget limits.
- Requirements
- Runs as a local process on the desktop; install the praisonai Python package (or praisonaiagents for the core SDK). An LLM provider API key is needed, for example OPENAI_API_KEY, and the dashboard also uses TAVILY_API_KEY. Network access is required for hosted model providers; sandbox options such as Docker need the corresponding runtime.
Installation
In SourceWeft
- Open PraisonAI in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[Total Downloads] [Latest Stable Version] [License]
PraisonAI 🦞
PraisonAI 🦞 — Hire a 24/7 AI Workforce. Stop writing boilerplate and start shipping autonomous, self-improving agents that research, plan, and execute tasks across your apps. From one agent to an entire organization, deployed in 5 lines of code.
🎯 Use Cases
AI agents solving real-world problems across industries:
🚀 Meet your first Agent (Under 1 Minute)
- Install the lightweight core SDK:
- Run your first autonomous agent:
🧬 The Five-Layer Agent Stack
Most frameworks hand you one or two layers and leave the rest as homework. PraisonAI covers all five — plus the outer layer that decides where your agent actually runs.
Each layer wraps the one inside it. When an agent misbehaves, the layer tells you where to look.
Layer 1 · Prompt — Did I say it clearly?
Role, instructions, examples, output format.
Layer 2 · Context — Is the right thing in the window?
Write, select, compress, isolate — the four context operations, one parameter each.
Isolate is
handoffs=[specialist]— a sub-agent inherits the last few messages and the intersection of your tools, not your whole transcript. 📖 Handoffs
Layer 3 · Harness — Can it act, and be checked?
Agent = Model + Harness. Tool dispatch, plus the guides that steer before acting and the sensors that observe after.
Layer 4 · Loop — When do we stop?
Hard iteration caps, budget ceilings, no-progress detection and completion checks — every brake is explicit.
Doom-loop detection is on by default. Repeated identical tool calls and A→B→A→B oscillation get caught — while a poller whose output keeps changing does not. 📖 Doom Loop Detection
Layer 5 · Graph — Who runs when, and who checks whom?
Topology as a versionable artifact: prompt chaining, routing, parallelisation, orchestrator-worker.
The same graph is expressible in YAML with no Python at all. 📖 AgentFlow
⬡ Outside the stack: Managed Agents — Where does it actually run?
The harness is commoditising; where the agent executes is the next multiplier. Rather than burning your laptop's CPU, hand an agent a short-lived cloud sandbox — repo, tools and tests run there.
The simplest way in is tools_run_on= — one whole team or workflow shares one sandbox, so a file written by step 1 is there for step 2. Thinking stays on your machine:
Same thing with no Python at all:
For a single agent, two words cover it — and they answer different questions:
Ask any object where it runs, and it will tell you:
Naming a place that cannot do the job is a typo, not a preference, so it says so:
To run one block of code somewhere else, name the place on that call:
See what is running and reclaim strays:
Sandboxes shut themselves down when idle (auto_shutdown, idle_timeout_s), and a post-setup snapshot is reused so the next run skips the image pull and dependency install. Commit a .praisonai/environment.yaml and the environment travels with the repo.
📖 20 runnable examples · manage sessions with
praisonai managed sessions list <agent-id>orpraisonai managed sessions resume <session-id> "<prompt>"
Stack framing adapted from The Five-Layer Agent Stack and Agent Harnesses vs Orbs.
🌌 The PraisonAI Ecosystem
Start simple with the core SDK, or expand to full visual builders and dashboards when you're ready.
- Core SDK (
praisonaiagents): For pure Python development.pip install praisonaiagents - 💻 PraisonAI CLI (
praisonai): For terminal-based developers.pip install praisonai - 🦞 Claw Dashboard: Connect agents directly to Telegram, Slack, or Discord.
pip install "praisonai[claw]" - 🔗 Flow Visual Builder: Drag-and-drop workflow creation.
pip install "praisonai[flow]" - 🤖 PraisonAI UI: Clean chat interface.
pip install "praisonai[ui]"
JavaScript SDK
🧠 Supported Providers & Features
Powered by 100+ LLMs (OpenAI, Anthropic, Gemini & local models).
[OpenAI] [Anthropic] [Google Gemini] [DeepSeek] [Azure] [Ollama] [Groq] [Mistral] [Cerebras] [Cohere] [OpenRouter] [Perplexity] [Fireworks] [AWS Bedrock] [xAI Grok] [Vertex AI] [HuggingFace] [Together AI] [Databricks] [Replicate] [Cloudflare]
View all 24 providers with examples
"Grok 3 customer support" — Elon Musk quoting PraisonAI's tutorial
🌟 Why PraisonAI?
View all 25 features
📘 Using Python Code
Unsure whether a result is a bug or model randomness? Check the SDK Behavior Matrix for
stream, memory prefetch, structured output, teams and AG-UI.
1. Single Agent
2. Multi Agents
3. MCP (Model Context Protocol)
📖 Full MCP docs — stdio, HTTP, WebSocket, SSE transports
4. Custom Tools
⚠️ Security Note: Never use
eval(),exec(), orsubprocessin tool functions that process LLM-generated or user-supplied input. Always validate and sanitize inputs to prevent code injection attacks. 📖 Full tools docs — BaseTool, tool packages, 100+ built-in tools
5. Persistence (Databases)
📖 Full persistence docs — PostgreSQL, MySQL, SQLite, MongoDB, Redis, and 20+ more
6. PraisonAI Claw 🦞 (Dashboard UI)
Connect your AI agents to Telegram, Discord, Slack, WhatsApp and more — all from a single command.
Required Environment Variables
Copy .env.example to .env and configure the following variables:
Open http://localhost:8082 — the dashboard comes with 13 built-in pages: Chat, Agents, Memory, Knowledge, Channels, Guardrails, Cron, and more. Add messaging channels directly from the UI.
📖 Full Claw docs — platform tokens, CLI options, Docker, and YAML agent mode
7. Langflow Integration 🔗 (Visual Flow Builder)
Build multi-agent workflows visually with drag-and-drop components in Langflow.
Open http://localhost:7861 — use the Agent and Agent Team components to create sequential or parallel workflows. Connect Chat Input → Agent Team → Chat Output for instant multi-agent pipelines.
📖 Full Flow docs — visual agent building, component reference, and deployment
8. PraisonAI UI 🤖 (Clean Chat)
Lightweight chat interface for your AI agents.
📄 Using YAML (No Code)
Example 1: Two Agents Working Together
Create agents.yaml:
Run with:
The agents automatically work together sequentially
Example 2: Agent with Custom Tool
Create two files in the same folder:
agents.yaml:
tools.py:
Run with:
💡 Tips:
- Use the function name (e.g.,
add_numbers) in the tools list, not the file name- Tools in
tools.pyare automatically discovered- The function's docstring helps the AI understand how to use it
🎯 CLI Quick Reference
✨ Key Features
🤖 Core Agents
🔄 Workflows
💻 Code & Development
🧠 Memory & Knowledge
🔬 Research & Intelligence
📋 Planning & Execution
👥 Specialized Agents
🎨 Media & Multimodal
🔌 Protocols & Integration
🛡️ Safety & Control
⚙️ Advanced Features
🛠️ Tools & Configuration
📊 Monitoring & Management
🖥️ CLI Features
🧪 Evaluation
🎯 Agent Skills
⏰ 24/7 Scheduling
💻 Using JavaScript Code
⚡ Performance
PraisonAI keeps framework overhead microsecond-class: creating an Agent (one tool, no LLM call) averaged 46 μs in our 2026-10-15 run, so per-agent setup is negligible next to model latency in multi-agent workloads.
Methodology, comparisons and how to reproduce: benchmarks/BENCHMARK_RESULTS.md · docs
⭐ Star History
* export TAVILY_API_KEY=xxxxx
🔍 Langfuse Tracing
🎓 Video Tutorials
Learn PraisonAI through our comprehensive video series:
View all 22 video tutorials
👥 Contributing
We welcome contributions! Fork the repo, create a branch, and submit a PR → Contributing Guide.
❓ FAQ & Troubleshooting
ModuleNotFoundError: No module named 'praisonaiagents'
Install the package:
API key not found / Authentication error
Ensure your API key is set:
For other providers, see Models docs.
How do I use a local model (Ollama)?
The ollama/ prefix is what selects Ollama's handling — tool-call repair,
tool-result formatting and the streaming rules small local models need. Or set
it by environment instead:
Setting only OPENAI_BASE_URL is not enough: with no model named, the OpenAI
default (gpt-4o-mini) is sent to Ollama, which answers
404 model 'gpt-4o-mini' not found. Always name the model.
Point at a non-default host with base_url= or OLLAMA_HOST:
The same shape works for other local runtimes — lm_studio/, vllm/ and
hosted_vllm/ with their server's base_url.
See Models docs for more details.
How do I persist conversations to a database?
Use the db parameter:
See Persistence docs for supported databases.
How do I enable agent memory?
See Memory docs for more options.
How do I run multiple agents together?
See Agents docs for more examples.
How do I use MCP tools?
See MCP docs for all transport options.
Getting Help
Made with ❤️ by the PraisonAI Team
📚 Documentation • GitHub • ▶️ YouTube • 𝕏 X • 💼 LinkedIn
Source: README.md at commit e7076d0
Tools
0Version history
1- v2.3.42LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts