
Simple Commenter
io.github.simple-commenter由 GitHub 账号 simple-commenter 发布v1.5.0更新于 Oct 26, 2026
Search, export, triage, and manage authorized website and asset feedback in Simple Commenter.
概览
把 Simple Commenter 接入助手,用于读取、搜索、导出和分诊网站与素材反馈,并可回复和更新状态。
- 可以做什么
- 列出已授权项目,读取项目上下文、状态、标签与设置
- 按条件筛选、分页列出并搜索反馈,查看元素 XPath、截图和 AI 生成的简报
- 更新状态、优先级、标签、可见性或归档状态,并带附件回复反馈
- 在自行查看页面后提交新的页面级或元素锚定评论
- 导出筛选后的 CSV,并生成反馈报告,支持持久化后台任务
- 在授权允许时管理团队成员、项目分配和项目设置
- 适用场景
- 适合团队在 Simple Commenter 中收集网站或素材反馈,并希望编码助手拉取待办项、修复、回复并标记完成的场景;也适合需要按条件导出或统计这些反馈时使用。
- 运行要求
- 需要一个 Simple Commenter 账号、至少一个项目并已安装组件。可使用托管端点配合浏览器 OAuth 和按项目授权的范围,或使用 Node.js 运行本地 npm 包,通过 SIMPLE_COMMENTER_API_TOKEN 环境变量或 init 向导认证,凭据会保存在本地配置文件。
安装
在 SourceWeft 中
- 打开 控制台中的 Simple Commenter,将其添加到工作区。
- 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
交给智能体安装
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.simple-commenter%2Fmcp-server/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。
{
"mcpServers": {
"simple-commenter": {
"type": "http",
"url": "https://www.simplecommenter.com/api/mcp"
}
}
}README
Simple Commenter MCP Server
MCP server that lets AI clients read, search, export, and manage website and asset feedback from Simple Commenter. The same tool catalog powers local npm/stdio connections and the hosted HTTPS adapter.
Hosted connections
The hosted route is https://www.simplecommenter.com/api/mcp. It uses browser OAuth with selected-project grants and separate read, write, and settings scopes. Open MCP directly in a project's sidebar for connection status and setup. Hosted MCP is enabled by default when the application is deployed; MCP_ENABLED=false optionally disables it. The hosted application changes still need deployment and release validation; building this package alone does not deploy them.
Clients that support remote MCP can use the hosted route without installing this package. Local clients can continue using the npm setup below. Client support for interactive views and file uploads varies; every tool also returns text and structured data.
Prerequisites
Before using the MCP server, you need a Simple Commenter account with at least one project configured:
- Sign up at simplecommenter.com
- Create a project in the dashboard and add your website domain
- Install the widget on your site (script tag or browser extension)
The connection can read only projects permitted by its grant. Administrative clients with an account-wide settings grant can also create projects; local setup can select a default after the first project exists.
Quick Start
The setup wizard will:
- Authenticate with your email + a 6-digit code
- Let you pick a default project
- Configure status preferences for AI workflows
- Auto-create a
.mcp.jsonin your project root
Restart your AI tool and the MCP server is connected.
Note:
npm installonly downloads the package — it does not touch.mcp.json. The.mcp.jsonentry is written byinit(it doesn't know which project folder to register otherwise). If you registered the server in a global config (e.g.~/.claude.json) instead, an empty or missing project.mcp.jsonis expected anddoctorwill only show it as a warning.
Verify your setup
Checks Node.js version, config, and API connectivity (hard checks), and notes the
.mcp.json state as a warning if the server isn't registered in the project file.
Available Tools
Comment and reply text uses Markdown Lite: **bold**, `code` and lines
starting with - (bullets) are rendered; nothing else is. reply_to_comment
and create_comment may use those markers.
create_comment takes a page path (e.g. /pricing) and text. To pin the
comment to a specific element on the page, pass anchor_selector (a CSS
selector — preferred) or anchor_text (the element's exact, full visible text)
with anchor_tag. Without an anchor it becomes a page-level comment: it shows
in the dashboard and in the widget's feedback list, just without an on-page pin.
The init wizard asks whether the AI may create comments and replies. Disabled
actions are rejected by the local adapter, including direct tool calls. Hosted
access is controlled by OAuth scopes and granted projects. Status suggestions
guide the workflow; they do not grant additional permission.
All tools validate arguments and return machine-readable structuredContent with
a JSON text fallback. Write annotations identify actions that change feedback or
account access. Custom status choices come from the selected project's current
context, so switching projects does not reuse an outdated default enum.
Search, export, and reports
search_comments, export_comments, and feedback_report accept project_id or
project_ids, text (query or search), status, priority, tags, slug,
created_after, created_before, author, include_archived, and source
(all, website, or asset). Creation timestamps use ISO 8601 with a timezone.
Search results paginate with limit (1–100) and offset; reports and exports
cover the complete filtered result set instead of only the current page.
search accepts a query and returns source IDs, titles, and URLs. Pass one of
those IDs to fetch; it does not retrieve arbitrary remote URLs.
Use start_task with operation: "export_comments" or "feedback_report",
filter arguments, and an idempotency_key for long jobs. Poll get_task at the
returned interval. Jobs are durable service records accessed through ordinary
tools; this server does not advertise the experimental MCP protocol tasks
capability.
Safe writes and attachments
New project/member creation, bulk updates, and job creation require an
idempotency_key. Use the same key and identical arguments for a retry. The
original create/reply/update tools accept keys without requiring them for older
clients. If a write without a key times out, inspect the data before retrying.
For reply attachments, call prepare_attachment_upload with a project,
filename, MIME type, and exact byte size. Upload the file bytes with an HTTP PUT
to the returned signed URL using its required headers, then pass
attachments: [{ "upload_id": "returned-id" }] to reply_to_comment. The
service verifies ownership and completion. Your client must be able to upload
file bytes; this tool does not import remote URLs or access local files itself.
Resources, workflow prompts, and interactive views
Resources expose the current connection, authorized projects, project context,
comment detail, and job progress through simplecommenter:// URIs. Discover the
exact resource templates through resources/templates/list.
The prompts triage_feedback, release_report, and investigate_comment load
authorized project context and provide source-based workflows. They do not
perform writes merely because the prompt was selected.
An optional MCP Apps resource, ui://simplecommenter/feedback.html, provides
search and pagination inside compatible hosts. It uses the host's MCP bridge,
loads no external scripts or fonts, and performs only read operations. Clients
without interactive views receive the same feedback as text and structured data.
Embedding the server
Create a server with a request-scoped authenticated client for each hosted
request. The factory never reads the user's home directory or local token
configuration. Authorization must remain enforced by authorizedOperations;
tool annotations and default project selection do not enforce access control.
The implementation is pinned to official MCP SDK 1.30.0.
Typical Workflow
Ask your AI agent:
"Check Simple Commenter for open feedback and fix the issues"
The agent will:
- Call
list_projectsto find your project - Call
list_commentswithstatus=todoto get open issues - Call
get_commenton each to see the element, screenshot, and page URL - Mark comments as
in_progresswhile working - Fix the code
- Reply with what was fixed
- Mark as
done
CLI Commands
login and logout still work as aliases for init and reset.
If not installed globally, prefix with npx @simple-commenter/mcp-server instead.
Changing Your Default Project
To switch to a different project, run init again:
This re-runs the full setup wizard and lets you pick a new default project and preferences.
For a clean start, reset first:
reset removes your saved config and .mcp.json, so you start fresh.
Configuration
.mcp.json (auto-created by init)
Environment variable (CI/Docker)
Authentication priority
The server checks for credentials in this order:
--token <token>CLI flagSIMPLE_COMMENTER_API_TOKENenvironment variable~/.simple-commenter/config.json(frominitcommand)
Troubleshooting
Run doctor to diagnose common issues:
Common issues:
Security
- Credentials are stored in
~/.simple-commenter/config.jsonwithchmod 600(owner-only) - The server warns if file permissions are too open
- For shared machines, use environment variables instead of the config file
- Add
.simple-commenter/to your.gitignore - Never commit your API token to version control. Use environment variables in CI/CD pipelines.
Supported AI Tools
The MCP server works with any tool that supports the Model Context Protocol:
- Claude Code — Anthropic's CLI coding agent
- Cursor — AI-powered code editor
- Any MCP-compatible agent — The protocol is open and growing
Install as a Codex plugin
This repository is also packaged as a Codex plugin, so it can be installed as
one unit instead of wiring up the server by hand. The plugin bundles the hosted
MCP connection with the fix-feedback skill, which runs the whole loop from
open feedback to a landed fix.
Install by pointing a plugin marketplace or a local install at
simple-commenter/mcp-server. The hosted route needs no npm install. Clients
that support only local stdio can still use the init flow described above.
Development
Release and directory listing
server.json is a draft for the official MCP Registry, with both npm/stdio and
the hosted Streamable HTTP route. It has not been submitted and does not imply
that Simple Commenter is listed. Before releasing:
- Deploy the hosted route and OAuth discovery on the public domain. MCP is on
by default; remove any existing
MCP_ENABLED=falseoverride to use it. - Verify fresh sign-in, read-only and selected-project grants, writes, revocation, token refresh, exports, and uploads in the intended clients.
- Run
npm testandnpm pack --dry-run; keep the package version, manifest version, npm package entry, andmcpNameconsistent. - Verify ownership of the
simple-commenterGitHub namespace and npm package. Publish the npm package before submitting registry metadata, as required by the official registry guide. - Remove the draft release marker only when those checks pass, review the complete manifest, and explicitly authorize npm and registry publication.
The registry submission is a separate release action. This package's tests and build never publish, register, or deploy it automatically.
来源:README.md,提交 1e5eab3
工具
0版本历史
1- v1.5.0最新Oct 26, 2026
评分
已满足适用检查项的 85%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
- 已声明认证方式必需10 分
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分