Skip to content

MCP server

Coding agents read and answer review comments through this server. The plugin sets it up for Claude Code and Codex. Use this page to connect without it.

Server URL: https://mcp.gutternote.com/mcp

Connect

Use the plugin or a manual setup, not both. The plugin already adds a server named gutternote.

Claude Code

Terminal window
claude mcp add --transport http gutternote https://mcp.gutternote.com/mcp

Then run /mcp in Claude Code and choose gutternote. Your browser opens the approval page.

Codex

Terminal window
codex mcp add gutternote --url https://mcp.gutternote.com/mcp

Codex opens the approval page. Codex may not show MCP prompts. Call the tools directly, or use the plugin, whose skills carry the same steps.

Another client

The client must support the MCP browser authorization flow:

  • OAuth metadata: https://mcp.gutternote.com/.well-known/oauth-authorization-server
  • Client registration: dynamic registration or a client ID metadata document
  • PKCE with S256 is required

A client that needs a static token cannot connect.

Approve

The approval page shows the client’s name and where your browser returns. Check both. Sign in, choose the workspace and projects, then select Approve connection.

TokenLifetime
Access token1 hour. The client refreshes it.
Refresh token30 days since last use. After that, approve again.

Access is checked on every call. To end a connection, use the client’s sign-out or the project’s Install page.

Tools

Start with list_projects. Pass the chosen projectId on every call.

ToolWhat it does
list_projectsLists the projects this connection may use, with id, name and workflow.
list_threadsLists threads waiting for an agent. Pass branch and pr to see only your work’s threads.
wait_for_threadsWaits for a new comment, reply or reopen, and returns an empty list when the wait runs out. Pass since from the last call.
get_threadReads one thread: text, replies, page, element and screenshots.
acknowledge_threadTells the reviewer an agent is on it.
reply_to_threadReplies in the thread. Set waitingOnReviewer to ask a question and wait.
resolve_threadResolves with a summary, commit and changed files.
reopen_threadReopens a thread whose fix did not hold.
get_widget_setupReturns the project key, script tag, allowed sites and install state.
add_allowed_originProposes one exact origin. Returns a link for an owner to confirm. Saves nothing.

Replies, summaries and reasons are public. A guest may read them.

Each call has a time limit. A call still running at the limit stops with TOOL_TIMEOUT. Wait a few seconds, then call it again, with the same clientEventId for a write.

Prompts

PromptArgumentsWhat it does
work_threadsprojectId (optional)Works the project’s comments. Without projectId, it starts with project discovery.
work_threadthreadId (required)Works one thread.
set_up_widgetnoneInstalls the widget on the site, including its CSP.

A prompt does not select a project for later calls.

Workflow

list_projects returns a workflow for each project:

  • threads: use the tools above.
  • unavailable: stop. Comment delivery is not on for this project.
  • batches: a private pilot. See Local delivery pilot.

Errors are in Errors. The full loop is in Resolve feedback with your agent.