/ README.md
README.md
1 <p align="center"> 2 <picture> 3 <source media="(prefers-color-scheme: dark)" srcset=".github/images/logo_dark.png" /> 4 <source media="(prefers-color-scheme: light)" srcset=".github/images/logo_light.png" /> 5 <img alt="PraisonAI Logo" src=".github/images/logo_light.png" width="250" /> 6 </picture> 7 </p> 8 9 <!-- mcp-name: io.github.MervinPraison/praisonai --> 10 11 <p align="center"> 12 <a href="https://github.com/MervinPraison/PraisonAI"><img src="https://static.pepy.tech/badge/PraisonAI" alt="Total Downloads" /></a> 13 <a href="https://github.com/MervinPraison/PraisonAI"><img src="https://img.shields.io/github/v/release/MervinPraison/PraisonAI" alt="Latest Stable Version" /></a> 14 <a href="https://github.com/MervinPraison/PraisonAI"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License" /></a> 15 <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> 16 </p> 17 18 <div align="center"> 19 20 # PraisonAI π¦ 21 22 <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> 23 24 </div> 25 26 PraisonAI π¦ β **Hire a 24/7 AI Workforce.** Stop writing boilerplate and start shipping autonomous agents that research, plan, and execute tasks across your apps. From one agent to an entire organization, deployed in 5 lines of code. 27 28 ```bash 29 curl -fsSL https://praison.ai/install.sh | bash 30 ``` 31 32 <div align="center"> 33 <br> 34 <a href="https://x.com/elonmusk/status/1893870468249141688" target="_blank"> 35 <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" /> 36 </a> 37 <br> 38 </div> 39 40 <p align="center"> 41 <img src=".github/images/dashboard.png" alt="PraisonAI Dashboard" width="800" /> 42 </p> 43 44 <p align="center"> 45 <img src=".github/images/agentflow.gif" alt="PraisonAI AgentFlow" width="800" /> 46 </p> 47 48 ``` 49 βββββββ βββββββ ββββββ βββββββββββ βββββββ ββββ βββ ββββββ βββ 50 βββββββββββββββββββββββββββββββββββββββββββββββββ βββ βββββββββββ 51 ββββββββββββββββββββββββββββββββββββββ βββββββββ βββ βββββββββββ 52 βββββββ ββββββββββββββββββββββββββββββ βββββββββββββ βββββββββββ 53 βββ βββ ββββββ ββββββββββββββββββββββββββ ββββββ βββ ββββββ 54 βββ βββ ββββββ ββββββββββββββ βββββββ βββ βββββ βββ ββββββ 55 56 pip install praisonai 57 ``` 58 59 <p align="center"> 60 <img src=".github/images/latest_ai_news_and_crawl_each_url_to_find_info.gif" alt="PraisonAI command execution" width="800" /> 61 </p> 62 63 \* `export TAVILY_API_KEY=xxxxx` 64 65 <div align="center"> 66 <a href="https://docs.praison.ai"> 67 <p align="center"> 68 <img src="https://img.shields.io/badge/π_Documentation-Visit_docs.praison.ai-blue?style=for-the-badge&logo=bookstack&logoColor=white" alt="Documentation" /> 69 </p> 70 </a> 71 </div> 72 73 --- 74 75 ## π― Use Cases 76 77 AI agents solving real-world problems across industries: 78 79 | Use Case | Description | 80 |----------|-------------| 81 | π **Research & Analysis** | Conduct deep research, gather information, and generate insights from multiple sources automatically | 82 | π» **Code Generation** | Write, debug, and refactor code with AI agents that understand your codebase and requirements | 83 | βοΈ **Content Creation** | Generate blog posts, documentation, marketing copy, and technical writing with multi-agent teams | 84 | π **Data Pipelines** | Extract, transform, and analyze data from APIs, databases, and web sources automatically | 85 | π€ **Customer Support** | Deploy 24/7 support bots on Telegram, Discord, Slack with memory and knowledge-backed responses | 86 | βοΈ **Workflow Automation** | Automate multi-step business processes with agents that hand off tasks, verify results, and self-correct | 87 88 --- 89 90 ## π Meet your first Agent (Under 1 Minute) 91 92 1. Install the lightweight core SDK: 93 ```bash 94 pip install praisonaiagents 95 export OPENAI_API_KEY="your-api-key" 96 ``` 97 98 2. Run your first autonomous agent: 99 ```python 100 from praisonaiagents import Agent 101 102 # Give your agent a goal, and watch it work. 103 agent = Agent(instructions="You are a senior data analyst.") 104 agent.start("Analyze the top 3 tech trends of 2026 and format as a markdown table.") 105 ``` 106 107 --- 108 109 ## π The PraisonAI Ecosystem 110 111 Start simple with the core SDK, or expand to full visual builders and dashboards when you're ready. 112 113 * **Core SDK (`praisonaiagents`)**: For pure Python development. `pip install praisonaiagents` 114 * π» **PraisonAI CLI (`praisonai`)**: For terminal-based developers. `pip install praisonai` 115 * π¦ **Claw Dashboard**: Connect agents directly to Telegram, Slack, or Discord. `pip install "praisonai[claw]"` 116 * π **Flow Visual Builder**: Drag-and-drop workflow creation. `pip install "praisonai[flow]"` 117 * π€ **PraisonAI UI**: Clean chat interface. `pip install "praisonai[ui]"` 118 119 ### JavaScript SDK 120 121 ```bash 122 npm install praisonai 123 ``` 124 125 ## π§ Supported Providers & Features 126 127 Powered by 100+ LLMs (OpenAI, Anthropic, Gemini & local models). 128 129 <p align="center"> 130 <img src="https://img.shields.io/badge/OpenAI-412991?style=flat&logo=openai&logoColor=white" alt="OpenAI" /> 131 <img src="https://img.shields.io/badge/Anthropic-191919?style=flat&logo=anthropic&logoColor=white" alt="Anthropic" /> 132 <img src="https://img.shields.io/badge/Google_Gemini-4285F4?style=flat&logo=google&logoColor=white" alt="Google Gemini" /> 133 <img src="https://img.shields.io/badge/DeepSeek-566AB2?style=flat" alt="DeepSeek" /> 134 <img src="https://img.shields.io/badge/Azure-0078D4?style=flat&logo=microsoftazure&logoColor=white" alt="Azure" /> 135 <img src="https://img.shields.io/badge/Ollama-000000?style=flat" alt="Ollama" /> 136 <img src="https://img.shields.io/badge/Groq-F05237?style=flat" alt="Groq" /> 137 <img src="https://img.shields.io/badge/Mistral-FF7000?style=flat" alt="Mistral" /> 138 <img src="https://img.shields.io/badge/Cerebras-F05A28?style=flat" alt="Cerebras" /> 139 <img src="https://img.shields.io/badge/Cohere-39594D?style=flat" alt="Cohere" /> 140 <img src="https://img.shields.io/badge/OpenRouter-6467F2?style=flat" alt="OpenRouter" /> 141 <img src="https://img.shields.io/badge/Perplexity-20808D?style=flat" alt="Perplexity" /> 142 <img src="https://img.shields.io/badge/Fireworks-FF6B35?style=flat" alt="Fireworks" /> 143 <img src="https://img.shields.io/badge/AWS_Bedrock-FF9900?style=flat&logo=amazonaws&logoColor=white" alt="AWS Bedrock" /> 144 <img src="https://img.shields.io/badge/xAI_Grok-000000?style=flat" alt="xAI Grok" /> 145 <img src="https://img.shields.io/badge/Vertex_AI-4285F4?style=flat&logo=googlecloud&logoColor=white" alt="Vertex AI" /> 146 <img src="https://img.shields.io/badge/HuggingFace-FFD21E?style=flat&logo=huggingface&logoColor=black" alt="HuggingFace" /> 147 <img src="https://img.shields.io/badge/Together_AI-000000?style=flat" alt="Together AI" /> 148 <img src="https://img.shields.io/badge/Databricks-FF3621?style=flat&logo=databricks&logoColor=white" alt="Databricks" /> 149 <img src="https://img.shields.io/badge/Replicate-262626?style=flat" alt="Replicate" /> 150 <img src="https://img.shields.io/badge/Cloudflare-F38020?style=flat&logo=cloudflare&logoColor=white" alt="Cloudflare" /> 151 </p> 152 153 <details> 154 <summary><strong>View all 24 providers with examples</strong></summary> 155 156 | Provider | Example | 157 |----------|:-------:| 158 | OpenAI | [Example](examples/python/providers/openai/openai_gpt4_example.py) | 159 | Anthropic | [Example](examples/python/providers/anthropic/anthropic_claude_example.py) | 160 | Google Gemini | [Example](examples/python/providers/google/google_gemini_example.py) | 161 | Ollama | [Example](examples/python/providers/ollama/ollama-agents.py) | 162 | Groq | [Example](examples/python/providers/groq/kimi_with_groq_example.py) | 163 | DeepSeek | [Example](examples/python/providers/deepseek/deepseek_example.py) | 164 | xAI Grok | [Example](examples/python/providers/xai/xai_grok_example.py) | 165 | Mistral | [Example](examples/python/providers/mistral/mistral_example.py) | 166 | Cohere | [Example](examples/python/providers/cohere/cohere_example.py) | 167 | Perplexity | [Example](examples/python/providers/perplexity/perplexity_example.py) | 168 | Fireworks | [Example](examples/python/providers/fireworks/fireworks_example.py) | 169 | Together AI | [Example](examples/python/providers/together/together_ai_example.py) | 170 | OpenRouter | [Example](examples/python/providers/openrouter/openrouter_example.py) | 171 | HuggingFace | [Example](examples/python/providers/huggingface/huggingface_example.py) | 172 | Azure OpenAI | [Example](examples/python/providers/azure/azure_openai_example.py) | 173 | AWS Bedrock | [Example](examples/python/providers/aws/aws_bedrock_example.py) | 174 | Google Vertex | [Example](examples/python/providers/vertex/vertex_example.py) | 175 | Databricks | [Example](examples/python/providers/databricks/databricks_example.py) | 176 | Cloudflare | [Example](examples/python/providers/cloudflare/cloudflare_example.py) | 177 | AI21 | [Example](examples/python/providers/ai21/ai21_example.py) | 178 | Replicate | [Example](examples/python/providers/replicate/replicate_example.py) | 179 | SageMaker | [Example](examples/python/providers/sagemaker/sagemaker_example.py) | 180 | Moonshot | [Example](examples/python/providers/moonshot/moonshot_example.py) | 181 | vLLM | [Example](examples/python/providers/vllm/vllm_example.py) | 182 183 </details> 184 185 <div align="center"> 186 <a href="https://x.com/elonmusk/status/1893870468249141688" target="_blank"> 187 <img src=".github/images/elon_musk_praisonai.png" alt="Highlighted by Elon Musk" width="600" /> 188 </a> 189 <p><em>"Grok 3 customer support" β <a href="https://x.com/elonmusk/status/1893870468249141688">Elon Musk quoting PraisonAI's tutorial</a></em></p> 190 </div> 191 <br> 192 193 --- 194 195 ## π Why PraisonAI? 196 197 | | Feature | How | 198 |--|---------|-----| 199 | π | **MCP Protocol** β stdio, HTTP, WebSocket, SSE | `tools=MCP("npx ...")` | 200 | π§ | **Planning Mode** β plan β execute β reason | `planning=True` | 201 | π | **Deep Research** β multi-step autonomous research | [Docs](https://docs.praison.ai/docs/agents/deep-research) | 202 | π€ | **External Agents** β orchestrate Claude Code, Gemini CLI, Codex | [Docs](https://docs.praison.ai/docs/code/external-agents) | 203 | π | **Agent Handoffs** β seamless conversation passing | `handoff=True` | 204 | π‘οΈ | **Guardrails** β input/output validation | [Docs](https://docs.praison.ai/docs/concepts/guardrails) | 205 | | **Web Search + Fetch** β native browsing | `web_search=True` | 206 | πͺ | **Self Reflection** β agent reviews its own output | [Docs](https://docs.praison.ai/docs/concepts/reflection) | 207 | π | **Workflow Patterns** β route, parallel, loop, repeat | [Docs](https://docs.praison.ai/docs/concepts/agentflow) | 208 | π§ | **Memory (zero deps)** β works out of the box | `memory=True` | 209 210 <details> 211 <summary><strong>View all 25 features</strong></summary> 212 213 | | Feature | How | 214 |--|---------|-----| 215 | π‘ | **Prompt Caching** β reduce latency + cost | `prompt_caching=True` | 216 | πΎ | **Sessions + Auto-Save** β persistent state across restarts | `auto_save="my-project"` | 217 | π | **Thinking Budgets** β control reasoning depth | `thinking_budget=1024` | 218 | π | **RAG + Quality-Based RAG** β auto quality scoring retrieval | [Docs](https://docs.praison.ai/docs/concepts/rag) | 219 | π | **Model Router** β auto-routes to cheapest capable model | [Docs](https://docs.praison.ai/docs/features/model-router) | 220 | π§ | **Shadow Git Checkpoints** β auto-rollback on failure | [Docs](https://docs.praison.ai/docs/features/checkpoints) | 221 | π‘ | **A2A Protocol** β agent-to-agent interop | [Docs](https://docs.praison.ai/docs/features/a2a) | 222 | π | **Context Compaction** β never hit token limits | [Docs](https://docs.praison.ai/docs/features/context-compaction) | 223 | π‘ | **Telemetry** β OpenTelemetry traces, spans, metrics | [Docs](https://docs.praison.ai/docs/features/telemetry) | 224 | π | **Policy Engine** β declarative agent behavior control | [Docs](https://docs.praison.ai/docs/features/policy-engine) | 225 | π | **Background Tasks** β fire-and-forget agents | [Docs](https://docs.praison.ai/docs/features/background-tasks) | 226 | π | **Doom Loop Detection** β auto-recovery from stuck agents | [Docs](https://docs.praison.ai/docs/features/doom-loop-detection) | 227 | πΈοΈ | **Graph Memory** β Neo4j-style relationship tracking | [Docs](https://docs.praison.ai/docs/features/graph-memory) | 228 | ποΈ | **Sandbox Execution** β isolated code execution | [Docs](https://docs.praison.ai/docs/features/sandbox) | 229 | π₯οΈ | **Bot Gateway** β multi-agent routing across channels | [Docs](https://docs.praison.ai/docs/features/bot-gateway) | 230 231 </details> 232 233 234 235 236 --- 237 238 ## π Using Python Code 239 240 ### 1. Single Agent 241 242 ```python 243 from praisonaiagents import Agent 244 agent = Agent(instructions="You are a helpful AI assistant") 245 agent.start("Write a movie script about a robot in Mars") 246 ``` 247 248 ### 2. Multi Agents 249 250 ```python 251 from praisonaiagents import Agent, Agents 252 253 research_agent = Agent(instructions="Research about AI") 254 summarise_agent = Agent(instructions="Summarise research agent's findings") 255 agents = Agents(agents=[research_agent, summarise_agent]) 256 agents.start() 257 ``` 258 259 ### 3. MCP (Model Context Protocol) 260 261 ```python 262 from praisonaiagents import Agent, MCP 263 264 # stdio - Local NPX/Python servers 265 agent = Agent(tools=MCP("npx @modelcontextprotocol/server-memory")) 266 267 # Streamable HTTP - Production servers 268 agent = Agent(tools=MCP("https://api.example.com/mcp")) 269 270 # WebSocket - Real-time bidirectional 271 agent = Agent(tools=MCP("wss://api.example.com/mcp", auth_token="token")) 272 273 # With environment variables 274 agent = Agent( 275 tools=MCP( 276 command="npx", 277 args=["-y", "@modelcontextprotocol/server-brave-search"], 278 env={"BRAVE_API_KEY": "your-key"} 279 ) 280 ) 281 ``` 282 283 > π [Full MCP docs](https://docs.praison.ai/docs/mcp/transports) β stdio, HTTP, WebSocket, SSE transports 284 285 ### 4. Custom Tools 286 287 ```python 288 from praisonaiagents import Agent, tool 289 290 @tool 291 def search(query: str) -> str: 292 """Search the web for information.""" 293 return f"Results for: {query}" 294 295 @tool 296 def calculate(expression: str) -> float: 297 """Evaluate a math expression.""" 298 return eval(expression) 299 300 agent = Agent( 301 instructions="You are a helpful assistant", 302 tools=[search, calculate] 303 ) 304 agent.start("Search for AI news and calculate 15*4") 305 ``` 306 307 > π [Full tools docs](https://docs.praison.ai/docs/tools/tools) β BaseTool, tool packages, 100+ built-in tools 308 309 ### 5. Persistence (Databases) 310 311 ```python 312 from praisonaiagents import Agent, db 313 314 agent = Agent( 315 name="Assistant", 316 db=db(database_url="postgresql://localhost/mydb"), 317 session_id="my-session" 318 ) 319 agent.chat("Hello!") # Auto-persists messages, runs, traces 320 ``` 321 322 > π [Full persistence docs](https://docs.praison.ai/docs/databases/overview) β PostgreSQL, MySQL, SQLite, MongoDB, Redis, and 20+ more 323 324 ### 6. PraisonAI Claw π¦ (Dashboard UI) 325 326 Connect your AI agents to **Telegram, Discord, Slack, WhatsApp** and more β all from a single command. 327 328 ```bash 329 pip install "praisonai[claw]" 330 praisonai claw 331 ``` 332 333 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. 334 335 > π [Full Claw docs](https://docs.praison.ai/docs/concepts/claw) β platform tokens, CLI options, Docker, and YAML agent mode 336 337 ### 7. Langflow Integration π (Visual Flow Builder) 338 339 Build multi-agent workflows visually with **drag-and-drop** components in Langflow. 340 341 ```bash 342 pip install "praisonai[flow]" 343 praisonai flow 344 ``` 345 346 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. 347 348 > π [Full Flow docs](https://docs.praison.ai/docs/concepts/flow) β visual agent building, component reference, and deployment 349 350 ### 8. PraisonAI UI π€ (Clean Chat) 351 352 Lightweight chat interface for your AI agents. 353 354 ```bash 355 pip install "praisonai[ui]" 356 praisonai ui 357 ``` 358 359 --- 360 361 ## π Using YAML (No Code) 362 363 ### Example 1: Two Agents Working Together 364 365 Create `agents.yaml`: 366 367 ```yaml 368 framework: praisonai 369 topic: "Write a blog post about AI" 370 371 agents: 372 researcher: 373 role: Research Analyst 374 goal: Research AI trends and gather information 375 instructions: "Find accurate information about AI trends" 376 377 writer: 378 role: Content Writer 379 goal: Write engaging blog posts 380 instructions: "Write clear, engaging content based on research" 381 ``` 382 383 Run with: 384 ```bash 385 praisonai agents.yaml 386 ``` 387 388 > The agents automatically work together sequentially 389 390 ### Example 2: Agent with Custom Tool 391 392 Create two files in the same folder: 393 394 **agents.yaml:** 395 ```yaml 396 framework: praisonai 397 topic: "Calculate the sum of 25 and 15" 398 399 agents: 400 calculator_agent: 401 role: Calculator 402 goal: Perform calculations 403 instructions: "Use the add_numbers tool to help with calculations" 404 tools: 405 - add_numbers 406 ``` 407 408 **tools.py:** 409 ```python 410 def add_numbers(a: float, b: float) -> float: 411 """ 412 Add two numbers together. 413 414 Args: 415 a: First number 416 b: Second number 417 418 Returns: 419 The sum of a and b 420 """ 421 return a + b 422 ``` 423 424 Run with: 425 ```bash 426 praisonai agents.yaml 427 ``` 428 429 > π‘ **Tips:** 430 > - Use the function name (e.g., `add_numbers`) in the tools list, not the file name 431 > - Tools in `tools.py` are automatically discovered 432 > - The function's docstring helps the AI understand how to use it 433 434 --- 435 436 ## π― CLI Quick Reference 437 438 | Category | Commands | 439 |----------|----------| 440 | **Execution** | `praisonai`, `--auto`, `--interactive`, `--chat` | 441 | **Research** | `research`, `--query-rewrite`, `--deep-research` | 442 | **Planning** | `--planning`, `--planning-tools`, `--planning-reasoning` | 443 | **Workflows** | `workflow run`, `workflow list`, `workflow auto` | 444 | **Memory** | `memory show`, `memory add`, `memory search`, `memory clear` | 445 | **Knowledge** | `knowledge add`, `knowledge query`, `knowledge list` | 446 | **Sessions** | `session list`, `session resume`, `session delete` | 447 | **Tools** | `tools list`, `tools info`, `tools search` | 448 | **MCP** | `mcp list`, `mcp create`, `mcp enable` | 449 | **Development** | `commit`, `docs`, `checkpoint`, `hooks` | 450 | **Scheduling** | `schedule start`, `schedule list`, `schedule stop` | 451 452 > π [Full CLI reference](https://docs.praison.ai/docs/cli/cli-reference) 453 454 --- 455 456 ## β¨ Key Features 457 458 <details open> 459 <summary><strong>π€ Core Agents</strong></summary> 460 461 | Feature | Code | Docs | 462 |---------|:----:|:----:| 463 | Single Agent | [Example](examples/python/agents/single-agent.py) | [π](https://docs.praison.ai/docs/agents/single) | 464 | Multi Agents | [Example](examples/python/general/mini_agents_example.py) | [π](https://docs.praison.ai/docs/concepts/agents) | 465 | Auto Agents | [Example](examples/python/general/auto_agents_example.py) | [π](https://docs.praison.ai/docs/features/autoagents) | 466 | Self Reflection AI Agents | [Example](examples/python/concepts/self-reflection-details.py) | [π](https://docs.praison.ai/docs/concepts/reflection) | 467 | Reasoning AI Agents | [Example](examples/python/concepts/reasoning-extraction.py) | [π](https://docs.praison.ai/docs/features/reasoning) | 468 | Multi Modal AI Agents | [Example](examples/python/general/multimodal.py) | [π](https://docs.praison.ai/docs/features/multimodal) | 469 470 </details> 471 472 <details> 473 <summary><strong>π Workflows</strong></summary> 474 475 | Feature | Code | Docs | 476 |---------|:----:|:----:| 477 | Simple Workflow | [Example](examples/python/workflows/simple_workflow.py) | [π](https://docs.praison.ai/docs/concepts/agentflow) | 478 | Workflow with Agents | [Example](examples/python/workflows/workflow_with_agents.py) | [π](https://docs.praison.ai/docs/concepts/agentflow) | 479 | Agentic Routing (`route()`) | [Example](examples/python/workflows/workflow_routing.py) | [π](https://docs.praison.ai/docs/features/routing) | 480 | Parallel Execution (`parallel()`) | [Example](examples/python/workflows/workflow_parallel.py) | [π](https://docs.praison.ai/docs/features/parallelisation) | 481 | Loop over List/CSV (`loop()`) | [Example](examples/python/workflows/workflow_loop_csv.py) | [π](https://docs.praison.ai/docs/features/repetitive) | 482 | Evaluator-Optimizer (`repeat()`) | [Example](examples/python/workflows/workflow_repeat.py) | [π](https://docs.praison.ai/docs/concepts/evaluation) | 483 | Conditional Steps | [Example](examples/python/workflows/workflow_conditional.py) | [π](https://docs.praison.ai/docs/concepts/agentflow) | 484 | Workflow Branching | [Example](examples/python/workflows/workflow_branching.py) | [π](https://docs.praison.ai/docs/concepts/agentflow) | 485 | Workflow Early Stop | [Example](examples/python/workflows/workflow_early_stop.py) | [π](https://docs.praison.ai/docs/concepts/agentflow) | 486 | Workflow Checkpoints | [Example](examples/python/workflows/workflow_checkpoints.py) | [π](https://docs.praison.ai/docs/concepts/agentflow) | 487 488 </details> 489 490 <details> 491 <summary><strong>π» Code & Development</strong></summary> 492 493 | Feature | Code | Docs | 494 |---------|:----:|:----:| 495 | Code Interpreter Agents | [Example](examples/python/agents/code-agent.py) | [π](https://docs.praison.ai/docs/features/codeagent) | 496 | AI Code Editing Tools | [Example](examples/python/code/code_editing_example.py) | [π](https://docs.praison.ai/docs/code/editing) | 497 | External Agents (All) | [Example](examples/python/code/external_agents_example.py) | [π](https://docs.praison.ai/docs/code/external-agents) | 498 | Claude Code CLI | [Example](examples/python/code/claude_code_example.py) | [π](https://docs.praison.ai/docs/code/claude-code) | 499 | Gemini CLI | [Example](examples/python/code/gemini_cli_example.py) | [π](https://docs.praison.ai/docs/code/gemini-cli) | 500 | Codex CLI | [Example](examples/python/code/codex_cli_example.py) | [π](https://docs.praison.ai/docs/code/codex-cli) | 501 | Cursor CLI | [Example](examples/python/code/cursor_cli_example.py) | [π](https://docs.praison.ai/docs/code/cursor-cli) | 502 503 </details> 504 505 <details> 506 <summary><strong>π§ Memory & Knowledge</strong></summary> 507 508 | Feature | Code | Docs | 509 |---------|:----:|:----:| 510 | Memory (Short & Long Term) | [Example](examples/python/general/memory_example.py) | [π](https://docs.praison.ai/docs/concepts/memory) | 511 | File-Based Memory | [Example](examples/python/general/memory_example.py) | [π](https://docs.praison.ai/docs/concepts/memory) | 512 | Claude Memory Tool | [Example](examples/python/memory/claude_memory_example.py) | [π](https://docs.praison.ai/docs/features/claude-memory-tool) | 513 | Add Custom Knowledge | [Example](examples/python/concepts/knowledge-agents.py) | [π](https://docs.praison.ai/docs/concepts/knowledge) | 514 | RAG Agents | [Example](examples/python/concepts/rag-agents.py) | [π](https://docs.praison.ai/docs/concepts/rag) | 515 | Chat with PDF Agents | [Example](examples/python/concepts/chat-with-pdf.py) | [π](https://docs.praison.ai/docs/features/chat-with-pdf) | 516 | Data Readers (PDF, DOCX, etc.) | [CLI](https://docs.praison.ai/docs/cli/knowledge) | [π](https://docs.praison.ai/docs/features/chunking-strategies) | 517 | Vector Store Selection | [CLI](https://docs.praison.ai/docs/cli/knowledge) | [π](https://docs.praison.ai/docs/features/knowledge-backends) | 518 | Retrieval Strategies | [CLI](https://docs.praison.ai/docs/cli/knowledge) | [π](https://docs.praison.ai/docs/features/retrieval-strategies) | 519 | Rerankers | [CLI](https://docs.praison.ai/docs/cli/knowledge) | [π](https://docs.praison.ai/docs/features/smart-retrieval) | 520 | Index Types (Vector/Keyword/Hybrid) | [CLI](https://docs.praison.ai/docs/cli/knowledge) | [π](https://docs.praison.ai/docs/features/incremental-indexing) | 521 | Query Engines (Sub-Question, etc.) | [CLI](https://docs.praison.ai/docs/cli/knowledge) | [π](https://docs.praison.ai/docs/features/retrieval) | 522 523 </details> 524 525 <details> 526 <summary><strong>π¬ Research & Intelligence</strong></summary> 527 528 | Feature | Code | Docs | 529 |---------|:----:|:----:| 530 | Deep Research Agents | [Example](examples/python/agents/research-agent.py) | [π](https://docs.praison.ai/docs/agents/deep-research) | 531 | Query Rewriter Agent | [Example](examples/python/agents/query-rewriter-agent.py) | [π](https://docs.praison.ai/docs/agents/query-rewriter) | 532 | Native Web Search | [Example](examples/python/agents/websearch-agent.py) | [π](https://docs.praison.ai/docs/agents/websearch) | 533 | Built-in Search Tools | [Example](examples/python/agents/websearch-agent.py) | [π](https://docs.praison.ai/docs/tools/tavily) | 534 | Unified Web Search | [Example](src/praisonai-agents/examples/web_search_example.py) | [π](https://docs.praison.ai/docs/tools/web-search) | 535 | Web Fetch (Anthropic) | [Example](examples/python/agents/web-fetch-agent.py) | [π](https://docs.praison.ai/docs/features/model-capabilities) | 536 537 </details> 538 539 <details> 540 <summary><strong>π Planning & Execution</strong></summary> 541 542 | Feature | Code | Docs | 543 |---------|:----:|:----:| 544 | Planning Mode | [Example](examples/python/agents/planning-agent.py) | [π](https://docs.praison.ai/docs/concepts/planning) | 545 | Planning Tools | [Example](examples/python/agents/planning-agent.py) | [π](https://docs.praison.ai/docs/concepts/planning) | 546 | Planning Reasoning | [Example](examples/python/agents/planning-agent.py) | [π](https://docs.praison.ai/docs/concepts/planning) | 547 | Prompt Chaining | [Example](examples/python/general/prompt_chaining.py) | [π](https://docs.praison.ai/docs/features/promptchaining) | 548 | Evaluator Optimiser | [Example](examples/python/general/evaluator-optimiser.py) | [π](https://docs.praison.ai/docs/concepts/evaluation) | 549 | Orchestrator Workers | [Example](examples/python/general/orchestrator-workers.py) | [π](https://docs.praison.ai/docs/concepts/orchestration) | 550 551 </details> 552 553 <details> 554 <summary><strong>π₯ Specialized Agents</strong></summary> 555 556 | Feature | Code | Docs | 557 |---------|:----:|:----:| 558 | Data Analyst Agent | [Example](examples/python/agents/data-analyst-agent.py) | [π](https://docs.praison.ai/docs/agents/data-analyst) | 559 | Finance Agent | [Example](examples/python/agents/finance-agent.py) | [π](https://docs.praison.ai/docs/agents/finance) | 560 | Shopping Agent | [Example](examples/python/agents/shopping-agent.py) | [π](https://docs.praison.ai/docs/agents/shopping) | 561 | Recommendation Agent | [Example](examples/python/agents/recommendation-agent.py) | [π](https://docs.praison.ai/docs/agents/recommendation) | 562 | Wikipedia Agent | [Example](examples/python/agents/wikipedia-agent.py) | [π](https://docs.praison.ai/docs/agents/wikipedia) | 563 | Programming Agent | [Example](examples/python/agents/programming-agent.py) | [π](https://docs.praison.ai/docs/agents/programming) | 564 | Math Agents | [Example](examples/python/agents/math-agent.py) | [π](https://docs.praison.ai/docs/features/mathagent) | 565 | Markdown Agent | [Example](examples/python/agents/markdown-agent.py) | [π](https://docs.praison.ai/docs/agents/markdown) | 566 | Prompt Expander Agent | [Example](examples/python/agents/prompt-expander-agent.py) | [π](https://docs.praison.ai/docs/agents/prompt-expander) | 567 568 </details> 569 570 <details> 571 <summary><strong>π¨ Media & Multimodal</strong></summary> 572 573 | Feature | Code | Docs | 574 |---------|:----:|:----:| 575 | Image Generation Agent | [Example](examples/python/image/image-agent.py) | [π](https://docs.praison.ai/docs/features/image-generation) | 576 | Image to Text Agent | [Example](examples/python/agents/image-to-text-agent.py) | [π](https://docs.praison.ai/docs/agents/image-to-text) | 577 | Video Agent | [Example](examples/python/agents/video-agent.py) | [π](https://docs.praison.ai/docs/agents/video) | 578 | Camera Integration | [Example](examples/python/camera/) | [π](https://docs.praison.ai/docs/features/camera-integration) | 579 580 </details> 581 582 <details> 583 <summary><strong>π Protocols & Integration</strong></summary> 584 585 | Feature | Code | Docs | 586 |---------|:----:|:----:| 587 | MCP Transports | [Example](examples/python/mcp/mcp-transports-overview.py) | [π](https://docs.praison.ai/docs/mcp/transports) | 588 | WebSocket MCP | [Example](examples/python/mcp/websocket-mcp.py) | [π](https://docs.praison.ai/docs/mcp/sse-transport) | 589 | MCP Security | [Example](examples/python/mcp/mcp-security.py) | [π](https://docs.praison.ai/docs/mcp/transports) | 590 | MCP Resumability | [Example](examples/python/mcp/mcp-resumability.py) | [π](https://docs.praison.ai/docs/mcp/sse-transport) | 591 | MCP Config Management | [Docs](https://docs.praison.ai/docs/cli/mcp) | [π](https://docs.praison.ai/docs/cli/mcp) | 592 | LangChain Integrated Agents | [Example](examples/python/general/langchain_example.py) | [π](https://docs.praison.ai/docs/features/langchain) | 593 594 </details> 595 596 <details> 597 <summary><strong>π‘οΈ Safety & Control</strong></summary> 598 599 | Feature | Code | Docs | 600 |---------|:----:|:----:| 601 | Guardrails | [Example](examples/python/guardrails/comprehensive-guardrails-example.py) | [π](https://docs.praison.ai/docs/concepts/guardrails) | 602 | Human Approval | [Example](examples/python/general/human_approval_example.py) | [π](https://docs.praison.ai/docs/concepts/approval) | 603 | Rules & Instructions | [Docs](https://docs.praison.ai/docs/features/rules) | [π](https://docs.praison.ai/docs/features/rules) | 604 605 </details> 606 607 <details> 608 <summary><strong>βοΈ Advanced Features</strong></summary> 609 610 | Feature | Code | Docs | 611 |---------|:----:|:----:| 612 | Async & Parallel Processing | [Example](examples/python/general/async_example.py) | [π](https://docs.praison.ai/docs/features/async) | 613 | Parallelisation | [Example](examples/python/general/parallelisation.py) | [π](https://docs.praison.ai/docs/features/parallelisation) | 614 | Repetitive Agents | [Example](examples/python/concepts/repetitive-agents.py) | [π](https://docs.praison.ai/docs/features/repetitive) | 615 | Agent Handoffs | [Example](examples/python/handoff/handoff_basic.py) | [π](https://docs.praison.ai/docs/concepts/handoffs) | 616 | Stateful Agents | [Example](examples/python/stateful/workflow-state-example.py) | [π](https://docs.praison.ai/docs/features/stateful-agents) | 617 | Autonomous Workflow | [Example](examples/python/general/autonomous-agent.py) | [π](https://docs.praison.ai/docs/concepts/autonomy) | 618 | Structured Output Agents | [Example](examples/python/general/structured_agents_example.py) | [π](https://docs.praison.ai/docs/features/structured) | 619 | Model Router | [Example](examples/python/agents/router-agent-cost-optimization.py) | [π](https://docs.praison.ai/docs/features/model-router) | 620 | Prompt Caching | [Example](examples/python/agents/prompt-caching-agent.py) | [π](https://docs.praison.ai/docs/features/model-capabilities) | 621 | Fast Context | [Example](examples/context/00_agent_fast_context_basic.py) | [π](https://docs.praison.ai/docs/features/fast-context) | 622 623 </details> 624 625 <details> 626 <summary><strong>π οΈ Tools & Configuration</strong></summary> 627 628 | Feature | Code | Docs | 629 |---------|:----:|:----:| 630 | 100+ Custom Tools | [Example](examples/python/general/tools_example.py) | [π](https://docs.praison.ai/docs/tools/tools) | 631 | YAML Configuration | [Example](examples/cookbooks/yaml/secondary_market_research_agents.yaml) | [π](https://docs.praison.ai/docs/developers/agents-playbook) | 632 | 100+ LLM Support | [Example](examples/python/providers/openai/openai_gpt4_example.py) | [π](https://docs.praison.ai/docs/models) | 633 | Callback Agents | [Example](examples/python/general/advanced-callback-systems.py) | [π](https://docs.praison.ai/docs/concepts/hooks) | 634 | Hooks | [Example](examples/python/hooks/hooks_example.py) | [π](https://docs.praison.ai/docs/concepts/hooks) | 635 | Middleware System | [Example](examples/middleware/basic_middleware.py) | [π](https://docs.praison.ai/docs/features/middleware) | 636 | Configurable Model | [Example](examples/middleware/configurable_model.py) | [π](https://docs.praison.ai/docs/features/configurable-model) | 637 | Rate Limiter | [Example](examples/middleware/rate_limiter.py) | [π](https://docs.praison.ai/docs/features/rate-limiter) | 638 | Injected Tool State | [Example](examples/middleware/injected_state.py) | [π](https://docs.praison.ai/docs/features/injected-state) | 639 | Shadow Git Checkpoints | [Example](examples/checkpoints/basic_checkpoint.py) | [π](https://docs.praison.ai/docs/features/checkpoints) | 640 | Background Tasks | [Example](examples/background/basic_background.py) | [π](https://docs.praison.ai/docs/features/background-tasks) | 641 | Policy Engine | [Example](examples/policy/basic_policy.py) | [π](https://docs.praison.ai/docs/features/policy-engine) | 642 | Thinking Budgets | [Example](examples/thinking/basic_thinking.py) | [π](https://docs.praison.ai/docs/features/thinking-budgets) | 643 | Output Styles | [Example](examples/output/basic_output.py) | [π](https://docs.praison.ai/docs/features/output-styles) | 644 | Context Compaction | [Example](examples/compaction/basic_compaction.py) | [π](https://docs.praison.ai/docs/features/context-compaction) | 645 646 </details> 647 648 <details> 649 <summary><strong>π Monitoring & Management</strong></summary> 650 651 | Feature | Code | Docs | 652 |---------|:----:|:----:| 653 | Sessions Management | [Example](examples/python/sessions/comprehensive-session-management.py) | [π](https://docs.praison.ai/docs/concepts/session-management) | 654 | Auto-Save Sessions | [Docs](https://docs.praison.ai/docs/cli/session) | [π](https://docs.praison.ai/docs/cli/session) | 655 | History in Context | [Docs](https://docs.praison.ai/docs/cli/session) | [π](https://docs.praison.ai/docs/cli/session) | 656 | Telemetry | [Example](examples/python/telemetry/production-telemetry-example.py) | [π](https://docs.praison.ai/docs/features/telemetry) | 657 | Langfuse Tracing | [Docs](https://docs.praison.ai/docs/observability/langfuse) | [π](https://docs.praison.ai/docs/observability/langfuse) | 658 | Project Docs (.praison/docs/) | [Docs](https://docs.praison.ai/docs/cli/docs) | [π](https://docs.praison.ai/docs/cli/docs) | 659 | AI Commit Messages | [Docs](https://docs.praison.ai/docs/cli/commit) | [π](https://docs.praison.ai/docs/cli/commit) | 660 | @Mentions in Prompts | [Docs](https://docs.praison.ai/docs/cli/mentions) | [π](https://docs.praison.ai/docs/cli/mentions) | 661 662 </details> 663 664 <details> 665 <summary><strong>π₯οΈ CLI Features</strong></summary> 666 667 | Feature | Code | Docs | 668 |---------|:----:|:----:| 669 | Slash Commands | [Example](examples/python/cli/slash_commands_example.py) | [π](https://docs.praison.ai/docs/cli/slash-commands) | 670 | Autonomy Modes | [Example](examples/python/cli/autonomy_modes_example.py) | [π](https://docs.praison.ai/docs/cli/autonomy-modes) | 671 | Cost Tracking | [Example](examples/python/cli/cost_tracking_example.py) | [π](https://docs.praison.ai/docs/cli/cost-tracking) | 672 | Repository Map | [Example](examples/python/cli/repo_map_example.py) | [π](https://docs.praison.ai/docs/cli/repo-map) | 673 | Interactive TUI | [Example](examples/python/cli/interactive_tui_example.py) | [π](https://docs.praison.ai/docs/cli/interactive-tui) | 674 | Git Integration | [Example](examples/python/cli/git_integration_example.py) | [π](https://docs.praison.ai/docs/cli/git-integration) | 675 | Sandbox Execution | [Example](examples/python/cli/sandbox_execution_example.py) | [π](https://docs.praison.ai/docs/cli/sandbox-execution) | 676 | CLI Compare | [Example](examples/compare/cli_compare_basic.py) | [π](https://docs.praison.ai/docs/cli/compare) | 677 | Profile/Benchmark | [Docs](https://docs.praison.ai/docs/cli/profile) | [π](https://docs.praison.ai/docs/cli/profile) | 678 | Auto Mode | [Docs](https://docs.praison.ai/docs/cli/auto) | [π](https://docs.praison.ai/docs/cli/auto) | 679 | Init | [Docs](https://docs.praison.ai/docs/cli/init) | [π](https://docs.praison.ai/docs/cli/init) | 680 | File Input | [Docs](https://docs.praison.ai/docs/cli/file-input) | [π](https://docs.praison.ai/docs/cli/file-input) | 681 | Final Agent | [Docs](https://docs.praison.ai/docs/cli/final-agent) | [π](https://docs.praison.ai/docs/cli/final-agent) | 682 | Max Tokens | [Docs](https://docs.praison.ai/docs/cli/max-tokens) | [π](https://docs.praison.ai/docs/cli/max-tokens) | 683 684 </details> 685 686 <details> 687 <summary><strong>π§ͺ Evaluation</strong></summary> 688 689 | Feature | Code | Docs | 690 |---------|:----:|:----:| 691 | Accuracy Evaluation | [Example](examples/eval/accuracy_example.py) | [π](https://docs.praison.ai/docs/cli/eval) | 692 | Performance Evaluation | [Example](examples/eval/performance_example.py) | [π](https://docs.praison.ai/docs/cli/eval) | 693 | Reliability Evaluation | [Example](examples/eval/reliability_example.py) | [π](https://docs.praison.ai/docs/cli/eval) | 694 | Criteria Evaluation | [Example](examples/eval/criteria_example.py) | [π](https://docs.praison.ai/docs/cli/eval) | 695 696 </details> 697 698 <details> 699 <summary><strong>π― Agent Skills</strong></summary> 700 701 | Feature | Code | Docs | 702 |---------|:----:|:----:| 703 | Skills Management | [Example](examples/skills/basic_skill_usage.py) | [π](https://docs.praison.ai/docs/concepts/skills) | 704 | Custom Skills | [Example](examples/skills/custom_skill_example.py) | [π](https://docs.praison.ai/docs/concepts/skills) | 705 706 </details> 707 708 <details> 709 <summary><strong>β° 24/7 Scheduling</strong></summary> 710 711 | Feature | Code | Docs | 712 |---------|:----:|:----:| 713 | Agent Scheduler | [Example](examples/python/scheduled_agents/news_checker_live.py) | [π](https://docs.praison.ai/docs/cli/scheduler) | 714 715 </details> 716 717 --- 718 719 ## π» Using JavaScript Code 720 721 ```bash 722 npm install praisonai 723 export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx 724 ``` 725 726 ```javascript 727 const { Agent } = require('praisonai'); 728 const agent = new Agent({ instructions: 'You are a helpful AI assistant' }); 729 agent.start('Write a movie script about a robot in Mars'); 730 ``` 731 732 --- 733 734 ## β‘ Performance 735 736 PraisonAI is built for speed, with agent instantiation in under 4ΞΌs. This reduces overhead, improves responsiveness, and helps multi-agent systems scale efficiently in real-world production workloads. 737 738 | Performance Metric | PraisonAI | 739 |--------------------|-----------| 740 | Avg Instantiation Time | **3.77 ΞΌs** | 741 742 --- 743 744 745 746 --- 747 748 ## β Star History 749 750 [](https://docs.praison.ai) 751 752 --- 753 754 ## π Langfuse Tracing 755 756 ```bash 757 pip install "praisonai[langfuse]" 758 praisonai langfuse 759 ``` 760 761 <p align="center"> 762 <img src=".github/images/langfuse.png" alt="PraisonAI Langfuse Tracing" width="800" /> 763 </p> 764 765 --- 766 767 ## π Video Tutorials 768 769 Learn PraisonAI through our comprehensive video series: 770 771 <details> 772 <summary><strong>View all 22 video tutorials</strong></summary> 773 774 | Topic | Video | 775 |-------|--------| 776 | AI Agents with Self Reflection | [](https://www.youtube.com/watch?v=vLXobEN2Vc8) | 777 | Reasoning Data Generating Agent | [](https://www.youtube.com/watch?v=fUT332Y2zA8) | 778 | AI Agents with Reasoning | [](https://www.youtube.com/watch?v=KNDVWGN3TpM) | 779 | Multimodal AI Agents | [](https://www.youtube.com/watch?v=hjAWmUT1qqY) | 780 | AI Agents Workflow | [](https://www.youtube.com/watch?v=yWTH44QPl2A) | 781 | Async AI Agents | [](https://www.youtube.com/watch?v=VhVQfgo00LE) | 782 | Mini AI Agents | [](https://www.youtube.com/watch?v=OkvYp5aAGSg) | 783 | AI Agents with Memory | [](https://www.youtube.com/watch?v=1hVfVxvPnnQ) | 784 | Repetitive Agents | [](https://www.youtube.com/watch?v=dAYGxsjDOPg) | 785 | Introduction | [](https://www.youtube.com/watch?v=Fn1lQjC0GO0) | 786 | Tools Overview | [](https://www.youtube.com/watch?v=XaQRgRpV7jo) | 787 | Custom Tools | [](https://www.youtube.com/watch?v=JSU2Rndh06c) | 788 | Firecrawl Integration | [](https://www.youtube.com/watch?v=UoqUDcLcOYo) | 789 | User Interface | [](https://www.youtube.com/watch?v=tg-ZjNl3OCg) | 790 | Crawl4AI Integration | [](https://www.youtube.com/watch?v=KAvuVUh0XU8) | 791 | Chat Interface | [](https://www.youtube.com/watch?v=sw3uDqn2h1Y) | 792 | Code Interface | [](https://www.youtube.com/watch?v=_5jQayO-MQY) | 793 | Mem0 Integration | [](https://www.youtube.com/watch?v=KIGSgRxf1cY) | 794 | Training | [](https://www.youtube.com/watch?v=aLawE8kwCrI) | 795 | Realtime Voice Interface | [](https://www.youtube.com/watch?v=frRHfevTCSw) | 796 | Call Interface | [](https://www.youtube.com/watch?v=m1cwrUG2iAk) | 797 | Reasoning Extract Agents | [](https://www.youtube.com/watch?v=2PPamsADjJA) | 798 799 </details> 800 801 --- 802 803 ## π₯ Contributing 804 805 We welcome contributions! Fork the repo, create a branch, and submit a PR β [Contributing Guide](https://github.com/MervinPraison/PraisonAI/blob/main/CONTRIBUTING.md). 806 807 --- 808 809 ## β FAQ & Troubleshooting 810 811 <details> 812 <summary><strong>ModuleNotFoundError: No module named 'praisonaiagents'</strong></summary> 813 814 Install the package: 815 ```bash 816 pip install praisonaiagents 817 ``` 818 819 </details> 820 821 <details> 822 <summary><strong>API key not found / Authentication error</strong></summary> 823 824 Ensure your API key is set: 825 ```bash 826 export OPENAI_API_KEY=your_key_here 827 ``` 828 829 For other providers, see [Models docs](https://docs.praison.ai/docs/models). 830 831 </details> 832 833 <details> 834 <summary><strong>How do I use a local model (Ollama)?</strong></summary> 835 836 ```bash 837 # Start Ollama server first 838 ollama serve 839 840 # Set environment variable 841 export OPENAI_BASE_URL=http://localhost:11434/v1 842 ``` 843 844 See [Models docs](https://docs.praison.ai/docs/models) for more details. 845 846 </details> 847 848 <details> 849 <summary><strong>How do I persist conversations to a database?</strong></summary> 850 851 Use the `db` parameter: 852 ```python 853 from praisonaiagents import Agent, db 854 855 agent = Agent( 856 name="Assistant", 857 db=db(database_url="postgresql://localhost/mydb"), 858 session_id="my-session" 859 ) 860 ``` 861 862 See [Persistence docs](https://docs.praison.ai/docs/databases/overview) for supported databases. 863 864 </details> 865 866 <details> 867 <summary><strong>How do I enable agent memory?</strong></summary> 868 869 ```python 870 from praisonaiagents import Agent 871 872 agent = Agent( 873 name="Assistant", 874 memory=True, # Enables file-based memory (no extra deps!) 875 user_id="user123" 876 ) 877 ``` 878 879 See [Memory docs](https://docs.praison.ai/docs/concepts/memory) for more options. 880 881 </details> 882 883 <details> 884 <summary><strong>How do I run multiple agents together?</strong></summary> 885 886 ```python 887 from praisonaiagents import Agent, Agents 888 889 agent1 = Agent(instructions="Research topics") 890 agent2 = Agent(instructions="Summarize findings") 891 agents = Agents(agents=[agent1, agent2]) 892 agents.start() 893 ``` 894 895 See [Agents docs](https://docs.praison.ai/docs/concepts/agents) for more examples. 896 897 </details> 898 899 <details> 900 <summary><strong>How do I use MCP tools?</strong></summary> 901 902 ```python 903 from praisonaiagents import Agent, MCP 904 905 agent = Agent( 906 tools=MCP("npx @modelcontextprotocol/server-memory") 907 ) 908 ``` 909 910 See [MCP docs](https://docs.praison.ai/docs/mcp/transports) for all transport options. 911 912 </details> 913 914 ### Getting Help 915 916 - π [Full Documentation](https://docs.praison.ai) 917 - π [Report Issues](https://github.com/MervinPraison/PraisonAI/issues) 918 - π¬ [Discussions](https://github.com/MervinPraison/PraisonAI/discussions) 919 920 --- 921 922 <div align="center"> 923 <p><strong>Made with β€οΈ by the PraisonAI Team</strong></p> 924 <p> 925 <a href="https://docs.praison.ai">π Documentation</a> β’ 926 <a href="https://github.com/MervinPraison/PraisonAI">GitHub</a> β’ 927 <a href="https://youtube.com/@MervinPraison">βΆοΈ YouTube</a> β’ 928 <a href="https://x.com/MervinPraison">π X</a> β’ 929 <a href="https://linkedin.com/in/mervinpraison">πΌ LinkedIn</a> 930 </p> 931 </div>