VOOZH about

URL: https://glama.ai/mcp/servers/dejuknow/md-redline?locale=ja-JP

⇱ md-redline by dejuknow | Glama


md-redline

👁 npm version

Markdown仕様書、プロンプト、設計ドキュメント向けのインラインレビューコメントツール。

レンダリングされたドキュメント内のテキストをハイライトしてコメントを残すと、AIエージェントがそれを直接読み取って対応できます。コメントは .md ファイル自体に不可視のHTMLマーカーとして保存されます。サイドカーファイルやデータベース、外部サービスは不要です。Markdownファイルが唯一の信頼できる情報源(ソース・オブ・トゥルース)であり続けます。

組み込みのMCPサーバーを使用すると、エージェントはタスクの途中でレビューを要求し、あなたが Send review をクリックするまで待機できます。あなたがフィードバックを残すと、エージェントは中断したところから作業を再開します。コピー&ペーストやコンテキストの切り替えは不要です。

👁 md-redline screenshot

30秒でわかるレビューワークフロー:

https://github.com/user-attachments/assets/7f493201-3aca-489c-86f0-3a7df454f693

Claude Code、Claude Desktop、Codex CLIGemini CLI、およびstdioサーバーをサポートするその他のMCPクライアントで動作します。Sean Groveがspecs are the new codeで論じているように、仕様書はエージェント開発における主要な作業単位になりつつあります。mdr は、そのワークフローにコードレビューに近いレビューツールを提供します。

クイックスタート

前提条件: Node 20以降。

npx md-redline /path/to/spec.md

これにより、必要に応じてローカルアプリが起動し、ブラウザで開かれます。

または、グローバルにインストールします:

npm install -g md-redline
mdr /path/to/spec.md # Open a file
mdr /path/to/dir # Open a directory
mdr --stop # Stop the running server

md-redlinemdr のエイリアスとしても機能します。

Related MCP server: mdshare

MCPの設定

エージェントがタスクの途中でレビューを要求できるように、MCPサーバーをエージェントに登録します。

Claude Code または Claude Desktop

mdr mcp install # register with both clients (default)
mdr mcp install --claude-code # just Claude Code (via `claude mcp add`)
mdr mcp install --claude-desktop # just Claude Desktop (JSON config file)

Codex CLI

codex mcp add md-redline -- mdr mcp

Gemini CLI

gemini mcp add --scope user md-redline mdr mcp

--scope user フラグが重要です。Geminiはデフォルトでプロジェクトごとのスコープを使用するため、現在のディレクトリに対してのみ mdr が登録されます。

その他のMCPクライアント

クライアントのMCP設定ファイルに以下のサーバーエントリを追加してください:

{
 "mcpServers": {
 "md-redline": {
 "command": "mdr",
 "args": ["mcp"]
 }
 }
}

前提条件: mdrPATH に含まれている必要があります(例: npm install -g md-redline)。クライアントがシェルの PATH を継承せずにサブプロセスを生成する場合は、command 値として which mdr で取得した絶対パスを使用してください。

レビューワークフロー

MCPを使用する場合(推奨)

登録後、エージェントにレビューを要求するよう指示します:

"Let me review docs/specs/feature-x.md in mdr before you continue."

エージェントが mdr_request_review を呼び出し、mdr がファイルを開きます。テキストをハイライトしてコメントを残し、Send review をクリックしてください。エージェントはあなたのフィードバックを構造化されたプロンプトとして受け取り、コメントへの対応を開始します。レビューはリクエストごとのオプトイン形式です。エージェントはあなたが要求したときのみ待機します。

MCPを使用しない場合

  1. mdr /path/to/spec.md でMarkdownファイルを開きます。

  2. テキストをハイライトし、インラインコメントを残します。

  3. ハンドオフ用のプロンプトをコピーします。

  4. プロンプトをAIエージェントに貼り付けます。

  5. エージェントがファイルを編集し、フィードバックに対応し、処理したコメントマーカーを削除します。

  6. diffビューで結果を確認します。

オプション: 解決ワークフロー

設定で解決モードを有効にすると、明示的な open(未解決)および resolved(解決済み)状態での人間によるレビューが可能になります。

対象ユーザー

  • ファイルベースのAIエージェントを使用して、ローカルで仕様書、プロンプト、設計ドキュメントを作成している方

  • コミット前や広範なレビューに出す前にドキュメントをレビューするチーム

  • 人間とエージェントの編集ループの中で、プレーンファイルに構造化されたインラインフィードバックを求める方

非目標

  • 共同編集ツールではありません。

  • GitHubのPRレビューの代替ではありません(ファイルがgitにある場合はそちらを使用してください)。

  • 信頼できないコンテンツ向けには設計されていません。これは自身のファイルのためのローカル開発ツールです。

コメントの保存方法

