Skip to content

MCP ツールリファレンス

このページでは、Claude(または他の AI アシスタント)が VMark に接続する際に利用できるすべての MCP ツールを文書化します。

VMark は コンポジットツールプロトコルツールリソース のセットを公開しています — すべて以下に文書化されています。コンポジットツールはactionパラメーターを使用して操作を選択します — これにより、すべての機能へのアクセスを保ちながらトークンのオーバーヘッドを削減します。

推奨ワークフロー

ほとんどのライティングタスクでは、少数のアクションだけが必要です:

理解: structureget_digestdocumentsearch読み取り: structureget_sectiondocumentread_paragraph / get_content書き込み: structureupdate_section / insert_sectiondocumentwrite_paragraph / smart_insert制御: editorundo / redosuggestionsaccept / rejectファイル: workspacesavetabsswitch / list

残りのアクションは高度な自動化シナリオのための細かい制御を提供します。

Mermaid ダイアグラム

MCP 経由で AI を使用して Mermaid ダイアグラムを生成する場合、mermaid-validator MCP サーバーのインストールを検討してください — ダイアグラムがドキュメントに到達する前に、同じ Mermaid v11 パーサーを使用して構文エラーをキャッチします。


document

ドキュメントコンテンツの読み取り、書き込み、検索、変換。12 アクション。

すべてのアクションはオプションのwindowId(string)パラメーターを受け付け、特定のウィンドウを対象にします。デフォルトはフォーカスされているウィンドウです。

get_content

ドキュメントコンテンツ全体を Markdown テキストとして取得します。

set_content

ドキュメントコンテンツ全体を置き換えます。

パラメータータイプ必須説明
contentstringはい新しいドキュメントコンテンツ(Markdown サポート)。

空のドキュメントのみ

安全のため、このアクションは対象ドキュメントが の場合のみ許可されます。空でないドキュメントには、代わりにinsert_at_cursorapply_diff、またはselectionreplaceを使用してください — これらはユーザーの承認を必要とする提案を作成します。

insert_at_cursor

現在のカーソル位置にテキストを挿入します。

パラメータータイプ必須説明
textstringはい挿入するテキスト(Markdown サポート)。

返り値: { message, position, suggestionId?, applied }

提案システム

デフォルトでは、このアクションはユーザーの承認を必要とする 提案 を作成します。テキストがゴーストテキストのプレビューとして表示されます。ユーザーは承認(Enter)または拒否(Escape)できます。設定 → 統合で 編集を自動承認 が有効の場合、変更は即座に適用されます。

insert_at_position

特定の文字位置にテキストを挿入します。

パラメータータイプ必須説明
textstringはい挿入するテキスト(Markdown サポート)。
positionnumberはい文字位置(0 インデックス)。

返り値: { message, position, suggestionId?, applied }

ドキュメント内のテキストを検索します。

パラメータータイプ必須説明
querystringはい検索するテキスト。
caseSensitivebooleanいいえ大文字小文字を区別した検索。デフォルト: false。

返り値: 位置と行番号を含むマッチの配列。

replace_in_source

ProseMirror ノード境界をバイパスして、Markdown ソースレベルでテキストを置換します。

パラメータータイプ必須説明
searchstringはいMarkdown ソースで見つけるテキスト。
replacestringはい置換テキスト(Markdown サポート)。
allbooleanいいえすべての出現箇所を置換。デフォルト: false。

返り値: { count, message, suggestionIds?, applied }

使用するタイミング

まずapply_diffを使用してください — より速く、より正確です。検索テキストが書式設定の境界(太字、斜体、リンクなど)をまたいでいて、apply_diffが見つからない場合のみreplace_in_sourceにフォールバックしてください。

batch_edit

複数の操作をアトミックに適用します。

パラメータータイプ必須説明
operationsarrayはい操作の配列(最大 100 件)。
baseRevisionstringはい競合検出のための期待されるリビジョン。
requestIdstringいいえ冪等性キー。
modestringいいえ適用せずにプレビューするためのdryRun。適用 vs 提案はユーザー設定で制御されます。

