Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

AI Agents Framework with Self Reflection and MCP support

README.md

<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset=".github/images/logo_dark.png" /> <source media="(prefers-color-scheme: light)" srcset=".github/images/logo_light.png" /> <img alt="PraisonAI Logo" src=".github/images/logo_light.png" width="250" /> </picture> </p>

<!-- mcp-name: io.github.MervinPraison/praisonai -->

<p align="center"> <a href="https://github.com/MervinPraison/PraisonAI"><img src="https://static.pepy.tech/badge/PraisonAI" alt="Total Downloads" /></a> <a href="https://github.com/MervinPraison/PraisonAI"><img src="https://img.shields.io/github/v/release/MervinPraison/PraisonAI" alt="Latest Stable Version" /></a> <a href="https://github.com/MervinPraison/PraisonAI"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License" /></a> <a href="https://registry.modelcontextprotocol.io/servers/io.github.MervinPraison/praisonai"><img src="https://img.shields.io/badge/MCP-Registry-blue" alt="MCP Registry" /></a> </p>

<div align="center">

PraisonAI 🦞

<a href="https://trendshift.io/repositories/9130" target="_blank"><img src="https://trendshift.io/api/badge/repositories/9130" alt="MervinPraison%2FPraisonAI | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>

</div>

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.

curl -fsSL https://praison.ai/install.sh | bash

<div align="center"> <br> <a href="https://x.com/elonmusk/status/1893870468249141688" target="_blank"> <img src="https://img.shields.io/badge/Highlighted_by_Elon_Musk-000000?style=for-the-badge&logo=x&logoColor=white" alt="Highlighted by Elon Musk" /> </a> <br> </div>

<p align="center"> <img src=".github/images/dashboard.png" alt="PraisonAI Dashboard" width="800" /> </p>

<p align="center"> <img src=".github/images/agentflow.gif" alt="PraisonAI AgentFlow" width="800" /> </p>

 ██████╗ ██████╗  █████╗ ██╗███████╗ ██████╗ ███╗   ██╗     █████╗ ██╗
 ██╔══██╗██╔══██╗██╔══██╗██║██╔════╝██╔═══██╗████╗  ██║    ██╔══██╗██║
 ██████╔╝██████╔╝███████║██║███████╗██║   ██║██╔██╗ ██║    ███████║██║
 ██╔═══╝ ██╔══██╗██╔══██║██║╚════██║██║   ██║██║╚██╗██║    ██╔══██║██║
 ██║     ██║  ██║██║  ██║██║███████║╚██████╔╝██║ ╚████║    ██║  ██║██║
 ╚═╝     ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝╚══════╝ ╚═════╝ ╚═╝  ╚═══╝    ╚═╝  ╚═╝╚═╝

 pip install praisonai

<p align="center"> <img src=".github/images/latest_ai_news_and_crawl_each_url_to_find_info.gif" alt="PraisonAI command execution" width="800" /> </p>

\* export TAVILY_API_KEY=xxxxx

<div align="center"> <a href="https://docs.praison.ai"> <p align="center"> <img src="https://img.shields.io/badge/📚_Documentation-Visit_docs.praison.ai-blue?style=for-the-badge&logo=bookstack&logoColor=white" alt="Documentation" /> </p> </a> </div>

---

🎯 Use Cases

AI agents solving real-world problems across industries:

| Use Case | Description | |----------|-------------| | 🔍 Research & Analysis | Conduct deep research, gather information, and generate insights from multiple sources automatically | | 💻 Code Generation | Write, debug, and refactor code with AI agents that understand your codebase and requirements | | ✍️ Content Creation | Generate blog posts, documentation, marketing copy, and technical writing with multi-agent teams | | 📊 Data Pipelines | Extract, transform, and analyze data from APIs, databases, and web sources automatically | | 🤖 Customer Support | Deploy 24/7 support bots on Telegram, Discord, Slack with memory and knowledge-backed responses | | ⚙️ Workflow Automation | Automate multi-step business processes with agents that hand off tasks, verify results, and self-correct |

---

🚀 Meet your first Agent (Under 1 Minute)

  1. Install the lightweight core SDK:
