← 使い方ガイドに戻る

MCP セットアップガイド

Tundoc を Claude Code / Claude Desktop / Cursor などのエージェントから「あなた専属のコンテキストサーバー」として使うための手順です。 所要時間およそ 5 分。

目次

  1. MCP とは何か(30 秒で)
  2. 事前準備
  3. 手順 1 — API キーを発行する
  4. 手順 2 — MCP 公開を有効化する
  5. 手順 3 — エージェントに登録する
  6. 手順 4 — 動作確認
  7. private メモの扱い
  8. 提供ツール一覧
  9. トラブルシューティング

MCP とは何か(30 秒で)

Model Context Protocol (MCP) は、AI エージェントに外部の「知識」と「ツール」を渡すための標準プロトコルです。 Tundoc を MCP サーバーとして公開すると、Claude Code でコードを書きながら「自分が保存した記事の中から関連するものを探す」「過去に読んだ AI の論文要約を引用する」といったことが、Tundoc を開かずにできるようになります。

イメージ: Tundoc に貯まった知識を、ふだん使うエージェントが「あなたの脳の続き」として参照できる状態にする、という機能です。

事前準備

以下の 3 点を確認してください。

AI 設定の embedding モデル: ⚙️ → AI 設定 ダイアログには「Embedding モデル」項目があります。「モデル取得」ボタンを押すと、AI プロバイダーから取得した一覧のうち名前に embed を含むものがハイライト表示されます。手入力にも切り替え可能です。未設定の場合は text-embedding-3-small がデフォルトです。OpenAI / Ollama (/v1 互換モード) / vLLM / LM Studio / Together / LiteLLM プロキシなど、OpenAI 互換 API なら何でも対応します。

手順 1 — API キーを発行する

  1. ⚙️ メニュー → 「APIキー管理」 をクリック
  2. 用途別に名前を付けて発行。たとえば「Claude Code 用」「Cursor 用」。
    エージェントを分けて発行しておくと、後で個別に失効できます。
  3. 表示された tdoc_xxxxxxxxxxxx...その場でコピーして保管 してください。

    キーはこの一度しか表示されません。閉じる前に必ずコピーしましょう。万が一忘れたら、削除して再発行してください。

手順 2 — MCP 公開を有効化する

  1. ⚙️ メニュー → 「MCP公開: OFF」 をクリック
  2. 確認ダイアログで、現在のメモ数 N 件すべてが外部エージェントから読み取り可能になる ことを確認します。

    private にしたいメモがあれば、いったんキャンセル → メモを編集して「private(MCPから除外)」にチェック → もう一度有効化、の順で進めてください。後からも個別に切り替えできます。

  3. 「上記を理解しました」にチェック → 「公開を有効化」 をクリック

これで /mcp エンドポイントが応答可能になります。OFF に戻すと全リクエストが即座に 403 で拒否されます。

手順 3 — エージェントに登録する

Claude Code の場合

~/.claude.jsonmcpServers セクションに以下を追加:

{
  "mcpServers": {
    "tundoc": {
      "type": "http",
      "url": "https://tundoc.techswan.online/mcp",
      "headers": {
        "Authorization": "Bearer tdoc_ここに発行したキーを貼る"
      }
    }
  }
}

Claude Code を再起動し、/mcp コマンドで tundoc が一覧に出ることを確認してください。

Cursor の場合

Cursor 設定の MCP 項目で「Add new MCP server」を選び:

自分で curl から触ってみる場合

KEY='tdoc_あなたのキー'
curl -s -X POST https://tundoc.techswan.online/mcp \
  -H "Authorization: Bearer $KEY" \
  -H 'Accept: application/json, text/event-stream' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

応答が SSE 形式の JSON で 19 個のツール定義を返せば成功です。

手順 4 — 動作確認

エージェントに以下のような質問を投げてみてください。MCP が正しく動いていれば、自然に Tundoc を参照してくれます。

