> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Works with OpenClaw

> Connect PraisonAI agents and OpenClaw over MCP, ACP and shared SKILL.md skills

OpenClaw is an MIT-licensed, self-hosted assistant gateway ([source](https://github.com/openclaw/openclaw)). It runs isolated agents, sub-agents and Swarm, and speaks MCP and ACP in both directions, so PraisonAI connects to it through standard protocols.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
graph LR
    OC[OpenClaw Gateway]:::agent -->|MCP client| PM[praisonai-mcp serve]:::tool
    PM --> PA[PraisonAI Agent]:::agent
    PA -->|MCP client| OS[openclaw mcp serve]:::tool
    OS --> OC
    OC -->|ACP harness| ACP[praisonai acp]:::tool
    ACP --> PA
    classDef agent fill:#8B0000,color:#fff
    classDef tool fill:#189AB4,color:#fff
```

## Quick Start

**1. Let a PraisonAI agent use OpenClaw**

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents import Agent
from praisonaiagents.mcp import MCP

agent = Agent(
    instructions="You are a helpful assistant.",
    tools=MCP("openclaw mcp serve"),
)
agent.start("List my OpenClaw conversations")  # Prints the conversations OpenClaw exposes
```

**2. Let OpenClaw call PraisonAI**

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
pip install praisonai-mcp
openclaw mcp add praisonai --command praisonai-mcp --arg serve --arg --transport --arg stdio
```

***

## Integration Paths

**OpenClaw → PraisonAI (MCP)**

Run PraisonAI as an MCP server. Transports are `stdio` and `http-stream`.

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
pip install praisonai-mcp
openclaw mcp add praisonai --command praisonai-mcp --arg serve --arg --transport --arg stdio
```

See [PraisonAI MCP Package](https://praison.ai/docs/features/praisonai-mcp-package.md). OpenClaw reference: [openclaw mcp](https://docs.openclaw.ai/cli/mcp).

**PraisonAI → OpenClaw (MCP)**

`openclaw mcp serve` exposes OpenClaw conversations to any MCP client.

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents import Agent
from praisonaiagents.mcp import MCP

agent = Agent(instructions="Summarise my chats", tools=MCP("openclaw mcp serve"))
agent.start("Summarise my latest conversation")  # Prints a short summary
```

OpenClaw reference: [openclaw mcp](https://docs.openclaw.ai/cli/mcp).

**ACP**

`praisonai acp` is an ACP server. OpenClaw runs external ACP harnesses through `acpx` and accepts custom agents with `--agent <command>`.

> [!WARNING]
>
> This path has not been tested end to end.

See [ACP](https://praison.ai/docs/acp.md). OpenClaw references: [openclaw acp](https://docs.openclaw.ai/cli/acp), [ACP agents setup](https://docs.openclaw.ai/tools/acp-agents-setup).

**Skills**

Both sides use `SKILL.md` with YAML frontmatter. PraisonAI parses `metadata.openclaw` into `SkillRequirements.openclaw_hints`.

See [Hermes & OpenClaw Skills Import](https://praison.ai/docs/features/hermes-openclaw-skills-import.md). OpenClaw reference: [skill format](https://docs.openclaw.ai/clawhub/skill-format).

***

## Capabilities at a Glance

| Capability | PraisonAI | OpenClaw |
| - | - | - |
| MCP server | `praisonai-mcp serve` | [`openclaw mcp serve`](https://docs.openclaw.ai/cli/mcp) |
| MCP client | `MCP(...)` tool | [`openclaw mcp add`](https://docs.openclaw.ai/cli/mcp) (stdio, streamable-http) |
| ACP | `praisonai acp` | [`openclaw acp`](https://docs.openclaw.ai/cli/acp) and `/acp spawn` |
| Multi-agent | Multi-agent workflows | [Isolated agents in one Gateway](https://docs.openclaw.ai/concepts/multi-agent) |
| Sub-agents | Agent handoffs | [`sessions_spawn`](https://docs.openclaw.ai/tools/subagents), [Swarm](https://docs.openclaw.ai/tools/swarm) |
| Skills format | `SKILL.md` | [`SKILL.md`](https://docs.openclaw.ai/clawhub/skill-format) |
| Channels | [Bot Gateway](https://praison.ai/docs/features/bot-gateway.md) | Gateway channels ([docs](https://docs.openclaw.ai)) |

***

## Best Practices

> **Bind MCP to localhost**
>
> Use `stdio`, or bind `http-stream` to `127.0.0.1`, so only local clients reach your tools.

> **One virtualenv per side**
>
> Install PraisonAI and OpenClaw in separate environments to avoid dependency clashes.

> **Pin versions**
>
> Pin `praisonai-mcp` and the OpenClaw release so protocol changes do not break the link.

***

## Related

> **[PraisonAI MCP Package](https://praison.ai/docs/features/praisonai-mcp-package.md)**
>
> Serve agents and tools over MCP

> **[ACP](https://praison.ai/docs/acp.md)**
>
> Agent Client Protocol server

> **[Skills Import](https://praison.ai/docs/features/hermes-openclaw-skills-import.md)**
>
> Reuse OpenClaw and Hermes skills

> **[Bot Gateway](https://praison.ai/docs/features/bot-gateway.md)**
>
> Run agents on messaging channels


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.