pip install praisonaiagents
export OPENAI_API_KEY="your-api-key"
  1. Run your first autonomous agent:
from praisonaiagents import Agent

# Give your agent a goal, and watch it work.
agent = Agent(instructions="You are a senior data analyst.")
agent.start("Analyze the top 3 tech trends of 2026 and format as a markdown table.")

---

🌌 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

npm install praisonai

🧠 Supported Providers & Features

Powered by 100+ LLMs (OpenAI, Anthropic, Gemini & local models).

<p align="center"> <img src="https://img.shields.io/badge/OpenAI-412991?style=flat&logo=openai&logoColor=white" alt="OpenAI" /> <img src="https://img.shields.io/badge/Anthropic-191919?style=flat&logo=anthropic&logoColor=white" alt="Anthropic" /> <img src="https://img.shields.io/badge/Google_Gemini-4285F4?style=flat&logo=google&logoColor=white" alt="Google Gemini" /> <img src="https://img.shields.io/badge/DeepSeek-566AB2?style=flat" alt="DeepSeek" /> <img src="https://img.shields.io/badge/Azure-0078D4?style=flat&logo=microsoftazure&logoColor=white" alt="Azure" /> <img src="https://img.shields.io/badge/Ollama-000000?style=flat" alt="Ollama" /> <img src="https://img.shields.io/badge/Groq-F05237?style=flat" alt="Groq" /> <img src="https://img.shields.io/badge/Mistral-FF7000?style=flat" alt="Mistral" /> <img src="https://img.shields.io/badge/Cerebras-F05A28?style=flat" alt="Cerebras" /> <img src="https://img.shields.io/badge/Cohere-39594D?style=flat" alt="Cohere" /> <img src="https://img.shields.io/badge/OpenRouter-6467F2?style=flat" alt="OpenRouter" /> <img src="https://img.shields.io/badge/Perplexity-20808D?style=flat" alt="Perplexity" /> <img src="https://img.shields.io/badge/Fireworks-FF6B35?style=flat" alt="Fireworks" /> <img src="https://img.shields.io/badge/AWS_Bedrock-FF9900?style=flat&logo=amazonaws&logoColor=white" alt="AWS Bedrock" /> <img src="https://img.shields.io/badge/xAI_Grok-000000?style=flat" alt="xAI Grok" /> <img src="https://img.shields.io/badge/Vertex_AI-4285F4?style=flat&logo=googlecloud&logoColor=white" alt="Vertex AI" /> <img src="https://img.shields.io/badge/HuggingFace-FFD21E?style=flat&logo=huggingface&logoColor=black" alt="HuggingFace" /> <img src="https://img.shields.io/badge/Together_AI-000000?style=flat" alt="Together AI" /> <img src="https://img.shields.io/badge/Databricks-FF3621?style=flat&logo=databricks&logoColor=white" alt="Databricks" /> <img src="https://img.shields.io/badge/Replicate-262626?style=flat" alt="Replicate" /> <img src="https://img.shields.io/badge/Cloudflare-F38020?style=flat&logo=cloudflare&logoColor=white" alt="Cloudflare" /> </p>

<details> <summary><strong>View all 24 providers with examples</strong></summary>

| Provider | Example | |----------|:-------:| | OpenAI | Example | | Anthropic | Example | | Google Gemini | Example | | Ollama | Example | | Groq | Example | | DeepSeek | Example | | xAI Grok | Example | | Mistral | Example | | Cohere | Example | | Perplexity | Example | | Fireworks | Example | | Together AI | Example | | OpenRouter | Example | | HuggingFace | Example | | Azure OpenAI | Example | | AWS Bedrock | Example | | Google Vertex | Example | | Databricks | Example | | Cloudflare | Example | | AI21 | Example | | Replicate | Example | | SageMaker | Example | | Moonshot | Example | | vLLM | Example |

</details>

<div align="center"> <a href="https://x.com/elonmusk/status/1893870468249141688" target="_blank"> <img src=".github/images/elon_musk_praisonai.png" alt="Highlighted by Elon Musk" width="600" /> </a> <p><em>"Grok 3 customer support" — <a href="https://x.com/elonmusk/status/1893870468249141688">Elon Musk quoting PraisonAI's tutorial</a></em></p> </div> <br>

