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

# Server: PraisonAI MCP

> Deploy full PraisonAI capabilities as MCP server using praisonai mcp serve

Deploy all PraisonAI capabilities as an MCP server for Claude Desktop, Cursor, Windsurf, and other MCP clients.

## Quick Start

<Steps>
  <Step title="Install Dependencies">
    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    pip install "praisonai[mcp]"
    ```
  </Step>

  <Step title="Set API Key">
    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    export OPENAI_API_KEY="your-key"
    ```
  </Step>

  <Step title="Start MCP Server">
    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    praisonai mcp serve --transport stdio
    ```
  </Step>
</Steps>

## CLI - STDIO Transport

For Claude Desktop, Cursor, Windsurf local integration:

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
praisonai mcp serve --transport stdio
```

## CLI - HTTP Stream Transport

For remote access (MCP 2025-11-25 spec):

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
praisonai mcp serve --transport http-stream --port 8080
```

**Expected Output:**

```
✓ Starting MCP server 'praisonai' on http://127.0.0.1:8080/mcp
```

## CLI Options

| Option              | Default     | Description                         |
| ------------------- | ----------- | ----------------------------------- |
| `--transport`       | `stdio`     | `stdio` or `http-stream`            |
| `--host`            | `127.0.0.1` | HTTP host                           |
| `--port`            | `8080`      | HTTP port                           |
| `--endpoint`        | `/mcp`      | HTTP endpoint path                  |
| `--api-key`         | -           | API key for auth                    |
| `--name`            | `praisonai` | Server name                         |
| `--response-mode`   | `batch`     | `batch` or `stream`                 |
| `--cors-origins`    | -           | Comma-separated CORS origins        |
| `--allowed-origins` | -           | Allowed origins for security        |
| `--session-ttl`     | `3600`      | Session TTL in seconds              |
| `--log-level`       | `warning`   | `debug`, `info`, `warning`, `error` |

## Python SDK

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonai.mcp_server import MCPServer

server = MCPServer(
    name="praisonai",
    version="1.0.0",
    instructions="PraisonAI MCP Server - AI agent capabilities"
)

# STDIO transport
server.run(transport="stdio")

# Or HTTP Stream transport
server.run(transport="http-stream", host="127.0.0.1", port=8080)
```

## MCP Protocol Features

| Feature      | Supported | Description                |
| ------------ | --------- | -------------------------- |
| Tools        | ✅         | List, call, search tools   |
| Resources    | ✅         | List, read resources       |
| Prompts      | ✅         | List, get prompts          |
| Pagination   | ✅         | Cursor-based pagination    |
| Tool Search  | ✅         | Server-side tool filtering |
| Progress     | ✅         | Progress notifications     |
| Cancellation | ✅         | Request cancellation       |
| Logging      | ✅         | Set log level              |

**Protocol Version:** 2025-11-25

## Generate Client Config

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# Claude Desktop
praisonai mcp config-generate --client claude-desktop

# Cursor
praisonai mcp config-generate --client cursor

# VSCode
praisonai mcp config-generate --client vscode

# Windsurf
praisonai mcp config-generate --client windsurf
```

**Claude Desktop Output:**

```json theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
{
  "mcpServers": {
    "praisonai": {
      "command": "praisonai",
      "args": ["mcp", "serve", "--transport", "stdio"]
    }
  }
}
```

## Connect MCP Client

**Claude Desktop** (`claude_desktop_config.json`):

For STDIO:

```json theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
{
  "mcpServers": {
    "praisonai": {
      "command": "praisonai",
      "args": ["mcp", "serve", "--transport", "stdio"]
    }
  }
}
```

For HTTP Stream:

```json theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
{
  "mcpServers": {
    "praisonai": {
      "url": "http://localhost:8080/mcp",
      "transport": "http-stream"
    }
  }
}
```

**Cursor** (`.cursor/mcp.json`):

```json theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
{
  "mcpServers": {
    "praisonai": {
      "command": "praisonai",
      "args": ["mcp", "serve", "--transport", "stdio"]
    }
  }
}
```

## List Available Tools

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
praisonai mcp list-tools
```

**Output:**

```
Available MCP Tools (15 of 42):

  • praisonai.memory.show [read-only]
    Show current memory contents

  • praisonai.workflow.run
    Run a workflow from agents.yaml

  • praisonai.agent.chat
    Chat with an agent
...
```

## Search Tools

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# Search by query
praisonai mcp tools search "web"

# Filter by category
praisonai mcp tools search --category memory --read-only

# Get tool info
praisonai mcp tools info praisonai.memory.show

# Get tool schema
praisonai mcp tools schema praisonai.workflow.run
```

## Health Check

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
praisonai mcp doctor
```

**Output:**

```
PraisonAI MCP Server Health Check

Protocol Version: 2025-11-25
Supported Versions: 2025-11-25, 2025-03-26, 2024-11-05

Registered Components:
  • Tools: 42
  • Resources: 5
  • Prompts: 3

Environment:
  ✓ OPENAI_API_KEY
  ○ ANTHROPIC_API_KEY
  ○ GOOGLE_API_KEY

Dependencies:
  ✓ starlette
  ✓ uvicorn
  ✓ praisonaiagents

✓ MCP server is ready to run
```

## Authentication

For HTTP Stream transport with API key:

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
praisonai mcp serve --transport http-stream --api-key mykey --port 8080
```

Client config with auth:

```json theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
{
  "mcpServers": {
    "praisonai": {
      "url": "http://localhost:8080/mcp",
      "headers": {
        "Authorization": "Bearer mykey"
      }
    }
  }
}
```

## Troubleshooting

| Issue             | Fix                            |
| ----------------- | ------------------------------ |
| Missing deps      | `pip install "praisonai[mcp]"` |
| Port in use       | Change `--port`                |
| No tools          | Run `praisonai mcp list-tools` |
| Auth failed       | Check `--api-key`              |
| STDIO not working | Check command path             |

## Related

* [Tools MCP](./tools-mcp) - Deploy tools as MCP server
* [Agents MCP](./agents-mcp) - Deploy agents as MCP server
* [Recipes MCP](./recipes-mcp) - Deploy recipes as MCP server
