/ ディレクトリ / プレイグラウンド / affine-mcp-server
● コミュニティ DAWNCR0W ⚡ 即起動

affine-mcp-server

作者 DAWNCR0W · DAWNCR0W/affine-mcp-server

Claude を AFFiNE ワークスペースに接続 — ドキュメント、データベース、コメント、Blob、ユーザーにまたがる87のツールを、APIトークン・Cookie・メール/パスワード認証で利用できます。

affine-mcp-server は AFFiNE グラフ全体をカバーする87のツールを提供します。対象はワークスペース、組織、ドキュメント、データベース、コメント、履歴、ユーザー/トークン、Blobストレージです。AFFiNE Cloud(APIトークン使用)およびセルフホスト環境(メール/パスワード認証にも対応)で動作します。

なぜ使うのか

主な機能

ライブデモ

実際の動作

affine.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "affine": {
      "command": "npx",
      "args": [
        "-y",
        "affine-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "affine": {
      "command": "npx",
      "args": [
        "-y",
        "affine-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "affine": {
      "command": "npx",
      "args": [
        "-y",
        "affine-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "affine": {
      "command": "npx",
      "args": [
        "-y",
        "affine-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "affine",
      "command": "npx",
      "args": [
        "-y",
        "affine-mcp-server"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "affine": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "affine-mcp-server"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add affine -- npx -y affine-mcp-server

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: affine-mcp-server

Claude から AFFiNE にメモをすばやく記録する

👤 AFFiNE をメインのメモツールとして使用しているユーザー ⏱ ~5 min beginner

使うタイミング: 会話中に要点を AFFiNE に保存したいが、画面を切り替えたくないとき。

前提条件
  • AFFiNE APIトークン — AFFiNE Cloud: Settings > Integrations > MCP Server
フロー
  1. ワークスペースを探す
    List my AFFiNE workspaces. I want to write into 'Personal'.✓ コピーしました
    → ワークスペース一覧
  2. ドキュメントを作成する
    Create a new doc titled '2026-04-14 meeting notes' with content [paste]. Put it under /Meetings.✓ コピーしました
    → ドキュメント作成完了 + URL

結果: チャットを離れることなく AFFiNE にメモが保存される。

注意点
  • Cloud 環境ではメール/パスワード認証が Cloudflare にブロックされる — Cloud ではAPIトークンを使用する。メール/パスワードはセルフホスト環境でのみ使用可能

外部シグナルから AFFiNE データベースに行を追加する

👤 AFFiNE データベースを簡易CRM/トラッカーとして使っているナレッジワーカー ⏱ ~10 min intermediate

使うタイミング: メールで届いたニュースレター購読者を AFFiNE の「連絡先」DBに自動登録したいとき。

フロー
  1. データベース一覧を取得する
    Show me databases in my 'Work' workspace.✓ コピーしました
    → DB一覧
  2. 行を追加する
    To database 'Contacts', add a row: name='Jane Doe', email='[email protected]', source='Newsletter', date=today.✓ コピーしました
    → 行が追加されUUIDが返却される

結果: LLM によって駆動される簡易CRMとしての AFFiNE 活用。

注意点
  • フィールドの型がDBスキーマと一致している必要がある — まず describe-database 系のツールでスキーマを取得してから操作する

AFFiNE ワークスペース横断で検索し、結果を要約する

👤 大量のドキュメントを持つ AFFiNE パワーユーザー ⏱ ~10 min beginner

使うタイミング: あるトピックについて書いた記憶はあるが、どこに保存したか思い出せないとき。

フロー
  1. 検索する
    Search across my workspaces for 'series A process'. List top 10 docs with snippet.✓ コピーしました
    → ハイライト付きのドキュメント検索結果
  2. 要約する
    Load the top 3 docs and summarize the key points + any contradictions.✓ コピーしました
    → ドキュメント横断の要約

結果: 自分のメモから組織的な知見が引き出される。

組み合わせ

他のMCPと組み合わせて10倍の力を

コンテンツを AFFiNE に取り込む

この動画を要約して、AFFiNE の「Talks Notes」DBに保存して。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
list_workspaces AFFiNE グラフ内を探索する 1 API call
search_documents workspace_id, query, limit? テキストでドキュメントを検索する 1 API call
create_document workspace_id, title, content, parent_id? 新しいドキュメントを追加する 1 API call
update_document doc_id, content | title 既存のドキュメントを編集する 1 API call
add_database_row database_id, fields: obj 構造化データを登録する 1 API call

コストと制限

運用コスト

APIクォータ
AFFiNE プランの上限に準拠
呼び出しあたりのトークン
ドキュメントの内容によりトークン数は大きく変動します。可能な場合はセクション単位で絞り込んでください
金額
セルフホスト版は無料。Cloud には有料プランあり
ヒント
コード内でリスト取得+フィルタリングするより search_documents を使う方が効率的です。

セキュリティ

権限、シークレット、影響範囲

最小スコープ: Workspace-scoped API token where possible
認証情報の保管: AFFINE_API_TOKEN 環境変数に設定。リポジトリにコミットしないこと
データ送信先: AFFiNE のデータが LLM プロバイダーに送信されます
絶対に付与しない: Cookie auth on a shared machine — cookies are user-session-equivalent

トラブルシューティング

よくあるエラーと対処法

401 / token invalid

Settings > Integrations > MCP Server でトークンを再生成し、新しいトークンを環境変数に設定してください。

Cannot find workspace

サーバー連携済みワークスペースとローカル専用ワークスペースの混同が原因です。サーバー連携済みのワークスペースのみアクセス可能です。

確認: AFFiNE の UI を開き、そのワークスペースがクラウド同期されているか確認してください。
DB row rejected — field type mismatch

先にスキーマを取得し、型を一致させてください。日付は通常 ISO-8601 形式の文字列が必要です。

代替案

affine-mcp-server 他との比較

代替案代わりに使う場面トレードオフ
Notion MCPAFFiNE ではなく Notion を使用している場合別製品。エコシステムはより成熟している
Obsidian MCPObsidian のマークダウンファイル運用に完全移行している場合ローカルファースト。設計思想が異なる

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る