各操作にはtypeupdateinsertdeleteformat、またはmove)、nodeId、およびオプションでtext/contentが必要です。

返り値: { success, changedNodeIds[], suggestionIds[] }

apply_diff

マッチポリシー制御付きでテキストを検索して置換します。

パラメータータイプ必須説明
originalstringはい見つけるテキスト。
replacementstringはい置換するテキスト。
baseRevisionstringはい競合検出のための期待されるリビジョン。
matchPolicystringいいえfirstallnth、またはerror_if_multiple。デフォルト: first
nthnumberいいえ置換するマッチの番号(0 インデックス、nthポリシー用)。
scopeQueryobjectいいえ検索を絞り込むスコープフィルター。
modestringいいえ適用せずにプレビューするためのdryRun。適用 vs 提案はユーザー設定で制御されます。

返り値: { matchCount, appliedCount, matches[], suggestionIds[] }

replace_anchored

精密なターゲティングのためのコンテキストアンカリングを使用してテキストを置換します。

パラメータータイプ必須説明
anchorobjectはい{ text, beforeContext, afterContext }
replacementstringはい置換テキスト。
baseRevisionstringはい競合検出のための期待されるリビジョン。
modestringいいえ適用せずにプレビューするためのdryRun。適用 vs 提案はユーザー設定で制御されます。

read_paragraph

インデックスまたはコンテンツマッチによってドキュメントから段落を読み取ります。

パラメータータイプ必須説明
targetobjectはい{ index: 0 }または{ containing: "text" }
includeContextbooleanいいえ周辺の段落を含める。デフォルト: false。

返り値: { index, content, wordCount, charCount, position, context? }

write_paragraph

ドキュメント内の段落を変更します。

パラメータータイプ必須説明
baseRevisionstringはい競合検出のためのドキュメントリビジョン。
targetobjectはい{ index: 0 }または{ containing: "text" }
operationstringはいreplaceappendprepend、またはdelete
contentstring条件付き新しいコンテンツ(delete以外では必須)。
modestringいいえ適用せずにプレビューするためのdryRun。適用 vs 提案はユーザー設定で制御されます。

返り値: { success, message, suggestionId?, applied, newRevision? }

smart_insert

一般的なドキュメントの場所にコンテンツを挿入します。

パラメータータイプ必須説明
baseRevisionstringはい競合検出のためのドキュメントリビジョン。
destinationvariesはい挿入先(下記参照)。
contentstringはい挿入する Markdown コンテンツ。
modestringいいえ適用せずにプレビューするためのdryRun。適用 vs 提案はユーザー設定で制御されます。

宛先オプション:

  • "end_of_document" — 末尾に挿入
  • "start_of_document" — 先頭に挿入
  • { after_paragraph: 2 } — インデックス 2 の段落の後に挿入
  • { after_paragraph_containing: "conclusion" } — テキストを含む段落の後に挿入
  • { after_section: "Introduction" } — セクション見出しの後に挿入

返り値: { success, message, suggestionId?, applied, newRevision?, insertedAt? }

使用するタイミング

  • 構造化されたドキュメント(見出しあり): structureget_sectionupdate_sectioninsert_sectionを使用
  • フラットなドキュメント(見出しなし): documentread_paragraphwrite_paragraphsmart_insertを使用
  • ドキュメントの末尾: documentsmart_insert"end_of_document"を使用

structure

ドキュメント構造クエリとセクション操作。8 アクション。

すべてのアクションはオプションのwindowIdパラメーターを受け付けます。

get_ast

ドキュメントの抽象構文木を取得します。

パラメータータイプ必須説明
projectionstring[]いいえ含めるフィールド: idtypetextattrsmarkschildren
filterobjectいいえtypelevelcontainshasMarksでフィルタリング。
limitnumberいいえ最大結果数。
offsetnumberいいえスキップ数。
afterCursorstringいいえカーソルページネーション用のノード ID。

