# Matryoshka Mind Map [Health: Active]

**Category:** 🏢 Workplace & Productivity  
**Repository:** https://github.com/nhorie-canal/mmm_mcp  
**GitHub Stars:** 2  
**npm Downloads (last month):** 1428  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/matryoshka-mind-map

## Description
Read and write your Matryoshka Mind Map (nested mind map / TODO app) from AI agents.

## Tools
Capabilities this server exposes over MCP:

- **list_maps** — 自分のMatryoshka Mind Mapの全マップ(タイトル・ID・TODOかどうか)を返す。他のツールでmapIdを指定する前に、まずこれで存在するマップとそのIDを確認する。自分が所有するマップに加え、他のユーザーから共有されて見えているマップも含む(共有マップのroleが'viewer'の場合は閲覧のみで、書き込み系ツールは使えない)。アプリ側での直接の編集(新規マップ作成等)はこのツールを呼ぶまで反映されないため、ユーザーから状態を尋ねられたときは記憶に頼らず必ず呼び直すこと。
- **list_elements** — 指定したマップ内の全要素と親子関係、チェック状態(checked)、期日(due)・着手日(start)を返す。dueとstartは付いている要素にだけあり、終日なら"YYYY-MM-DD"、時刻付きなら"YYYY-MM-DD HH:mm"(このPCの現地時刻)。checkedは各要素にFirestoreへ実際に保存されている生の値であり、「祖先がチェック済みなら配下も完了とみなす」という加工は行っていない。そう解釈したい場合は、返ってきたツリーを見てこちら(呼び出す側)で判断すること。呼ぶ前にユーザーへ確認しないこと。まずconfirmedを付けずに呼ぶ。アプリでAIからの読み取りを「常に許可」にしたマップは、そのまま実データを返す。それ以外のマップは、実データの代わりに確認を促すメッセージだけを返すので、そのときに限りユーザーに直接確認してからconfirmed: trueで呼び直すこと。アプリ側での直接の編集はこのツールを呼ぶまで反映されないため、ユーザーから進捗や状態を尋ねられたときは記憶に頼らず必ず呼び直すこと。
- **create_map** — 新しいマインドマップ(マップ)を1つ作成する。list_mapsで確認して該当するマップが無いときだけ呼ぶこと。呼ぶ前に、会話でタイトル案をユーザーに提示し、明示的な確認を得ること(自動判断で勝手に作成しない)。
- **auto_structure_thought** — 会話中にClaudeが考えた階層構造を、既存のマップに追加する。深さは3階層固定ではなく任意。構造化のロジック(何をどう分解するか)はClaude側の判断で行い、このツールはFirestoreへの書き込みだけを行う。追加先(parentElementId)はlist_elementsの結果を見て判断すること。対象は既存マップのみ(新規作成が必要ならcreate_mapを先に呼ぶ)。
- **update_task_status** — TODOマップの要素のチェック状態を書き換える。1件でも複数件でもよい。「親をチェックすると配下も完了扱いになる」というアプリ内の表示上の挙動はこのツールでは再現しない(指定した要素だけを書き換える、配下への自動連鎖はしない)。配下も揃えたい場合は、対象の要素をすべてupdatesに列挙すること。
- **import_markdown_context** — 任意の深さのMarkdown(インデントで階層を表現したリスト、見出しは`#`)を組み立てて、既存のマップに流し込む。見出しも1つの要素として取り込む。取り込み先がTODOマップでない場合、`- [ ]`/`- [x]`のチェックボックス記法は取り除かれチェック状態も反映されない(アプリ本体の挙動と同じ)。対象は既存マップのみ(新規作成が必要ならcreate_mapを先に呼ぶ)。
- **edit_element** — 既存マップの要素1件の本文(detail)を書き換える。要素の追加はauto_structure_thought・import_markdown_contextを、チェック状態の変更はupdate_task_statusを使うこと。
- **delete_elements** — 既存マップから要素を削除する。指定した要素とその配下(子孫)を丸ごと削除する。削除は取り返しがつかないため、まずconfirmedを省略(またはfalse)で呼び、返ってくる削除対象の一覧(パスと配下件数)をユーザーに提示して明示的な同意を得てから、confirmed: trueで呼び直すこと。
- **move_element** — 既存マップの要素1件(配下ごと)を、同じマップ内の別の場所へ移動する。階層をまたいだ移動(昇格・降格)も、同じ階層内の並べ替えも、これ1つで行える。
- **set_schedule** — 要素の期日(due)と着手日(start)を付ける・外す。1件でも複数件でもよい。親の日付を子に引き継ぐことはしない(親と子の日付は独立している)。今の日付はlist_elementsで確認できる。
- **sign_in** — Matryoshka Mind Mapにサインインする。ほかのツールが「サインインしていません」と返したときに使う。ユーザーのパソコンでブラウザが開き、ユーザーがそこで承認・入力するとサインインが終わる。アプリでのサインイン方法(Google・Apple・メールアドレス+パスワード)を先にユーザーに聞いてから呼ぶこと。'email' はブラウザに入力ページを開くだけなので、メールアドレスやパスワードを会話で尋ねたり受け取ったりしてはならない。statusが'pending'なら、ブラウザでの承認・入力を済ませるようユーザーに伝え、済んだと言われたら同じmethodでもう一度呼んで結果を確かめる。

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "matryoshka-mind-map": {
    "command": "npx",
    "args": ["-y","mmm-mcp-server@latest"]
  }
}
```

## Documentation

## What Matryoshka Mind Map does

Matryoshka Mind Map MCP server lets an AI agent work with maps stored in the Matryoshka Mind Map app. The app supports nested mind maps and TODOs, so an agent can help organize information into hierarchical topics, add tasks beneath existing nodes, and mark completed work.

Typical requests include listing the maps in an account, adding a named task to a selected map, converting ideas from a conversation into nested structure, and importing long notes or Markdown. An agent can also update a TODO when the user reports that a task is finished.

Matryoshka Mind Map is available through a web app and mobile apps for iOS and Android. The MCP connection operates on the user's own Matryoshka account rather than a shared workspace.

## How it works

The server runs on the user's computer while the user interacts with an AI agent. It communicates with the selected MCP client over the local server command, and reads or writes map data directly in the authenticated Matryoshka account.

Authentication can be initiated by asking the agent to sign in. Claude Desktop opens a browser for Google or Apple approval, or for email-and-password sign-in. Terminal users can authenticate with the `mmm-login` command and choose `google`, `apple`, or `email`. Anonymous-only Matryoshka accounts cannot be used; the account must be linked to one of those supported sign-in methods.

When a map is read for the first time, Claude requests permission. The server is not an always-on service: it runs only during interaction with the agent. Login information remains on the local computer, and map titles and contents are not sent to the developer. On days when the server writes to maps, it records only the date and a count of such days in the account.

## Setup and configuration

Claude Desktop users can download the `mmm-mcp-server.mcpb` package from the project's latest GitHub release, open it, and select **Install**. After installation, ask Claude to sign in to Matryoshka and approve the browser authentication flow.

For Claude Code and other MCP clients, Node.js 18 or newer is required. Register `npx -y mmm-mcp-server@latest` as the server command. Claude Code can be configured with:

```bash
claude mcp add mmm -- npx -y mmm-mcp-server@latest
```

Authentication can also be started from a terminal:

```bash
npx -y -p mmm-mcp-server@latest mmm-login login --method google
```

Replace `google` with `apple` or `email` when appropriate. Other MCP clients should register the same `npx` command according to their server configuration format.

## Tools and capabilities

- List the user's Matryoshka maps.
- Read map content through the connected account.
- Create nested map content from an ongoing conversation.
- Add tasks to a named map.
- Mark TODO items as complete.
- Import long notes or Markdown into a map.

## Limitations and notes

The integration requires a Matryoshka account linked to Google, Apple, or an email address; anonymous accounts are unsuitable. Map access is subject to client permission prompts, including the first read of a map in Claude. The server is local and session-based rather than an always-running remote service. Usage telemetry for write activity is limited to dates and counts, while map titles and contents remain outside the developer's view.

_Full upstream README: https://allmcps.com/mcp/matryoshka-mind-map/readme_

