HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/PraisonAI/docs/mcp/filesystem.mdx
---
title: "Filesystem MCP Integration"
sidebarTitle: "Filesystem"
description: "Guide for integrating filesystem operations with PraisonAI agents using MCP"
icon: "folder-open"
---

## Add Filesystem Tool to AI Agent

```mermaid
flowchart LR
    In[Query] --> Agent[AI Agent]
    Agent --> Tool[Filesystem MCP]
    Tool --> Agent
    Agent --> Out[Answer]
    
    style In fill:#8B0000,color:#fff
    style Agent fill:#2E8B57,color:#fff
    style Tool fill:#FFA500,color:#fff
    style Out fill:#8B0000,color:#fff
```

## Quick Start

<Steps>
    <Step title="Install Dependencies">
        Make sure you have Node.js installed, as the MCP server requires it:
        ```bash
        pip install praisonaiagents mcp
        ```
    </Step>
    <Step title="Set API Key">
        Set your OpenAI API key as an environment variable in your terminal:
        ```bash
        export OPENAI_API_KEY=your_openai_api_key_here
        ```
    </Step>

    <Step title="Create a file">
        Create a new file `filesystem_agent.py` with the following code:
        ```python
        from praisonaiagents import Agent, MCP
        import os

        # Define allowed directories for filesystem access
        allowed_dirs = [
            "/Users/username/Desktop",
            "/path/to/other/allowed/dir"
        ]

        # Use a single string command with allowed directories
        filesystem_agent = Agent(
            instructions="""You are a helpful assistant that can interact with the filesystem.
            Use the available tools when relevant to manage files and directories.""",
            llm="gpt-4o-mini",
            tools=MCP("npx -y @modelcontextprotocol/server-filesystem", args=allowed_dirs)
        )

        filesystem_agent.start("List files in the allowed directories")
        ```
    </Step>

    <Step title="Run the Agent">
        Execute your script:
        ```bash
        python filesystem_agent.py
        ```
    </Step>
</Steps>

<Note>
  **Requirements**
  - Python 3.10 or higher
  - Node.js installed on your system
  - OpenAI API key (for the agent's LLM)
  - Read/write access to the specified directories
</Note>