返り値: ノードタイプ、位置、コンテンツを含む完全な AST。

get_digest

ドキュメント構造のコンパクトなダイジェストを取得します。

返り値: { revision, title, wordCount, charCount, outline[], sections[], blockCounts, hasImages, hasTables, hasCodeBlocks, languages[] }

list_blocks

ドキュメント内のすべてのブロックをノード ID と共にリストします。

パラメータータイプ必須説明
queryobjectいいえtypelevelcontainshasMarksでフィルタリング。
projectionstring[]いいえ含めるフィールド。
limitnumberいいえ最大結果数。
afterCursorstringいいえカーソルページネーション用のノード ID。

返り値: { revision, blocks[], hasMore, nextCursor? }

ノード ID はプレフィックスを使用します: h-0(見出し)、p-0(段落)、code-0(コードブロック)など。

resolve_targets

ミューテーションの事前チェック — クエリでノードを見つけます。

パラメータータイプ必須説明
queryobjectはいクエリ条件: typelevelcontainshasMarks
maxResultsnumberいいえ最大候補数。

返り値: 解決されたターゲットの位置とタイプ。

get_section

ドキュメントセクション(見出しと次の同じまたは高いレベルの見出しまでのコンテンツ)のコンテンツを取得します。

パラメータータイプ必須説明
headingstring | objectはい見出しテキスト(string)または{ level, index }
includeNestedbooleanいいえサブセクションを含める。

返り値: 見出し、本文、位置を含むセクションコンテンツ。

update_section

セクションのコンテンツを更新します。

パラメータータイプ必須説明
baseRevisionstringはいドキュメントリビジョン。
targetobjectはい{ heading、byIndex、またはsectionId }
newContentstringはい新しいセクションコンテンツ(Markdown)。
modestringいいえ適用せずにプレビューするためのdryRun。適用 vs 提案はユーザー設定で制御されます。

insert_section

新しいセクションを挿入します。

パラメータータイプ必須説明
baseRevisionstringはいドキュメントリビジョン。
afterobjectいいえ挿入後のセクションターゲット。
sectionHeadingobjectはい{ level, text } — 見出しレベル(1-6)とテキスト。
contentstringいいえセクション本文コンテンツ。
modestringいいえ適用せずにプレビューするためのdryRun。適用 vs 提案はユーザー設定で制御されます。

move_section

セクションを新しい場所に移動します。

パラメータータイプ必須説明
baseRevisionstringはいドキュメントリビジョン。
sectionobjectはい移動するセクション: { heading、byIndex、またはsectionId }
afterobjectいいえ移動後のセクションターゲット。
modestringいいえ適用せずにプレビューするためのdryRun。適用 vs 提案はユーザー設定で制御されます。

selection

テキスト選択とカーソルの読み取りと操作。5 アクション。

すべてのアクションはオプションのwindowIdパラメーターを受け付けます。

get

現在のテキスト選択を取得します。

返り値: { text, range: { from, to }, isEmpty }

set

選択範囲を設定します。

パラメータータイプ必須説明
fromnumberはい開始位置(包含)。
tonumberはい終了位置(除外)。

TIP

テキストを選択せずにカーソルを配置するには、fromtoに同じ値を使用します。

replace

選択されたテキストを新しいテキストで置き換えます。

パラメータータイプ必須説明
textstringはい置換テキスト(Markdown サポート)。

返り値: { message, range, originalContent, suggestionId?, applied }

提案システム

デフォルトでは、このアクションはユーザーの承認を必要とする 提案 を作成します。元のテキストには取り消し線が付き、新しいテキストがゴーストテキストとして表示されます。設定 → 統合で 編集を自動承認 が有効の場合、変更は即座に適用されます。

get_context

コンテキスト理解のためにカーソル周辺のテキストを取得します。