---

🌟 Why PraisonAI?

| | Feature | How | |--|---------|-----| | 🔌 | MCP Protocol — stdio, HTTP, WebSocket, SSE | tools=MCP("npx ...") | | 🧠 | Planning Mode — plan → execute → reason | planning=True | | 🔍 | Deep Research — multi-step autonomous research | Docs | | 🤖 | External Agents — orchestrate Claude Code, Gemini CLI, Codex | Docs | | 🔄 | Agent Handoffs — seamless conversation passing | handoff=True | | 🛡️ | Guardrails — input/output validation | Docs | | | Web Search + Fetch — native browsing | web_search=True | | 🪞 | Self Reflection — agent reviews its own output | Docs | | 🔀 | Workflow Patterns — route, parallel, loop, repeat | Docs | | 🧠 | Memory (zero deps) — works out of the box | memory=True |

<details> <summary><strong>View all 25 features</strong></summary>

| | Feature | How | |--|---------|-----| | 💡 | Prompt Caching — reduce latency + cost | prompt_caching=True | | 💾 | Sessions + Auto-Save — persistent state across restarts | auto_save="my-project" | | 💭 | Thinking Budgets — control reasoning depth | thinking_budget=1024 | | 📚 | RAG + Quality-Based RAG — auto quality scoring retrieval | Docs | | 📊 | Model Router — auto-routes to cheapest capable model | Docs | | 🧊 | Shadow Git Checkpoints — auto-rollback on failure | Docs | | 📡 | A2A Protocol — agent-to-agent interop | Docs | | 📏 | Context Compaction — never hit token limits | Docs | | 📡 | Telemetry — OpenTelemetry traces, spans, metrics | Docs | | 📜 | Policy Engine — declarative agent behavior control | Docs | | 🔄 | Background Tasks — fire-and-forget agents | Docs | | 🔁 | Doom Loop Detection — auto-recovery from stuck agents | Docs | | 🕸️ | Graph Memory — Neo4j-style relationship tracking | Docs | | 🏖️ | Sandbox Execution — isolated code execution | Docs | | 🖥️ | Bot Gateway — multi-agent routing across channels | Docs |

</details>

---

📘 Using Python Code

1. Single Agent

from praisonaiagents import Agent
agent = Agent(instructions="You are a helpful AI assistant")
agent.start("Write a movie script about a robot in Mars")

2. Multi Agents

from praisonaiagents import Agent, Agents

research_agent = Agent(instructions="Research about AI")
summarise_agent = Agent(instructions="Summarise research agent's findings")
agents = Agents(agents=[research_agent, summarise_agent])
agents.start()

3. MCP (Model Context Protocol)

from praisonaiagents import Agent, MCP

# stdio - Local NPX/Python servers
agent = Agent(tools=MCP("npx @modelcontextprotocol/server-memory"))

# Streamable HTTP - Production servers
agent = Agent(tools=MCP("https://api.example.com/mcp"))

# WebSocket - Real-time bidirectional
agent = Agent(tools=MCP("wss://api.example.com/mcp", auth_token="token"))

# With environment variables
agent = Agent(
    tools=MCP(
        command="npx",
        args=["-y", "@modelcontextprotocol/server-brave-search"],
        env={"BRAVE_API_KEY": "your-key"}
    )
)

📖 Full MCP docs — stdio, HTTP, WebSocket, SSE transports

4. Custom Tools

from praisonaiagents import Agent, tool

@tool
def search(query: str) -> str:
    """Search the web for information."""
    return f"Results for: {query}"

