mdmark

MCP のツールを使う

使い方集を読み、文書の書き出し・まとめ・点検・索引の検索と書き換えを Claude Code から呼ぶ手順

プラグインを入れた後、Claude Code に mdmark の文書を書かせるとき、書き出し・点検・索引の操作を頼むときに実行する。 ツールの引数・戻り値・エラーは MCP。

前提

手順

使い方集を読ませる

索引の名前を渡して本文を読ませる

セッションの開始で、使い方集の索引(名前・読むとき・概要)が Claude Code に渡る。 記法・部品・図の描き方・拡張の仕方を使う作業を頼むと、Claude Code が索引の名前を read_guide に渡し、その名前が指すページの本文を必要な分だけ読む。 本文は、docs/ の使い方・リファレンスのページ。

表に並べ替えを付けて、設計書の一覧を書いて

索引に無い名前を渡すと、近い名前を添えたエラーになる。

点検する

check を呼ばせる

mdmark の設定と索引を点検して

check が mdmark check と同じ点検をして、ずれの一覧(ファイル・場所・種類・内容)を返す。 ずれがあってもエラーにならず、設定・索引・文書は書き換わらない。 内容に従って直させ、issues が空になるまで繰り返す。

change_together の組のうち片方の文書だけを直したことも点検するときは、比べる基準の git の ref を base に渡すよう頼む。

origin/develop を基準に、mdmark の設定と索引を点検して

基準と HEAD の merge-base から変わった文書を比べ、片方だけが変わった組を missed_change_together で返す。 base を省くと、直し忘れは点検しない。

文書を書き出す・まとめる

export_html と build_site を呼ばせる

docs/guide.md を 1 枚の HTML に書き出して
設定の build の文書を 1 枚の HTML にまとめて

export_html が mdmark export、build_site が mdmark build と同じ処理で HTML を書き、書いたパスと警告を返す。 同じ文書・設定では、CLI と同じ中身の HTML になる。

索引を探す・書き換える

find_docs と list_tags と update_index を呼ばせる

設計のタグを持つ文書を索引から探して
MCP か YAML のタグのどれかを持つ文書の件数を、一覧を出さずに教えて
索引にあるタグの一覧を、付いている文書の数つきで見せて
索引に文書 b(b.md、題は文書 B)を追加して
文書 arch に関係する文書を、関係の種類と向きつきで見せて

find_docs が設定の index の索引から、題・別名・概要の語、タグ、関係する文書で文書を引く。 タグは、全てを持つ文書(tags)と、どれかを持つ文書(any_tags)を使い分けられ、語彙の別名に当たるタグは語彙の name として引く。 索引がタグの語彙を記載しているとき、語彙に無いタグを渡しても拒まず、警告と近いタグを添えて返す。

related_to に文書の ID を渡すと、その文書から参照している文書と、その文書を参照している文書(逆向きの関連)を引く。 引いた各行の relations に、向き(outgoing はその文書から、incoming はその文書へ)と、その文書から見た関係の種類と when が付く。 索引に記載した関連は片側だけでも、相手の側から required_by・referenced_by・replaced_by・has_part の逆向きの名前で引ける(change_together はそのまま)。 本文のリンクか文書の別名の出現だけで当たった文書は、type と when が null で返る。

引数を省くと、全ての文書ではなく、既定の件数(20 件)の先頭のページを返す。 結果の先頭に総件数・返した件数・合計文字数・next_cursor が付き、続きは next_cursor を cursor に渡して引く。 続きがあるときは、tags・any_tags・text で絞るか、count_only を true にして件数だけを確かめるよう案内が付く。 count_only は、一覧を返さず、総件数・合計文字数・タグごとの件数だけを返す。

各行に返す量は view で選ぶ。 brief(既定)は ID・題・概要・タグ・文字数、standard はパス・別名を加え、full は関連する文書・被参照の数まで加える。 include と exclude で項目を足し引きでき、省いた項目は結果の omitted に取り方つきで並ぶ。 主題のタグ(main: true)が絞り込みのタグに当たる文書は、上に並ぶ。 format を json にすると、structuredContent と text に同じ JSON を返し、省くと Markdown の表を返す。

list_tags が、索引のタグの語彙を、名前・グループ・説明・別名・振り替え先と、付いている文書の数つきで返す。 付いている文書が 0 件のタグも返し、query で名前・別名・説明に当たるタグに絞れる。 find_docs に渡すタグを選ぶ前に呼ぶと、語彙にあるタグと「含める / 含めない / 例」を確かめられる。

update_index が、文書・用語の ID かタグの語彙の name の項目を置き換える(kind に doc・term・tag を渡す。無ければ追加し、null なら消す)。 書く前に、書き換えた後の索引を索引のスキーマで検査し、合わなければ書かずにエラーを返す。 文書の related は、to・type・when を持つオブジェクトの並びで渡す。to・type・when の欠けと、知らない type は拒む。

設定ファイルの場所を決める

ツールの config を省くと、Claude Code のセッションのフォルダから上のフォルダへ順に mdmark.config.yaml を探す。 別の設定ファイルを使うときは、そのパスを config に渡すよう頼む。

反映

ツールを呼ぶたびに、その場の設定・索引・文書を読む。 export_html・build_site は HTML を書き、update_index は索引のファイルを書き換える。

確認

点検のずれが 0 件になっている

check を呼ばせ、issues が空になる。

書き出した HTML がある

export_html と build_site が返した out のファイルがある。

元に戻す

check・read_guide・find_docs・list_tags は何も書き換えない。 書き出した HTML は、out のファイルを消す。 update_index で書き換えた索引は、git で戻す。