パラメータータイプ必須説明
linesBeforenumberいいえカーソル前の行数。デフォルト: 3。
linesAfternumberいいえカーソル後の行数。デフォルト: 3。

返り値: { before, after, currentLine, currentParagraph, block }

blockオブジェクトには以下が含まれます:

フィールドタイプ説明
typestringブロックタイプ: paragraphheadingcodeBlockblockquoteなど。
levelnumber見出しレベル 1-6(見出しのみ)
languagestringコード言語(言語が設定されたコードブロックのみ)
inListstringリスト内にある場合のリストタイプ: bulletordered、またはtask
inBlockquoteboolean引用ブロック内にある場合はtrue
inTablebooleanテーブル内にある場合はtrue
positionnumberブロックが始まるドキュメント位置

set_cursor

カーソル位置を設定します(選択をクリア)。

パラメータータイプ必須説明
positionnumberはい文字位置(0 インデックス)。

format

テキスト書式設定、ブロックタイプ、リスト、リストバッチ操作。10 アクション。

すべてのアクションはオプションのwindowIdパラメーターを受け付けます。

toggle

現在の選択に書式設定マークを切り替えます。

パラメータータイプ必須説明
markstringはいbolditaliccodestrikeunderline、またはhighlight

選択されたテキストにハイパーリンクを作成します。

パラメータータイプ必須説明
hrefstringはいリンク URL。
titlestringいいえリンクタイトル(ツールチップ)。

選択からハイパーリンクを削除します。追加パラメーターなし。

clear

選択からすべての書式設定を削除します。追加パラメーターなし。

set_block_type

現在のブロックを特定のタイプに変換します。

パラメータータイプ必須説明
blockTypestringはいparagraphheadingcodeBlock、またはblockquote
levelnumber条件付き見出しレベル 1-6(headingの場合は必須)。
languagestringいいえコード言語(codeBlock用)。

insert_hr

カーソルに水平線(---)を挿入します。追加パラメーターなし。

toggle_list

現在のブロックのリストタイプを切り替えます。

パラメータータイプ必須説明
listTypestringはいbulletordered、またはtask

indent_list

現在のリストアイテムのインデントを増やします。追加パラメーターなし。

outdent_list

現在のリストアイテムのインデントを減らします。追加パラメーターなし。

list_modify

リストの構造とコンテンツをバッチ変更します。

パラメータータイプ必須説明
baseRevisionstringはいドキュメントリビジョン。
targetobjectはい{ listId }{ selector }、または{ listIndex }
operationsarrayはいリスト操作の配列。
modestringいいえ適用せずにプレビューするためのdryRun。適用 vs 提案はユーザー設定で制御されます。

操作: add_itemdelete_itemupdate_itemtoggle_checkreorderset_indent


table

テーブル操作。3 アクション。

すべてのアクションはオプションのwindowIdパラメーターを受け付けます。

insert

カーソルに新しいテーブルを挿入します。

パラメータータイプ必須説明
rowsnumberはい行数(最低 1 以上)。
colsnumberはい列数(最低 1 以上)。
withHeaderRowbooleanいいえヘッダー行を含めるかどうか。デフォルト: true。

delete

カーソル位置のテーブルを削除します。追加パラメーターなし。

modify

テーブルの構造とコンテンツをバッチ変更します。

パラメータータイプ必須説明
baseRevisionstringはいドキュメントリビジョン。
targetobjectはい{ tableId }{ afterHeading }、または{ tableIndex }
operationsarrayはいテーブル操作の配列。
modestringいいえ適用せずにプレビューするためのdryRun。適用 vs 提案はユーザー設定で制御されます。

操作: add_rowdelete_rowadd_columndelete_columnupdate_cellset_header


editor

エディタ状態操作。3 アクション。

すべてのアクションはオプションのwindowIdパラメーターを受け付けます。

undo

最後の編集アクションを元に戻します。

redo

最後に元に戻したアクションをやり直します。

focus