コメントは、参照先のテキストの直前に不可視のHTMLマーカーとしてMarkdown内に直接保存されるため、人間とエージェントの両方が同じファイルで作業できます。

Some text <!-- @comment{
 "id":"uuid",
 "anchor":"highlighted text",
 "text":"Rewrite this section to be clearer.",
 "author":"User",
 "timestamp":"2026-03-26T12:00:00.000Z",
 "replies":[]
} -->highlighted text continues here.

これにより、フィードバックは以下のようになります:

  • プレーンファイルの読み取りを通じてAIエージェントから可視化される

  • Markdownファイルと共にポータブルである

  • 通常のレンダラー(GitHub、VS Codeプレビュー)では不可視である

機能

レビューとコメント

  • レンダリングされたテキストにアンカー付けされたインラインコメント(重複するコメントも含む)

  • スレッド形式の返信と、オプションの open / resolved レビュー状態

  • ドラッグハンドル付きの調整可能なアンカー

  • レンダリング表示、RAW表示、diff表示

  • 1つまたは複数のファイル用のハンドオフプロンプトのコピー

ナビゲーションと編集

  • セッションの永続化とタブコンテキストメニューを備えたマルチタブ編集

  • ファイルエクスプローラー、最近使用したファイル、ネイティブOSのファイルピッカー

  • ドキュメント内検索 (Cmd+F) と一致箇所のナビゲーション

  • スクロールスパイ付きの目次

  • コマンドパレット (Cmd+K)、キーボードショートカット、設定パネル (Cmd+,)

  • リサイズ可能なパネルと右クリックコンテキストメニュー

レンダリングと統合

  • 外部でファイルが変更された際のSSEによるリアルタイムリロード

  • コメント可能なテキストを備えたMermaid図のレンダリング

  • ローカル画像の埋め込みとMarkdownファイル間のクリック可能なリンク

  • カスタマイズ可能なコメントテンプレート

  • 8つのテーマ: Light, Dark, Sepia, Nord, Solarized, GitHub, Rosé Pine, Catppuccin

対応プラットフォーム

  • macOS: 対応

  • Linux: 対応。システムファイルピッカーには zenity が必要です

  • Windows: 対応。システムファイルピッカーはPowerShellを使用します

権限

デフォルトでは、md-redlineはホームディレクトリ内のすべてのMarkdownファイルを読み取ることができます。初めて mdr を実行したとき(または信頼されたルート機能がないバージョンからアップグレードした初回)、ホームフォルダが ~/.md-redline.json の信頼されたルートリストに追加されます。ホームディレクトリ外のファイル(/tmp、マウントされたボリューム、システムパス)を開くには、初回にOSのフォルダピッカー経由で明示的な権限付与が必要です。許可されたフォルダは再起動後も記憶されます。

厳格なフォルダごとのモデルを使用するには、インストール後に一度 mdr --restrict を実行してください。これにより、デフォルトの信頼設定がない ~/.md-redline.json が作成され、その中でファイルを開くたびに各フォルダを明示的に許可することになります。

ファイルの保存には、アトミックな書き込み後のリネームと、mtimeベースの競合検出を使用して、同時編集によるデータ損失を防ぎます。Mermaid SVG出力は、レンダリング前にDOMPurifyでサニタイズされます。md-redlineは信頼できる環境でのみ実行してください。

開発

ソースから

git clone https://github.com/dejuknow/md-redline.git
cd md-redline
npm install
npm run dev

Viteによって出力されたローカルURL(通常は http://localhost:5188)を開きます。

スクリプト

npm run dev # Start dev server
npm run lint # Lint
npm test # Production build + unit tests
npm run test:e2e # Playwright E2E tests
npm run build # Production build

エージェント評価

評価ハーネスは、AIエージェントがインラインコメントを正しく読み取り、対処し、削除できるかをテストします。

  • npm run eval:dry は評価フィクスチャを検証します

  • npm run eval は完全な評価ハーネスを実行します

  • 詳細は eval/README.md を参照してください

アーキテクチャ

bin/md-redline CLI entry point (invoked as `mdr` or `md-redline`)
server/index.ts Hono server for file I/O, browsing, SSE, and local integrations
src/App.tsx Main application shell
src/components/ Viewer, sidebar, raw view, diff view, TOC, explorer, settings, etc.
src/hooks/ State, persistence, selection, file watching, drag handles, tabs
src/lib/comment-parser.ts Inline comment parsing and mutation helpers
src/markdown/pipeline.ts Markdown rendering pipeline
eval/ Eval harness for agent behavior against inline comments
e2e/ Playwright end-to-end coverage

ライセンス

MIT

A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
3dResponse time
3dRelease cycle
11Releases (12mo)
Commit activity

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dejuknow/md-redline'

If you have feedback or need assistance with the MCP directory API, please join our Discord server