@tool
def calculate(expression: str) -> float:
    """Safely evaluate a numeric arithmetic expression."""
    import ast
    import operator
    
    # Define allowed operations
    _OPS = {
        ast.Add: operator.add,
        ast.Sub: operator.sub,
        ast.Mult: operator.mul,
        ast.Div: operator.truediv,
        ast.Pow: operator.pow,
        ast.USub: operator.neg,
        ast.UAdd: operator.pos,
    }
    
    def _safe_eval(node):
        if isinstance(node, ast.Constant) and isinstance(node.value, (int, float)):
            return node.value
        elif isinstance(node, ast.BinOp) and type(node.op) in _OPS:
            return _OPS[type(node.op)](_safe_eval(node.left), _safe_eval(node.right))
        elif isinstance(node, ast.UnaryOp) and type(node.op) in _OPS:
            return _OPS[type(node.op)](_safe_eval(node.operand))
        else:
            raise ValueError("Unsupported expression")
    
    try:
        return _safe_eval(ast.parse(expression, mode="eval").body)
    except (ValueError, SyntaxError, TypeError, ZeroDivisionError, OverflowError):
        raise ValueError("Invalid arithmetic expression")

agent = Agent(
    instructions="You are a helpful assistant",
    tools=[search, calculate]
)
agent.start("Search for AI news and calculate 15*4")

⚠️ Security Note: Never use eval(), exec(), or subprocess in 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)

from praisonaiagents import Agent, db

agent = Agent(
    name="Assistant",
    db=db(database_url="postgresql://localhost/mydb"),
    session_id="my-session"
)
agent.chat("Hello!")  # Auto-persists messages, runs, traces

📖 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.

pip install "praisonai[claw]"
praisonai claw

Required Environment Variables

Copy .env.example to .env and configure the following variables:

| Variable | Required | Description | |----------|----------|-------------| | OPENAI_API_KEY | Yes | OpenAI API key for all LLM calls | | TAVILY_API_KEY | Yes (Claw) | Tavily key for the built-in web-search tool. Get one free at https://app.tavily.com |

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.

pip install "praisonai[flow]"
praisonai flow

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.

pip install "praisonai[ui]"
praisonai ui

---

📄 Using YAML (No Code)

Example 1: Two Agents Working Together

Create agents.yaml:

framework: praisonai
topic: "Write a blog post about AI"

agents:
  researcher:
    role: Research Analyst
    goal: Research AI trends and gather information
    instructions: "Find accurate information about AI trends"
    
  writer:
    role: Content Writer
    goal: Write engaging blog posts
    instructions: "Write clear, engaging content based on research"

Run with: ``bash praisonai agents.yaml ``

The agents automatically work together sequentially

Example 2: Agent with Custom Tool

Create two files in the same folder:

agents.yaml: ```yaml framework: praisonai topic: "Calculate the sum of 25 and 15"

agents: calculator_agent: role: Calculator goal: Perform calculations instructions: "Use the add_numbers tool to help with calculations" tools:

  • add_numbers

**tools.py:**

def add_numbers(a: float, b: float) -> float: """ Add two numbers together.

Args: a: First number b: Second number

Returns: The sum of a and b """ return a + b ```

Run with: ``bash praisonai agents.yaml ``

💡 Tips: - Use the function name (e.g., add_numbers) in the tools list, not the file name - Tools in tools.py are automatically discovered - The function's docstring helps the AI understand how to use it

---

🎯 CLI Quick Reference

| Category | Commands | |----------|----------| | Execution | praisonai, --auto, --interactive, --chat | | Research | research, --query-rewrite, --deep-research | | Planning | --planning, --planning-tools, --planning-reasoning | | Workflows | workflow run, workflow list, workflow auto | | Memory | memory show, memory add, memory search, memory clear | | Knowledge | knowledge add, knowledge query, knowledge list | | Sessions | session list, session resume, session delete | | Tools | tools list, tools info, tools search | | MCP | mcp list, mcp create, mcp enable | | Development | commit, docs, checkpoint, hooks | | Scheduling | schedule start, schedule list, schedule stop |

📖 Full CLI reference

---

✨ Key Features

<details open> <summary><strong>🤖 Core Agents</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Single Agent | Example | 📖 | | Multi Agents | Example | 📖 | | Auto Agents | Example | 📖 | | Self Reflection AI Agents | Example | 📖 | | Reasoning AI Agents | Example | 📖 | | Multi Modal AI Agents | Example | 📖 |

</details>