エディタにフォーカスします(前面に表示し、入力を受け付ける状態にします)。


workspace

ドキュメント、ウィンドウ、ワークスペース状態の管理。12 アクション。

特定のウィンドウで動作するアクションはオプションのwindowIdパラメーターを受け付けます。

list_windows

開いているすべての VMark ウィンドウをリストします。

返り値: { label, title, filePath, isFocused, isAiExposed }の配列

get_focused

フォーカスされているウィンドウのラベルを取得します。

focus_window

特定のウィンドウにフォーカスします。

パラメータータイプ必須説明
windowIdstringはいフォーカスするウィンドウラベル。

new_document

新しい空のドキュメントを作成します。

パラメータータイプ必須説明
titlestringいいえオプションのドキュメントタイトル。

open_document

ファイルシステムからドキュメントを開きます。

パラメータータイプ必須説明
pathstringはい開くファイルパス。

save

現在のドキュメントを保存します。

save_as

ドキュメントを新しいパスに保存します。

パラメータータイプ必須説明
pathstringはい新しいファイルパス。

get_document_info

ドキュメントのメタデータを取得します。

返り値: { filePath, isDirty, title, wordCount, charCount }

close_window

ウィンドウを閉じます。

list_recent_files

最近開いたファイルをリストします。

返り値: { path, name, timestamp }の配列(最大 10 件、最新順)。

get_info

現在のワークスペース状態に関する情報を取得します。

返り値: { isWorkspaceMode, rootPath, workspaceName }

reload_document

ディスクからアクティブなドキュメントを再読み込みします。

パラメータータイプ必須説明
forcebooleanいいえ未保存の変更があっても強制的に再読み込み。デフォルト: false。

ドキュメントが無題またはforce: trueなしで未保存の変更がある場合は失敗します。


tabs

ウィンドウ内のエディタタブの管理。6 アクション。

すべてのアクションはオプションのwindowIdパラメーターを受け付けます。

list

ウィンドウ内のすべてのタブをリストします。

返り値: { id, title, filePath, isDirty, isActive }の配列

switch

特定のタブに切り替えます。

パラメータータイプ必須説明
tabIdstringはい切り替え先のタブ ID。

close

タブを閉じます。

パラメータータイプ必須説明
tabIdstringいいえ閉じるタブ ID。デフォルトはアクティブなタブ。

create

新しい空のタブを作成します。

返り値: { tabId }

get_info

詳細なタブ情報を取得します。

パラメータータイプ必須説明
tabIdstringいいえタブ ID。デフォルトはアクティブなタブ。

返り値: { id, title, filePath, isDirty, isActive }

reopen_closed

最近閉じたタブを再度開きます。

返り値: { tabId, filePath, title }、または利用可能なものがない場合はメッセージ。

VMark はウィンドウごとに最後に閉じた 10 個のタブを追跡します。


media

数式、ダイアグラム、メディア、Wiki リンク、CJK 書式設定の挿入。11 アクション。

すべてのアクションはオプションのwindowIdパラメーターを受け付けます。

math_inline

インライン LaTeX 数式を挿入します。

パラメータータイプ必須説明
latexstringはいLaTeX 式(例: E = mc^2)。

math_block

ブロックレベルの数式を挿入します。

パラメータータイプ必須説明
latexstringはいLaTeX 式。

mermaid

Mermaid ダイアグラムを挿入します。

パラメータータイプ必須説明
codestringはいMermaid ダイアグラムコード。

markmap

Markmap マインドマップを挿入します。標準の Markdown 見出しを使用してツリーを定義します。

パラメータータイプ必須説明
codestringはいマインドマップツリーを定義する見出し付きの Markdown。

svg

SVG グラフィックを挿入します。SVG はパン、ズーム、PNG エクスポート付きでインラインにレンダリングされます。

パラメータータイプ必須説明
codestringはいSVG マークアップ(<svg>ルートを持つ有効な XML)。

Wiki スタイルのリンクを挿入します。

