# Maple MCP server

> Allows a coding agent to read, act upon, and resolve review comments collected on preview deployments.

- Repository: https://github.com/maple-kit/maple
- Page: https://hostedmcp.org/servers/maple-kit/maple
- Transport: stdio
- Stars: 22
- License: Apache-2.0
- Latest version: 0.17.1

## Install

### Claude Code

```sh
claude mcp add --env GITHUB_TOKEN=<YOUR_GITHUB_TOKEN> maple -- npx -y @maple-kit/mcp
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "maple": {
      "command": "npx",
      "args": [
        "-y",
        "@maple-kit/mcp"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
      }
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "maple": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@maple-kit/mcp"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
      }
    }
  }
}
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "maple": {
      "command": "npx",
      "args": [
        "-y",
        "@maple-kit/mcp"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
      }
    }
  }
}
```

### Codex (`~/.codex/config.toml`)

```toml
[mcp_servers.maple]
command = "npx"
args = ["-y", "@maple-kit/mcp"]

[mcp_servers.maple.env]
GITHUB_TOKEN = "<YOUR_GITHUB_TOKEN>"
```

### Gemini CLI (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "maple": {
      "command": "npx",
      "args": [
        "-y",
        "@maple-kit/mcp"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
      }
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `GITHUB_TOKEN` | no | yes | A token that can read and write the repository's pull request comments. Required for the github store. |
| `MAPLE_GITHUB_OWNER` | no | no | The repository's owner. Required for the github store. |
| `MAPLE_GITHUB_REPO` | no | no | The repository. Required for the github store. |
| `MAPLE_STORE` | no | no | github, the default when a forge is configured, or file, the comments under .maple/ on this machine. |

## FAQ

### How does the agent know what to fix?

The agent uses tools to get comment context, including the file and line number, the viewport, screenshots, and surrounding markup.

### Can I use Maple without a GitHub repository?

Yes, if no GitHub credentials are provided, the server reads and writes comments to a local `.maple/` directory in the working directory.

### What happens if the agent tries to finish while comments are still open?

The maple-stop-hook can prevent the agent from finishing by blocking the session if there are still open or needing re-verification comments.