<details> <summary><strong>🔄 Workflows</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Simple Workflow | Example | 📖 | | Workflow with Agents | Example | 📖 | | Agentic Routing (route()) | Example | 📖 | | Parallel Execution (parallel()) | Example | 📖 | | Loop over List/CSV (loop()) | Example | 📖 | | Evaluator-Optimizer (repeat()) | Example | 📖 | | Conditional Steps | Example | 📖 | | Workflow Branching | Example | 📖 | | Workflow Early Stop | Example | 📖 | | Workflow Checkpoints | Example | 📖 |

</details>

<details> <summary><strong>💻 Code & Development</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Code Interpreter Agents | Example | 📖 | | AI Code Editing Tools | Example | 📖 | | External Agents (All) | Example | 📖 | | Claude Code CLI | Example | 📖 | | Gemini CLI | Example | 📖 | | Codex CLI | Example | 📖 | | Cursor CLI | Example | 📖 |

</details>

<details> <summary><strong>🧠 Memory & Knowledge</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Memory (Short & Long Term) | Example | 📖 | | File-Based Memory | Example | 📖 | | Claude Memory Tool | Example | 📖 | | Add Custom Knowledge | Example | 📖 | | RAG Agents | Example | 📖 | | Chat with PDF Agents | Example | 📖 | | Data Readers (PDF, DOCX, etc.) | CLI | 📖 | | Vector Store Selection | CLI | 📖 | | Retrieval Strategies | CLI | 📖 | | Rerankers | CLI | 📖 | | Index Types (Vector/Keyword/Hybrid) | CLI | 📖 | | Query Engines (Sub-Question, etc.) | CLI | 📖 |

</details>

<details> <summary><strong>🔬 Research & Intelligence</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Deep Research Agents | Example | 📖 | | Query Rewriter Agent | Example | 📖 | | Native Web Search | Example | 📖 | | Built-in Search Tools | Example | 📖 | | Unified Web Search | Example | 📖 | | Web Fetch (Anthropic) | Example | 📖 |

</details>

<details> <summary><strong>📋 Planning & Execution</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Planning Mode | Example | 📖 | | Planning Tools | Example | 📖 | | Planning Reasoning | Example | 📖 | | Prompt Chaining | Example | 📖 | | Evaluator Optimiser | Example | 📖 | | Orchestrator Workers | Example | 📖 |

</details>

<details> <summary><strong>👥 Specialized Agents</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Data Analyst Agent | Example | 📖 | | Finance Agent | Example | 📖 | | Shopping Agent | Example | 📖 | | Recommendation Agent | Example | 📖 | | Wikipedia Agent | Example | 📖 | | Programming Agent | Example | 📖 | | Math Agents | Example | 📖 | | Markdown Agent | Example | 📖 | | Prompt Expander Agent | Example | 📖 |

</details>

<details> <summary><strong>🎨 Media & Multimodal</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Image Generation Agent | Example | 📖 | | Image to Text Agent | Example | 📖 | | Video Agent | Example | 📖 | | Camera Integration | Example | 📖 |

</details>

<details> <summary><strong>🔌 Protocols & Integration</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | MCP Transports | Example | 📖 | | WebSocket MCP | Example | 📖 | | MCP Security | Example | 📖 | | MCP Resumability | Example | 📖 | | MCP Config Management | Docs | 📖 | | LangChain Integrated Agents | Example | 📖 |

</details>

<details> <summary><strong>🛡️ Safety & Control</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Guardrails | Example | 📖 | | Human Approval | Example | 📖 | | Rules & Instructions | Docs | 📖 |

</details>

<details> <summary><strong>⚙️ Advanced Features</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Async & Parallel Processing | Example | 📖 | | Parallelisation | Example | 📖 | | Repetitive Agents | Example | 📖 | | Agent Handoffs | Example | 📖 | | Stateful Agents | Example | 📖 | | Autonomous Workflow | Example | 📖 | | Structured Output Agents | Example | 📖 | | Model Router | Example | 📖 | | Prompt Caching | Example | 📖 | | Fast Context | Example | 📖 |

</details>

