mmm-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_mapsA | 自分のMatryoshka Mind Mapの全マップ(タイトル・ID・TODOかどうか)を返す。他のツールでmapIdを指定する前に、まずこれで存在するマップとそのIDを確認する。自分が所有するマップに加え、他のユーザーから共有されて見えているマップも含む(共有マップのroleが'viewer'の場合は閲覧のみで、書き込み系ツールは使えない)。アプリ側での直接の編集(新規マップ作成等)はこのツールを呼ぶまで反映されないため、ユーザーから状態を尋ねられたときは記憶に頼らず必ず呼び直すこと。 |
| list_elementsA | 指定したマップ内の全要素と親子関係、チェック状態(checked)、期日(due)・着手日(start)を返す。dueとstartは付いている要素にだけあり、終日なら"YYYY-MM-DD"、時刻付きなら"YYYY-MM-DD HH:mm"(このPCの現地時刻)。checkedは各要素にFirestoreへ実際に保存されている生の値であり、「祖先がチェック済みなら配下も完了とみなす」という加工は行っていない。そう解釈したい場合は、返ってきたツリーを見てこちら(呼び出す側)で判断すること。呼ぶ前にユーザーへ確認しないこと。まずconfirmedを付けずに呼ぶ。アプリでAIからの読み取りを「常に許可」にしたマップは、そのまま実データを返す。それ以外のマップは、実データの代わりに確認を促すメッセージだけを返すので、そのときに限りユーザーに直接確認してからconfirmed: trueで呼び直すこと。アプリ側での直接の編集はこのツールを呼ぶまで反映されないため、ユーザーから進捗や状態を尋ねられたときは記憶に頼らず必ず呼び直すこと。 |
| create_mapA | 新しいマインドマップ(マップ)を1つ作成する。list_mapsで確認して該当するマップが無いときだけ呼ぶこと。呼ぶ前に、会話でタイトル案をユーザーに提示し、明示的な確認を得ること(自動判断で勝手に作成しない)。 |
| auto_structure_thoughtA | 会話中にClaudeが考えた階層構造を、既存のマップに追加する。深さは3階層固定ではなく任意。構造化のロジック(何をどう分解するか)はClaude側の判断で行い、このツールはFirestoreへの書き込みだけを行う。追加先(parentElementId)はlist_elementsの結果を見て判断すること。対象は既存マップのみ(新規作成が必要ならcreate_mapを先に呼ぶ)。 |
| update_task_statusA | TODOマップの要素のチェック状態を書き換える。1件でも複数件でもよい。「親をチェックすると配下も完了扱いになる」というアプリ内の表示上の挙動はこのツールでは再現しない(指定した要素だけを書き換える、配下への自動連鎖はしない)。配下も揃えたい場合は、対象の要素をすべてupdatesに列挙すること。 |
| import_markdown_contextA | 任意の深さのMarkdown(インデントで階層を表現したリスト、見出しは |
| edit_elementA | 既存マップの要素1件の本文(detail)を書き換える。要素の追加はauto_structure_thought・import_markdown_contextを、チェック状態の変更はupdate_task_statusを使うこと。 |
| delete_elementsA | 既存マップから要素を削除する。指定した要素とその配下(子孫)を丸ごと削除する。削除は取り返しがつかないため、まずconfirmedを省略(またはfalse)で呼び、返ってくる削除対象の一覧(パスと配下件数)をユーザーに提示して明示的な同意を得てから、confirmed: trueで呼び直すこと。 |
| move_elementB | 既存マップの要素1件(配下ごと)を、同じマップ内の別の場所へ移動する。階層をまたいだ移動(昇格・降格)も、同じ階層内の並べ替えも、これ1つで行える。 |
| set_scheduleB | 要素の期日(due)と着手日(start)を付ける・外す。1件でも複数件でもよい。親の日付を子に引き継ぐことはしない(親と子の日付は独立している)。今の日付はlist_elementsで確認できる。 |
| sign_inA | Matryoshka Mind Mapにサインインする。ほかのツールが「サインインしていません」と返したときに使う。ユーザーのパソコンでブラウザが開き、ユーザーがそこで承認・入力するとサインインが終わる。アプリでのサインイン方法(Google・Apple・メールアドレス+パスワード)を先にユーザーに聞いてから呼ぶこと。'email' はブラウザに入力ページを開くだけなので、メールアドレスやパスワードを会話で尋ねたり受け取ったりしてはならない。statusが'pending'なら、ブラウザでの承認・入力を済ませるようユーザーに伝え、済んだと言われたら同じmethodでもう一度呼んで結果を確かめる。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Most tools have clearly distinct purposes (move_element, edit_element, set_schedule, update_task_status, delete_elements each target a different mutation). The main overlap is auto_structure_thought vs import_markdown_context, which both write hierarchical content into an existing map, but the descriptions differentiate them well (Claude-generated structure vs Markdown import).
All names use snake_case with a verb-first pattern (list_maps, create_map, edit_element, move_element, delete_elements, set_schedule, sign_in). Minor deviations: singular/plural inconsistency (move_element vs delete_elements) and auto_structure_thought, which is adverb_verb_noun rather than a clean verb_noun.
11 tools is well within the ideal 3-15 range and each tool corresponds to a real operation (map CRUD-ish, element mutation, scheduling, import, auth). No filler tools and no missing obvious operation that would need bundling.
The element lifecycle is well covered: create map, list maps/elements, add structure, import, edit text, move, delete, toggle task state, set schedule, plus sign-in. Gaps are at the map level (no rename_map or delete_map) and there is no direct single-element create outside structure/import, but agents can work around these.