semantic 系(semantic_search, get_related_memos, get_user_view_on, recommend_to_read)は embedding が生成済みのメモ でしか動きません。新規ユーザーは数十分待つか、サーバー管理者にバックフィルを依頼してください。

private メモの扱い

外部に出したくないメモは 「private(MCPから除外)」 スイッチを ON にします。設定箇所:

private メモは MCP のあらゆる読み取りツールから除外されます。誤って公開状態にしてしまわないよう、MCP 経由でも 一度 private にしたメモは MCP からは編集できません(プライバシーの巻き戻しを防ぐため)。

仕事関連や個人情報を含むメモは、MCP 公開を有効化する前にざっと private にしておくのが安心です。

提供ツール一覧

読み取り系
search_memosキーワード検索
get_memoメモ単体取得
list_recent最近の活動
list_tagsタグ一覧(頻度順)
list_memos_by_tagタグで絞り込み
get_user_interests重み付け上位タグ
get_collection_summary保存傾向サマリ(人物像ではなく収集パターン)
意味検索(embedding)
semantic_search意味で近いメモを探す
get_related_memosあるメモに類似のメモ
get_article_text要約元の原文を取得
get_user_view_on特定トピックでの収集傾向(引用付き)
テーマ(自動クラスタ)
list_themes自動分類されたテーマ一覧
get_themeテーマ詳細+構成メモ
書き込み
create_memoエージェントがメモ作成
update_memoメモ更新(private 巻き戻し不可)
summarize_urlURL を要約してメモ化
関係性・推薦
find_connection2 つのメモのつながりを LLM が説明
recommend_to_read「今読むべき」メモを推薦

トラブルシューティング

401 unauthorized が返る

403 / "MCP access is disabled" が返る

そのユーザーで MCP 公開トグルが OFF になっています。⚙️ → 「MCP公開」をもう一度確認してください。

semantic_search や recommend_to_read が embedding query failed を返す

AI 設定(⚙️ → AI 設定)が未設定です。OpenAI 互換 API の Base URL / APIキー / モデルを保存してください。embedding には text-embedding-3-small 系を使います。

semantic_search の結果が極端に少ない

既存メモの embedding がまだ生成されていない可能性があります。サーバー側で 10 秒に 1 件のペースで自動バックフィル中です。1700 件あれば概ね 6〜10 分で完了します。

embedding モデルを切り替えたい / 別モデルで再生成したい

異なる次元のモデル間(例: 1536d → 1024d)で生成した embedding は混在させると意味のない類似度を返すので、切り替え時は再生成が必要です。サーバー管理者が以下を実行:

# 確認だけ(クリアしない)
node scripts/backfill-embeddings.js --user-email you@example.com --rebuild --dry-run

# 全 embedding を消して再生成
node scripts/backfill-embeddings.js --user-email you@example.com --rebuild --yes

# 特定モデルで埋めたものだけ消す(混在運用)
node scripts/backfill-embeddings.js --user-email you@example.com \
  --rebuild-model text-embedding-3-small --yes

テーマ(クラスタリング結果)は embedding を元にしているので、リビルド時に自動的にドロップされます。バックフィル完了後、queue-worker が次の整時に再クラスタリングします。

テーマ(list_themes)が空のまま

初回クラスタリングはバックグラウンドで 1 時間に 1 回チェックされます。すぐに作りたい場合はログイン Cookie で:

curl -X POST https://tundoc.techswan.online/api/user/themes/recluster \
  -H 'Content-Type: application/json' \
  --cookie 'scrapbox-auth=...' \
  -d '{}'

を叩くと即時にリビルドできます(数秒〜数十秒)。{"skipLlm": true} を付けるとフィクスチャ名で高速にできます。

古いキー / 解約したエージェント用キーを無効化したい

⚙️ → 「APIキー管理」 → 該当キーの削除ボタン。即座にそのキーからの全アクセスが拒否されます。

もっと知りたい