mdreview

io.github.ranawaqas-ai由 GitHub 账号 ranawaqas-ai 发布v0.7.0更新于 Oct 28, 2026

Human-in-the-loop document review: an agent pushes a draft, a person comments, the agent revises.

已验证Streamable HTTP可网页运行效率与工作流文件与存储

概览

AI 生成的概览

让智能体提交 Markdown 草稿供人工审阅、收集审阅者的行内批注,并据此修改文档直到批注被处理。

可以做什么
  • 用 Markdown 草稿和标题创建审阅,返回可交给他人打开的审阅链接
  • 查询审阅状态,读取审阅者对选中文字或段落留下的批注
  • 更新文档源内容,使审阅页面实时刷新并把已处理的批注划掉
  • 列出并管理多个并行审阅,每个审阅按 id 相互隔离
适用场景
适合智能体撰写 Markdown 文档、规格、说明或论文后,需要人工先批注再由智能体修改的场景。也适合希望把反馈收集在浏览器页面中、而不是粘贴回对话里的审阅流程。
运行要求
可使用 app.mdreview.space 的远程端点,通过邮箱一次性链接的 OAuth 登录;也可在 localhost 自托管 Docker 实例,无需账号。托管方式下 Claude Code 插件或安装脚本还需在账户页生成令牌,安装脚本需要 claude CLI 和 python3。自托管需要 Docker 和数据卷。
安装前请注意
托管服务会保存账户邮箱、审阅内容和批注;自托管实例的数据留在本机。自托管服务没有身份验证,且仪表盘会列出所有审阅,对外暴露时应置于带认证的反向代理之后。智能体会写入和覆盖审阅源内容,审阅链接也会分享给其他人。

安装

在 SourceWeft 中

  1. 打开 控制台中的 mdreview,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.ranawaqas-ai%2Fmdreview/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "mdreview": {
      "type": "http",
      "url": "https://app.mdreview.space/mcp"
    }
  }
}

README

mdreview-service

A containerized markdown review microservice. An agent POSTs markdown, gets back a review URL for a human, and polls feedback over HTTP. One service handles many reviews, isolated by id. No per-process spawning, no shared filesystem with the agent.

Landing page: mdreview.space (served from GitHub Pages via .github/workflows/pages.yml; source in web/site/).

Docs: mdreview.space/docs: onboarding, how-to, and troubleshooting, rendered through the service's own markdown renderer (source in web/site/docs/).

Getting started: hosted or self-hosted

Two ways to use mdreview; pick one.

1. Hosted (online). A managed instance runs at mdreview.space (app at app.mdreview.space). Sign in with any email address (you get a one-time link; there is no invite list). Three ways to connect your agent.

claude.ai custom connector (no token). In claude.ai open Settings, Connectors, Add custom connector and enter:

text
https://app.mdreview.space/mcp

Claude opens the mdreview sign-in; enter your email, follow the one-time link and approve the connection on the consent page. It works in claude.ai on the web, Desktop and mobile. Revoke it any time on the Account page.

Claude Code plugin. Inside Claude Code run:

text
/plugin marketplace add ranawaqas-ai/mdreview-service/plugin install mdreview@mdreview

It prompts for a token (mint one on the Account page after signing in) and keeps it in your keychain. Plugin updates arrive through /plugin update; the wrapper does not update itself inside a plugin.

Installer. On the machine running your agent (needs the claude CLI + python3), with a token from the Account page:

sh
curl -fsSL https://mdreview.space/install.sh | MDREVIEW_TOKEN=mdr_xxx sh

That fetches the stdlib-only MCP wrapper into ~/.mdreview and registers it with Claude Code at user scope; quit and reopen Claude Code and you are connected. Omit MDREVIEW_TOKEN=… to be prompted for it instead. (To wire it up by hand, or for a non-Claude-Code MCP client, see MCP server.)

2. Self-hosted (local). Clone and run it yourself (no account, no auth, on localhost). See Run, then point your agent's MCP MDREVIEW_BASE at http://localhost:8137. This is the path if you want everything on your own machine.

