# Claude Desktop Configuration Locations

## Primary Config File

### macOS
```
~/Library/Application Support/Claude/claude_desktop_config.json
```

### Windows
```
%APPDATA%\Claude\claude_desktop_config.json
```

### Linux
```
~/.config/Claude/claude_desktop_config.json
```

## MCP Server Configuration Example

```json
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-playwright"],
      "serverInstructions": "Browser automation. Use for: screenshots, page testing, DOM inspection. Keywords: browser, page, screenshot, navigate"
    },
    "notion": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-notion", "--token", "YOUR_TOKEN"],
      "serverInstructions": "Notion workspace access. Use for: search pages, create content, update databases. Keywords: notion, page, database, workspace"
    }
  }
}
```

## Key Fields

| Field | Purpose | Token Impact |
|-------|---------|--------------|
| `command` | Executable path | Minimal |
| `args` | Arguments | Minimal |
| `serverInstructions` | Usage hints | Reduces discovery overhead |
| `env` | Environment vars | None |

## serverInstructions Best Practices

**Good:**
```json
"serverInstructions": "File system access. Use for: read/write files, directory listing. Keywords: file, read, write, directory"
```

**Bad (too vague):**
```json
"serverInstructions": "Various file operations"
```

**Bad (too long):**
```json
"serverInstructions": "This MCP server provides comprehensive file system access capabilities including reading files, writing files, creating directories, listing directory contents, and more. It can be used for any operation that requires..."
```

## Viewing Current Configuration

Ask user to run:

**macOS/Linux:**
```bash
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | python3 -m json.tool
```

**Windows (PowerShell):**
```powershell
Get-Content "$env:APPDATA\Claude\claude_desktop_config.json" | ConvertFrom-Json | ConvertTo-Json -Depth 10
```