パラメータータイプ必須説明
targetstringはいリンクターゲット(ページ名)。
displayTextstringいいえ表示テキスト(ターゲットと異なる場合)。

結果: [[target]]または[[target|displayText]]

video

HTML5 ビデオ要素を挿入します。

パラメータータイプ必須説明
srcstringはいビデオファイルパスまたは URL。
baseRevisionstringはいドキュメントリビジョン。
titlestringいいえtitle 属性。
posterstringいいえポスター画像パスまたは URL。

audio

HTML5 オーディオ要素を挿入します。

パラメータータイプ必須説明
srcstringはいオーディオファイルパスまたは URL。
baseRevisionstringはいドキュメントリビジョン。
titlestringいいえtitle 属性。

video_embed

ビデオ埋め込み(iframe)を挿入します。YouTube(プライバシー強化)、Vimeo、Bilibili をサポートします。

パラメータータイプ必須説明
videoIdstringはいビデオ ID(YouTube: 11 文字、Vimeo: 数値、Bilibili: BV ID)。
baseRevisionstringはいドキュメントリビジョン。
providerstringいいえyoutube(デフォルト)、vimeo、またはbilibili

cjk_punctuation

半角と全角の句読点を変換します。

パラメータータイプ必須説明
directionstringはいto-fullwidthまたはto-halfwidth

cjk_spacing

CJK とラテン文字の間にスペースを追加または削除します。

パラメータータイプ必須説明
spacingActionstringはいaddまたはremove

suggestions

ユーザー承認待ちの AI 生成編集提案の管理。5 アクション。

AI がdocumentinsert_at_cursor / insert_at_position / replace_in_sourceselectionreplace、またはdocumentapply_diff / batch_editを使用すると、変更はユーザーの承認を必要とする提案としてステージングされます。

すべてのアクションはオプションのwindowIdパラメーターを受け付けます。

元に戻す/やり直しの安全性

提案は承認されるまでドキュメントを変更しません。これにより完全な元に戻す/やり直し機能が保持されます — ユーザーは承認後に元に戻すことができ、拒否しても履歴に何も残りません。

自動承認モード

設定 → 統合で 編集を自動承認 が有効の場合、変更は提案を作成せずに直接適用されます。以下のアクションは自動承認が無効(デフォルト)の場合にのみ必要です。

list

すべての保留中の提案をリストします。

返り値: { suggestions: [...], count, focusedId }

各提案にはidtypeinsertreplacedelete)、fromtonewContentoriginalContentcreatedAtが含まれます。

accept

特定の提案を承認し、変更をドキュメントに適用します。

パラメータータイプ必須説明
suggestionIdstringはい承認する提案の ID。

reject

特定の提案を拒否し、変更なしで破棄します。

パラメータータイプ必須説明
suggestionIdstringはい拒否する提案の ID。

accept_all

ドキュメント順にすべての保留中の提案を承認します。

reject_all

すべての保留中の提案を拒否します。


プロトコルツール

サーバー機能とドキュメント状態を照会するための 2 つのスタンドアロンツール。これらはコンポジットのactionパターンを使用しません。

get_capabilities

MCP サーバーの機能と利用可能なツールを取得します。

返り値: { version, supportedNodeTypes[], supportedQueryOperators[], limits, features }

get_document_revision

楽観的ロックのための現在のドキュメントリビジョンを取得します。

パラメータータイプ必須説明
windowIdstringいいえウィンドウ識別子。

返り値: { revision, lastUpdated }

ミューテーションアクションでリビジョンを使用して同時編集を検出します。


MCP リソース

ツールに加えて、VMark はこれらの読み取り専用リソースを公開します:

リソース URI説明
vmark://document/outlineドキュメント見出し階層
vmark://document/metadataドキュメントメタデータ(パス、単語数など)
vmark://windows/list開いているウィンドウのリスト
vmark://windows/focused現在フォーカスされているウィンドウラベル