# Claude Desktop Model Context Protocol Setup

Guide being followed: [https://modelcontextprotocol.io/quickstart](https://modelcontextprotocol.io/quickstart)

#### Step One

Download the Claude desktop app: [https://claude.ai/download](https://claude.ai/download)

#### Step Two (Installing Prerequisites)

You may install uw, git and sqlite.  
You can skip sqlite if you do not need to connect to a database immediately.

**For Mac Os**

```bash
# Using Homebrew
brew install uv git sqlite3

# Or download directly:
# uv: https://docs.astral.sh/uv/
# Git: https://git-scm.com
# SQLite: https://www.sqlite.org/download.html
```

**For Windows**

```bash
# Using winget
winget install --id=astral-sh.uv -e
winget install git.git sqlite.sqlite

# Or download directly:
# uv: https://docs.astral.sh/uv/
# Git: https://git-scm.com
# SQLite: https://www.sqlite.org/download.html
```

#### Step Three (Configure Claude Desktop)

Open your Claude Desktop App configuration at `~/Library/Application Support/Claude/claude_desktop_config.json` in a text editor.

For example, if you have [**VS Code**](https://code.visualstudio.com/) [installed](https://code.visualstudio.com/):

```bash
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
```

Alternatively on Mac Os, you can click “Claude” in the menu bar and select “Settings”.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1733285574284/d1668aaa-fae9-4f7a-af1e-74f2a1a88396.png align="center")

Then you want to select “Developer” and in the right panel and click “Edit Config”.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1733285636782/01d9b185-2e99-4bab-99e4-0d136f73261d.png align="center")

For this article we shall focus on a few capabilities. Feel free to add more from the MCP Github Examples: [https://github.com/modelcontextprotocol/servers](https://github.com/modelcontextprotocol/servers)  
You may also code your own server (what I called capabilities). That is a discussion for another blog.

Add this configuration (replace **BRAVE\_API\_KEY**, **PERSONAL\_TOKEN** and **“/Users/user/Documents/”** with your Brave Search API Key, GitHub personal token and actual file path, respectively ):

```json
{
    "mcpServers": {
        "filesystem": {
            "command": "npx",
            "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/user/Documents/"]
        },
        "brave-search": {
            "command": "npx",
            "args": [
                "-y",
                "@modelcontextprotocol/server-brave-search"
            ],
            "env": {
                "BRAVE_API_KEY": "BRAVE_API_KEY"
            }
        },
        "memory": {
            "command": "npx",
            "args": [
                "-y",
                "@modelcontextprotocol/server-memory"
            ]
        },
        "git": {
            "command": "python",
            "args": ["-m", "mcp_server_git", "--repository", "/Users/user/Documents/"]
        },
        "puppeteer": {
            "command": "npx",
            "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
        },
        "github": {
            "command": "npx",
            "args": [
            "-y",
            "@modelcontextprotocol/server-github"
            ],
            "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "PERSONAL_TOKEN"
            }
        }
    }
}
```

This configuration adds internet search, memory, git access, web-scraping and GitHub access to Claude. Restart the desktop application (very important) and test out each of the servers.
