Anytype MCP について
Anytype MCP は、ローカルの Anytype API にアクセスする TypeScript 製の MCP サーバーです。スペース、オブジェクト、タイプ、テンプレートを扱えるため、AI アシスタントから Anytype のデータを読み書きしたい利用者に向いています。README には、公式の Anytype MCP が公開されたとの注記があります。
主な機能
- 01スペース内または全体でのオブジェクト検索
- 02オブジェクト内容の取得と Markdown への書き出し
- 03スペースとオブジェクトの作成および削除
- 04リストビューとその中のオブジェクトの管理
- 05スペースメンバー、タイプ、テンプレートの取得
- 06絞り込み済みまたは生の API レスポンスの選択
活用シーン
- 01AI アシスタントによる Anytype 内のノートやオブジェクトの検索
- 02Anytype のオブジェクトを他のツールで使うための Markdown 書き出し
- 03アシスタントを介した Anytype オブジェクトの作成と整理
MCP 対応
本プロジェクトは MCP サーバーであり、ローカルの Anytype API の機能を Claude Desktop などの MCP クライアントからツールとして呼び出せるように提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
公式 Anytype MCP がこちらでリリースされました
https://github.com/anyproto/anytype-mcp
Anytype MCP サーバー
Anytype API へのアクセスを提供する MCP(Model Context Protocol)サーバーです。AI アシスタントやその他の MCP クライアントから、Anytype のデータを操作できます。
Anytype API 定義 v0.46+(2025-03-17)に基づいています。 お使いの Anytype Desktop のバージョンに互換性があることを確認してください。
機能
- スペースの一覧を取得(
get_spaces) - スペース内のオブジェクトを検索/取得(
get_objects、search_space)、または全体を検索(global_search) - オブジェクトの詳細な内容を取得(
get_object_content、全文の取得に対応) - スペースの作成と削除(
create_space)、オブジェクトの作成と削除(create_object、delete_object) - オブジェクトを Markdown としてエクスポート(
export_object) - リストビューとリスト内のオブジェクトを管理(
get_list_views、get_list_view_objects、add_objects_to_list、remove_object_from_list) - スペースメンバーを取得(
get_space_members) - タイプとテンプレートを取得(
get_types、get_type_details、get_templates、get_template_details)
前提条件
- Node.js 18 以降
- Anytype デスクトップアプリケーションがローカルで実行されていること
- Anytype アカウント
インストール
手動インストール
-
このリポジトリをクローンします。
git clone https://github.com/Qwinty/anytype-mcp.git cd anytype-mcp -
依存関係をインストールします。
npm install -
プロジェクトをビルドします(TypeScript を
build/内の JavaScript にコンパイルします)。npm run build -
アプリキーを取得します: サーバーを設定する前に、Anytype からアプリキーを取得する必要があります。下記の「アプリキーの取得」セクションを参照してください。
-
MCP 設定ファイルに MCP サーバーを追加します。
アプリキーの取得
MCP サーバーを使用する前に、Anytype デスクトップアプリケーションからアプリキーを取得する必要があります。
-
Anytype デスクトップアプリケーションが実行中であることを確認します。
-
ヘルパースクリプトを実行します。
npm run get-key -
手順に従ってアプリケーションを認証します。
-
設定用にアプリキーを控えます。
設定
MCP 設定ファイルに Anytype MCP サーバーを追加します。
- Claude の場合:
claude_desktop_config.jsonを編集します。 - その他の MCP クライアントの場合:各クライアントの設定ファイルを編集します。
設定例:
{
"mcpServers": {
"anytype": {
"command": "node",
"args": ["{path/to/anytype-mcp}/build/index.js"],
"env": {
"ANYTYPE_APP_KEY": "YOUR_APP_KEY_HERE"
},
"disabled": false
}
}
}
path/to/anytype-mcp をインストール先の実際のパスに、YOUR_APP_KEY_HERE を取得したアプリキーに置き換えてください。
使い方
サーバーの起動
通常、MCP サーバーは MCP クライアントによって自動的に起動されます。ただし、テストのために手動で起動することもできます。
npm start
利用可能なツール
利用可能なツールと使用例の詳しい一覧は、Tools.md を参照してください。
システムプロンプト
このサーバーを使用する AI アシスタント向けのシステムプロンプトのサンプルも、docs/system-prompt.md で確認できます。
トークン効率とデータのフィルタリング
AI アシスタントのトークン使用量を最適化するため、この MCP サーバーでは、オブジェクトデータを返すツール(get_objects、global_search、search_space)のレスポンスをデフォルトでフィルタリングします。
- デフォルトの動作: サーバーは、ID、名前、タイプ、アイコン、レイアウト、スペース ID、ルート ID、スニペット(利用可能な場合)、ブロック数、タグ、作成日と変更日、作成者情報など、必要なメタデータを含む簡略化されたオブジェクトデータを返します。ブロックの全文と詳細な関連情報は省略されます。
include_text: true: 複数のツール(get_objects、get_object_content、global_search、search_space)は、任意のinclude_textパラメーターに対応しています。これをtrueに設定すると、オブジェクトのブロックから書式設定済みの全文を抽出し、full_textフィールドに含めます。全文が必要な場合に使用してください。ただし、レスポンスのサイズとトークン数が大幅に増加します。full_response: true:get_objects、global_search、search_spaceツールは、full_responseパラメーターにも対応しています。これをtrueに設定すると、すべてのフィルタリングを回避し、Anytype API からの生の完全な JSON レスポンスをそのまま返します。最も詳細な情報を取得できますが、トークン使用量も最大になります。
メタデータのみ、全文、または API の完全な生レスポンスのどれが必要かに応じて、適切なパラメーターを選択してください。
トラブルシューティング
Anytype API が応答しない
お使いのコンピューターで Anytype デスクトップアプリが実行中であることを確認してください。MCP サーバーは、ローカルの Anytype API(http://localhost:31009/v1)に接続します。
認証の問題
認証エラーが発生した場合:
npm run get-keyを実行して、新しいアプリキーを取得します- 新しいキーで MCP 設定を更新します
- MCP クライアントを再起動します
ローカル API のポート
デフォルトでは、サーバーは Anytype API(http://localhost:31009/v1)に接続します。Anytype のインストール環境で異なるポートを使用している場合は、現在のところ src/index.ts の apiBaseUrl 変数を変更し、再ビルドする必要があります(npm run build)。環境変数で設定可能にすることは、将来の改善案です。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。