<details> <summary><strong>🛠️ Tools & Configuration</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | 100+ Custom Tools | Example | 📖 | | YAML Configuration | Example | 📖 | | 100+ LLM Support | Example | 📖 | | Callback Agents | Example | 📖 | | Hooks | Example | 📖 | | Middleware System | Example | 📖 | | Configurable Model | Example | 📖 | | Rate Limiter | Example | 📖 | | Injected Tool State | Example | 📖 | | Shadow Git Checkpoints | Example | 📖 | | Background Tasks | Example | 📖 | | Policy Engine | Example | 📖 | | Thinking Budgets | Example | 📖 | | Output Styles | Example | 📖 | | Context Compaction | Example | 📖 |

</details>

<details> <summary><strong>📊 Monitoring & Management</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Sessions Management | Example | 📖 | | Auto-Save Sessions | Docs | 📖 | | History in Context | Docs | 📖 | | Telemetry | Example | 📖 | | Langfuse Tracing | Docs | 📖 | | Project Docs (.praison/docs/) | Docs | 📖 | | AI Commit Messages | Docs | 📖 | | @Mentions in Prompts | Docs | 📖 |

</details>

<details> <summary><strong>🖥️ CLI Features</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Slash Commands | Example | 📖 | | Autonomy Modes | Example | 📖 | | Cost Tracking | Example | 📖 | | Repository Map | Example | 📖 | | Interactive TUI | Example | 📖 | | Git Integration | Example | 📖 | | Sandbox Execution | Example | 📖 | | CLI Compare | Example | 📖 | | Profile/Benchmark | Docs | 📖 | | Auto Mode | Docs | 📖 | | Init | Docs | 📖 | | File Input | Docs | 📖 | | Final Agent | Docs | 📖 | | Max Tokens | Docs | 📖 |

</details>

<details> <summary><strong>🧪 Evaluation</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Accuracy Evaluation | Example | 📖 | | Performance Evaluation | Example | 📖 | | Reliability Evaluation | Example | 📖 | | Criteria Evaluation | Example | 📖 |

</details>

<details> <summary><strong>🎯 Agent Skills</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Skills Management | Example | 📖 | | Custom Skills | Example | 📖 |

</details>

<details> <summary><strong>⏰ 24/7 Scheduling</strong></summary>

| Feature | Code | Docs | |---------|:----:|:----:| | Agent Scheduler | Example | 📖 |

</details>

---

💻 Using JavaScript Code

npm install praisonai
export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
const { Agent } = require('praisonai');
const agent = new Agent({ instructions: 'You are a helpful AI assistant' });
agent.start('Write a movie script about a robot in Mars');

---

⚡ Performance

PraisonAI is built for speed, with agent instantiation in around 14μs. This reduces overhead, improves responsiveness, and helps multi-agent systems scale efficiently in real-world production workloads.

| Performance Metric | PraisonAI | |--------------------|-----------| | Avg Instantiation Time | 14 μs |

---

---

⭐ Star History

