Setting Up Model Context Protocol (MCP) on Mac for Claude Desktop App

This guide shows how to set up Model Context Protocol (MCP) on a Mac with the Claude Desktop App.

Why This Setup is Necessary

The Model Context Protocol (MCP) enables Claude to interact with your computer's file system and potentially other services. This setup involves three key components:

  1. Node.js: A JavaScript runtime environment required to run MCP servers
  2. MCP Server: Software that acts as a bridge between Claude and your computer's resources
  3. Claude Configuration: JSON settings that tell Claude how to connect to the MCP server

With this setup, Claude gains capabilities like reading and writing files on your computer, which makes it much more useful for real-world tasks.

Step 1: Install Node.js

Node.js is required to run MCP servers locally. If you haven't installed it yet:

  1. Visit nodejs.org
  2. Download the LTS (Long Term Support) version for macOS
  3. Run the installer and follow the instructions
  4. After installation, verify it works by opening Terminal and running:
node -v
npm -v

You should see version numbers displayed (example output):

v22.14.0
10.9.2

Step 2: Verify Your Mac Username

You'll need your Mac username for configuration:

  1. Look at your Terminal prompt - it's usually displayed there (example: username@Computer-Name ~)
  2. Or use the whoami command:
    whoami
  3. Or check your home directory path:
    echo $HOME
    This will show something like "/Users/yourusername"

Step 3: Locate the Claude Configuration File

The Claude configuration file is located at:

~/Library/Application Support/Claude/claude_desktop_config.json

To navigate there:

  1. Open Terminal and enter:
    open ~/Library/Application\ Support/Claude/
  2. Alternatively, in Finder:
    • Press Shift+Command+G
    • Paste: ~/Library/Application Support/Claude
    • Click Go

You can open this folder in VS Code using:

code ~/Library/Application\ Support/Claude/

If the file doesn't exist, you can create it.

Step 4: Install the MCP Filesystem Server

The filesystem server allows Claude to access files on your computer. Install it globally:

sudo npm install -g @modelcontextprotocol/server-filesystem

You'll be prompted for your password. After installation, verify it worked:

npm list -g @modelcontextprotocol/server-filesystem

You should see output similar to:

/usr/local/lib
└── @modelcontextprotocol/server-filesystem@2025.3.28

Step 5: Create the Configuration File

Create or edit claude_desktop_config.json with a configuration that gives Claude access to your Desktop:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/yourusername/Desktop"
      ]
    }
  }
}

Replace yourusername with your actual Mac username.

This configuration tells Claude:

  • To use the filesystem MCP server via the npx command
  • To automatically answer "yes" to any prompts (-y flag)
  • To only allow access to your Desktop folder

Step 6: Apply the Configuration

For the changes to take effect:

  1. Save the configuration file
  2. Completely quit the Claude Desktop App
  3. Restart the Claude Desktop App

Step 7: Test the MCP Setup

After restarting Claude, test the MCP functionality by asking questions like:

  • "What files do I have on my Desktop?"
  • "Can you list PDF files on my Desktop?"
  • "Create a new text file on my Desktop"

If Claude responds with actual information about your files or can create files, then the MCP setup is working correctly.


Advanced Configuration

For more advanced configurations, you can:

  • Add additional directories by adding more paths to the "args" array
  • Incorporate other MCP servers like Brave Search
  • Set up memory capabilities

Example of a more complete configuration:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/yourusername/Desktop",
        "/Users/yourusername/Downloads",
        "/Users/yourusername/Documents"
      ]
    },
    "brave-search": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-brave-search"
      ],
      "env": {
        "BRAVE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}