REA
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Review comments pinned to a running frontend, read and resolved by your coding agent.
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer · ✓ Commands checked Nov 14, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
You need a Maple key (create it on the maker’s site) · 2 setting(s) to fill in (MAPLE_GITHUB_OWNER, MAPLE_GITHUB_REPO) · Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
MAPLE_GITHUB_OWNER The repository's owner. Required for the github store.MAPLE_GITHUB_REPO The repository. Required for the github store.Descriptions are as written by the maker.
SettingsDeveloperEdit Config
{
"mcpServers": {
"maple": {
"command": "npx",
"args": [
"-y",
"@maple-kit/mcp"
],
"env": {
"GITHUB_TOKEN": "your-value",
"MAPLE_GITHUB_OWNER": "your-value",
"MAPLE_GITHUB_REPO": "your-value"
}
}
}
}Paste the key only into the app’s field, never into a chat or to anyone
Use Maple and tell me what you can do for me, then show me one thing✓ If Claude says it is using Maple or shows a Maple tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
MAPLE_STORE github, the default when a forge is configured, or file, the comments under .maple/ on this machine.Descriptions are as written by the maker.
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Maple yet
Maple runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect Maple
B · Others in Developer tools that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Works with Claude Code, with some setup first
You need a Maple key (create it on the maker’s site) · 2 setting(s) to fill in (MAPLE_GITHUB_OWNER, MAPLE_GITHUB_REPO) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
MAPLE_GITHUB_OWNER The repository's owner. Required for the github store.MAPLE_GITHUB_REPO The repository. Required for the github store.Descriptions are as written by the maker.
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --scope user maple --env GITHUB_TOKEN=your-value --env MAPLE_GITHUB_OWNER=your-value --env MAPLE_GITHUB_REPO=your-value -- npx -y @maple-kit/mcpReplace “your-value” with your key before pressing Enter
Paste the key only into the app’s field, never into a chat or to anyone
You should see Maple listed as connected
Use Maple and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Maple or shows a Maple tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
MAPLE_STORE github, the default when a forge is configured, or file, the comments under .maple/ on this machine.Descriptions are as written by the maker.
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
You need a Maple key (create it on the maker’s site) · 2 setting(s) to fill in (MAPLE_GITHUB_OWNER, MAPLE_GITHUB_REPO) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
MAPLE_GITHUB_OWNER The repository's owner. Required for the github store.MAPLE_GITHUB_REPO The repository. Required for the github store.Descriptions are as written by the maker.
In the Maple settings, GITHUB_TOKEN, MAPLE_GITHUB_OWNER, MAPLE_GITHUB_REPO is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use Maple and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Maple or shows a Maple tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
MAPLE_STORE github, the default when a forge is configured, or file, the comments under .maple/ on this machine.Descriptions are as written by the maker.
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
You need a Maple key (create it on the maker’s site) · 2 setting(s) to fill in (MAPLE_GITHUB_OWNER, MAPLE_GITHUB_REPO) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
MAPLE_GITHUB_OWNER The repository's owner. Required for the github store.MAPLE_GITHUB_REPO The repository. Required for the github store.Descriptions are as written by the maker.
In the Maple settings, GITHUB_TOKEN, MAPLE_GITHUB_OWNER, MAPLE_GITHUB_REPO is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use Maple and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Maple or shows a Maple tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
MAPLE_STORE github, the default when a forge is configured, or file, the comments under .maple/ on this machine.Descriptions are as written by the maker.
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Claude Code
claude mcp add --scope user maple --env GITHUB_TOKEN=your-value --env MAPLE_GITHUB_OWNER=your-value --env MAPLE_GITHUB_REPO=your-value -- npx -y @maple-kit/mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"maple": {
"command": "npx",
"args": [
"-y",
"@maple-kit/mcp"
],
"env": {
"GITHUB_TOKEN": "your-value",
"MAPLE_GITHUB_OWNER": "your-value",
"MAPLE_GITHUB_REPO": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"maple": {
"command": "npx",
"args": [
"-y",
"@maple-kit/mcp"
],
"env": {
"GITHUB_TOKEN": "your-value",
"MAPLE_GITHUB_OWNER": "your-value",
"MAPLE_GITHUB_REPO": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"maple": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@maple-kit/mcp"
],
"env": {
"GITHUB_TOKEN": "your-value",
"MAPLE_GITHUB_OWNER": "your-value",
"MAPLE_GITHUB_REPO": "your-value"
}
}
}
}GITHUB_TOKEN secret required envMAPLE_GITHUB_OWNER required envMAPLE_GITHUB_REPO required envMAPLE_STORE envDescriptions are as written by the maker.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
npm: @maple-kit/mcpBased on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 14, 2026
The registry name was verified with the GitHub account maple-kit, which owns the repo
Code last changed 10 days ago
Uses Apache-2.0
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: GITHUB_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed 10 days ago, and the latest version (0.17.1) reached the registry 42 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: REA, GitHub, Serena MCP: the IDE for your agent
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
The Model Context Protocol server that hands a coding agent the review comments Maple collected on a preview deployment.
Pre-release. Every package here is 0.x and makes no compatibility promise.
The agent waits for a comment, reads it with its context — file:line from the tagger, the viewport, the screenshot, the mock it was written under — makes the change, and resolves it against the commit that fixed it. The reviewer's half is the overlay; the two meet in the store.
npm install @maple-kit/mcp
Two binaries ship: maple-mcp, the server, and maple-stop-hook, which stops an agent from calling itself finished while comments are still open.
A client starts the server with no arguments, so it is configured through the environment. In Claude Code's .mcp.json:
{
"mcpServers": { "maple": { "command": "npx", "args": ["-y", "-p", "@maple-kit/mcp", "maple-mcp"], "env": { "MAPLE_GITHUB_OWNER": "acme", "MAPLE_GITHUB_REPO": "web" } } } }
and run the client under op run --env-file so GITHUB_TOKEN never lands in a file. A missing value fails at startup rather than on the first tool call.
| Name | Secret | What it is |
|---|---|---|
GITHUB_TOKEN | Yes | A token that can read and write pull-request comments. Required for the github store. |
MAPLE_GITHUB_OWNER | No | The repository's owner. Required for the github store. |
MAPLE_GITHUB_REPO | No | The repository. Required for the github store. |
MAPLE_GITHUB_API | No | The API root, for Enterprise Server. |
MAPLE_STORE | No | github, the default when a forge is configured, or file, the default when none is: the comments under .maple/. |
MAPLE_BRANCH | No | The branch the Stop hook checks, else the one checked out. The server ignores it. |
MAPLE_URL | No | The deployed route's mount URL. A resolve asks it to republish the gate. |
MAPLE_GATE_TOKEN | Yes | For CI only: the gate App's installation token. Not with MAPLE_URL. |
MAPLE_GATE_APP_ID | No | The gate App's id, so it updates its own check run rather than another's. |
MAPLE_REQUIRE_APPROVAL | No | true to hold the gate until somebody approves, matching the route and CI. |
Set none of GITHUB_TOKEN, MAPLE_GITHUB_OWNER and MAPLE_GITHUB_REPO and the server reads and writes the comments fileStore() keeps under .maple/ in its working directory's repository, so the loop works on a laptop with no pull request. MAPLE_STORE=file says so explicitly. It is a laptop's store, not a preview pod's: docs/connectors.md has the argument. The Stop hook reads the same folder for the branch checked out in the session's working directory, and stays silent where there is no .maple/ folder, no comments for the branch or no repository.
| Tool | Reads | What it does |
|---|---|---|
list_comments(branch, statuses?) | ✓ | Return the review comments on a branch, newest first. |
wait_for_comments(branch, cursor?, timeoutMs?) | ✓ | Block until a new comment arrives or the wait elapses. Returns status "timeout" rather than failing when nothing arrives. |
resolve_comment(id, sha, note?) | Mark a comment resolved, recording the commit that addressed it. | |
get_comment_context(id, branch) | ✓ | Return everything needed to act on one comment: anchor, viewport, surrounding markup and any replay link. A comment written under a Maple Mock carries mock.recipe and mock.replay, a link to the page in that state. |
start_solo(previewUrl) | Start a bridge on localhost and return the link that pairs a deployed preview with it. The reviewer opens the link in their browser and the comments they write there land in .maple/ for list_comments and wait_for_comments to read. They never count toward the merge gate. |
wait_for_comments is clamped to 55 seconds because every coding client cuts a tool call off at 60, and it emits notifications/progress every 15 seconds. A timeout is a result: an agent that treats one as an error stops looping the first time nobody is looking. Its cursor is a timestamp; omit it on the first call to drain whatever is already waiting.
MCP gives a server no way to interrupt a client, so the loop is closed from the other end. Claude Code's Stop hook runs when the agent believes it is finished, and Maple's answers with the comments still open:
{
"hooks": { "Stop": [ { "hooks": [{ "type": "command", "command": "npx -y -p @maple-kit/mcp maple-stop-hook" }] } ] } }
The Maple Claude Code plugin registers it for you. It blocks while a comment is open or needs_reverify, at most eight stops in a row per session; on the ninth it lets the session end and says what is still open, which beats an agent resolving comments to escape. The count is kept per session_id in the system temp directory, and a stop no block caused starts it again.
The hook does not see `.mcp.json`'s `env`. That block is handed to the MCP server alone; a hook runs in the client's own environment. So MAPLE_GITHUB_OWNER, MAPLE_GITHUB_REPO and GITHUB_TOKEN have to be set where the client itself starts — under the same op run --env-file — or the hook fails naming the one missing. With neither of the first two set, it reads the comments under .maple/ for the current branch instead, and lets every stop through where there are none. MAPLE_BRANCH defaults to the branch checked out in the session's working directory.
With MAPLE_URL set to a deployed route's mount URL, such as https://web-482.preview.acme.dev/api/maple, resolve_comment asks that route to republish maple/visual-review, so an agent that resolves the last comment with nothing left to push does not leave the check holding on finished work. The request carries the branch and GITHUB_TOKEN, which must be able to push to the repository. The route decides the verdict and publishes with the gate App's own credentials, which never leave it. A failed refresh is logged to stderr and the resolve is still recorded.
MAPLE_GATE_TOKEN is the other way, for CI: a gate App installation token the server publishes with directly. It expires an hour after it is minted, so it suits a job, not a session. Setting both fails at startup.
maple-review skill turns a pull request's maple ` comments into a worklist without the server.Apache-2.0. See LICENSE and NOTICE.