![Star History Chart](https://docs.praison.ai)

---

🔍 Langfuse Tracing

pip install "praisonai[langfuse]"
praisonai langfuse

<p align="center"> <img src=".github/images/langfuse.png" alt="PraisonAI Langfuse Tracing" width="800" /> </p>

---

🎓 Video Tutorials

Learn PraisonAI through our comprehensive video series:

<details> <summary><strong>View all 22 video tutorials</strong></summary>

| Topic | Video | |-------|--------| | AI Agents with Self Reflection | ![Self Reflection](https://www.youtube.com/watch?v=vLXobEN2Vc8) | | Reasoning Data Generating Agent | ![Reasoning Data](https://www.youtube.com/watch?v=fUT332Y2zA8) | | AI Agents with Reasoning | ![Reasoning](https://www.youtube.com/watch?v=KNDVWGN3TpM) | | Multimodal AI Agents | ![Multimodal](https://www.youtube.com/watch?v=hjAWmUT1qqY) | | AI Agents Workflow | ![Workflow](https://www.youtube.com/watch?v=yWTH44QPl2A) | | Async AI Agents | ![Async](https://www.youtube.com/watch?v=VhVQfgo00LE) | | Mini AI Agents | ![Mini](https://www.youtube.com/watch?v=OkvYp5aAGSg) | | AI Agents with Memory | ![Memory](https://www.youtube.com/watch?v=1hVfVxvPnnQ) | | Repetitive Agents | ![Repetitive](https://www.youtube.com/watch?v=dAYGxsjDOPg) | | Introduction | ![Introduction](https://www.youtube.com/watch?v=Fn1lQjC0GO0) | | Tools Overview | ![Tools Overview](https://www.youtube.com/watch?v=XaQRgRpV7jo) | | Custom Tools | ![Custom Tools](https://www.youtube.com/watch?v=JSU2Rndh06c) | | Firecrawl Integration | ![Firecrawl](https://www.youtube.com/watch?v=UoqUDcLcOYo) | | User Interface | ![UI](https://www.youtube.com/watch?v=tg-ZjNl3OCg) | | Crawl4AI Integration | ![Crawl4AI](https://www.youtube.com/watch?v=KAvuVUh0XU8) | | Chat Interface | ![Chat](https://www.youtube.com/watch?v=sw3uDqn2h1Y) | | Code Interface | ![Code](https://www.youtube.com/watch?v=_5jQayO-MQY) | | Mem0 Integration | ![Mem0](https://www.youtube.com/watch?v=KIGSgRxf1cY) | | Training | ![Training](https://www.youtube.com/watch?v=aLawE8kwCrI) | | Realtime Voice Interface | ![Realtime](https://www.youtube.com/watch?v=frRHfevTCSw) | | Call Interface | ![Call](https://www.youtube.com/watch?v=m1cwrUG2iAk) | | Reasoning Extract Agents | ![Reasoning Extract](https://www.youtube.com/watch?v=2PPamsADjJA) |

</details>

---

👥 Contributing

We welcome contributions! Fork the repo, create a branch, and submit a PR → Contributing Guide.

---

❓ FAQ & Troubleshooting

<details> <summary><strong>ModuleNotFoundError: No module named 'praisonaiagents'</strong></summary>

Install the package: ``bash pip install praisonaiagents ``

</details>

<details> <summary><strong>API key not found / Authentication error</strong></summary>

Ensure your API key is set: ``bash export OPENAI_API_KEY=your_key_here ``

For other providers, see Models docs.

</details>

<details> <summary><strong>How do I use a local model (Ollama)?</strong></summary>

# Start Ollama server first
ollama serve

# Set environment variable
export OPENAI_BASE_URL=http://localhost:11434/v1

See Models docs for more details.

</details>

<details> <summary><strong>How do I persist conversations to a database?</strong></summary>

Use the db parameter: ```python from praisonaiagents import Agent, db

agent = Agent( name="Assistant", db=db(database_url="postgresql://localhost/mydb"), session_id="my-session" ) ```

See Persistence docs for supported databases.

</details>

<details> <summary><strong>How do I enable agent memory?</strong></summary>

from praisonaiagents import Agent

agent = Agent(
    name="Assistant",
    memory=True,  # Enables file-based memory (no extra deps!)
    user_id="user123"
)

See Memory docs for more options.

</details>

<details> <summary><strong>How do I run multiple agents together?</strong></summary>

from praisonaiagents import Agent, Agents

agent1 = Agent(instructions="Research topics")
agent2 = Agent(instructions="Summarize findings")
agents = Agents(agents=[agent1, agent2])
agents.start()

See Agents docs for more examples.

</details>

<details> <summary><strong>How do I use MCP tools?</strong></summary>

from praisonaiagents import Agent, MCP

agent = Agent(
    tools=MCP("npx @modelcontextprotocol/server-memory")
)

See MCP docs for all transport options.

</details>

Getting Help

---

<div align="center"> <p><strong>Made with ❤️ by the PraisonAI Team</strong></p> <p> <a href="https://docs.praison.ai">📚 Documentation</a> • <a href="https://github.com/MervinPraison/PraisonAI">GitHub</a> • <a href="https://youtube.com/@MervinPraison">▶️ YouTube</a> • <a href="https://x.com/MervinPraison">𝕏 X</a> • <a href="https://linkedin.com/in/mervinpraison">💼 LinkedIn</a> </p> </div>

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use AI & ML servers.