Stdlib Python only (tiny image, no pip installs). Self-contained: the marked, Mermaid, KaTeX, highlight.js, and footnote renderers are vendored and served from /static, so the browser needs no CDN. The viewer renders Markdown the way a Jekyll/MathJax site does: LaTeX math (inline $…$ / \(…\), display $$…$$ / \[…\]; prose/currency $ left literal), Mermaid diagrams, GFM footnotes ([^id] refs → an ordered back-ref section), and syntax-highlighted fenced code (a dual-scheme theme that reads on light and dark panes).

Run

bash
make up        # serves on http://localhost:8137# or:docker build -f infra/Dockerfile -t mdreview-service .docker run -d -p 8137:8080 -v mdreview-data:/data mdreview-service

make up (compose) is the canonical local-docker path; it serves on 8137 and reuses the named mdreview-data volume, so a rebuild/recreate preserves your reviews.

Health check: curl localhost:8137/healthz -> {"ok":true}.

Feedback and source persist in the /data volume across restarts.

Migrating a legacy hand-run container

If you have an older instance started by hand (docker run on a nonstandard port such as :8139), move it onto the canonical compose flow without losing data: the mdreview-data volume is reused as-is:

bash
docker rm -f mdreview     # stop the hand-run container (the mdreview-data volume survives)make up                   # compose recreates it on 8137, mounting the same mdreview-data volume

Because the compose volume is now declared with an explicit name: mdreview-data (not a project-prefixed infra_mdreview-data), make up mounts the very volume your old container owned. Confirm with curl localhost:8137/healthz and check your reviews are still listed.

The flow

  1. Agent: POST /api/reviews {markdown, title} -> {id, review_url, feedback_url, ...}
  2. Agent hands review_url to a human.
  3. Human opens it, selects text or clicks a paragraph number, types notes (auto-saved).
  4. Agent polls GET /api/reviews/{id}/status then GET /api/reviews/{id}/feedback.
  5. Agent applies edits and PUT /api/reviews/{id}/source {markdown} -> the human's page live-reloads and addressed notes are struck through. Repeat as needed.

Config (env)

VarDefaultMeaning
PORT8080in-container listen port
MDREVIEW_DATA/datastorage dir (mount a volume)
MDREVIEW_PUBLIC_BASEemptyif set (e.g. https://review.example.com), review_url/feedback_url use it; otherwise the request Host header is used
MDREVIEW_ENABLE_LATEXoffopt-in: enable the LaTeX paper review mode (see below). Requires the mdreview-service-latex image (Tectonic); the default slim image has no LaTeX toolchain

Operator guides

The runbooks that used to live here, moved out so this page stays readable:

GuideWhat it covers
HTTP APIEvery route, request and response shape
MCP serverRunning the stdio server, smoke tests
LaTeX paper reviewEnabling it, templates, the compile loop, the image runbook
WatcherThe agent watcher, trusted-base mode, containerized runs
Design system§01-§10, the UI rules that tickets cite
Autonomous runsHow agents ship changes here

Notes

  • Multi-tenant by id, so concurrent reviews never collide. No auth (intended for trusted / local networks); put it behind a reverse proxy with auth if exposing it.
  • The dashboard (/) and GET /api/reviews list across all reviews: fine for the trusted-network posture, but a reason to keep auth in front when exposed.
  • The MCP wrapper above was designed in docs/future-mcp.md, kept as its design/decision record.
  • For agent integration details, see CLAUDE.md.
  • A non-Docker, per-file CLI version lives in ../mdreview (writes feedback to a file next to the source). This service is the networked, multi-session form.

License

Apache License 2.0.

Privacy Policy

The hosted service at app.mdreview.space stores your account email, your reviews and comments, and sign-in security records. It uses no analytics or tracking cookies, does not sell your data and does not use it to train AI models. The full policy, including retention, deletion and third-party services, is at https://mdreview.space/privacy/. Questions go to [email protected]. A self-hosted instance keeps all data on your machine.

来源:README.md,提交 2a3df6f

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

2
  1. v0.7.0最新Sep 29, 2026
  2. v0.6.0Sep 25, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分