Skip to main content
Glama

Bear Notes MCP Server with RAG

Bear Notes MCP サーバー(RAG 搭載)

AIアシスタントでBear Notesの体験をさらに充実させたいと思いませんか?この小さなツールは、セマンティック検索とRAG(検索拡張生成)を使って、個人の知識ベースをAIシステムに接続します。

AIアシスタントに、単なるテキストマッチングではなく、メモの内容を実際に理解してもらいたかったので、これを作りました。自分で言うのもなんですが、結果はかなり素晴らしいです。

はじめる

設定は簡単です:

git clone [your-repo-url] cd bear-mcp-server npm install

スクリプトを実行可能にします (権限が重要になるため)。

chmod +x src/bear-mcp-server.js chmod +x src/create-index.js

Related MCP server: Bear MCP Server

まずはノートにインデックスをつける

始める前に、メモのベクトル埋め込みを作成する必要があります。

npm run index

注意:私のようにメモをよく取る人の場合、この処理には数分かかるかもしれません。メモをすべて数学的なベクトルに変換して意味を捉えているのです。実に巧妙な処理です😉。

構成

MCP 構成ファイルを更新します。

{ "mcpServers": { "bear-notes": { "command": "node", "args": [ "/absolute/path/to/bear-mcp-server/src/bear-mcp-server.js" ], "env": { "BEAR_DATABASE_PATH": "/Users/yourusername/Library/Group Containers/9K33E3U3T4.net.shinyfrog.net.bear/Application Data/database.sqlite" } } } }

🚨パスを実際のインストール場所に置き換えてください。残念ながら、例のパスをそのまま使用しても特典はありません。

何が特別なのでしょうか?

  • セマンティック検索:キーワードだけでなく、意味に基づいてメモを検索します。「生産性向上システム」と検索すると、GTDやポモドーロに関するメモが、その単語が正確に含まれていなくても見つかります。

  • RAG サポート: AI アシスタントは、明示的に言及していない場合でも、メモから関連するコンテキストを取得できるようになりました。

  • すべてローカル処理:すべてはあなたのマシン上で実行されます。データはコンピューターから出ず、APIキーは不要、インターネットへの依存もありません(初期設定後)。

  • 万全なフォールバック:何らかの理由でセマンティック検索が利用できない場合は、自動的に従来の検索にフォールバックします。万全を期しています。

仕組み

賢い点

このサーバーは、all-MiniLM-L6-v2 モデルを使用した transformers.js の Xenova 実装を使用します。

  • ノートの意味的エッセンスを捉える384次元ベクトルを作成します

  • すべての処理はローカルマシン上で行われます

  • 最初の起動はモデルをロードしている間は少し遅いかもしれませんが、その後は高速です。

流れ

  1. クエリはトランスフォーマーモデルを使用してベクトルに変換されます

  2. このベクトルは、あなたのノートの事前にインデックスされたベクトルと比較されます

  3. キーワードの正確な一致に関係なく、同様の意味を持つメモが返されます。

  4. AIアシスタントはこれらの関連メモを応答の文脈として利用します

プロジェクト構造

あまり複雑なことはありません。

bear-mcp-server/ ├── package.json ├── readme.md └── src/ ├── bear-mcp-server.js # Main MCP server ├── create-index.js # Script to index notes ├── utils.js # Utility functions ├── lib/ # Additional utilities and diagnostic scripts │ └── explore-database.js # Database exploration and diagnostic tool ├── note_vectors.index # Generated vector index (after indexing) └── note_vectors.json # Note ID mapping (after indexing)

AIアシスタントで利用可能なツール

このサーバーに接続する AI アシスタントは次のツールを使用できます。

  1. search_notes : クエリに一致するノートを検索する

    • パラメータ: query (必須)、 limit (オプション、デフォルト: 10)、 semantic (オプション、デフォルト: true)

  2. get_note : IDで特定のノートを取得する

    • パラメータ: id (必須)

  3. get_tags : Bear Notes で使用されているすべてのタグを一覧表示します

  4. retrieve_for_rag : クエリと意味的に類似したメモを、特に RAG 用にフォーマットして取得します。

    • パラメータ: query (必須)、 limit (オプション、デフォルト: 5)

要件

  • Node.js バージョン 16 以上

  • macOS用Bear Notes

  • MCP対応AIアシスタントクライアント

制限事項と注意事項

  • Bear Notes への読み取り専用アクセス (貴重なメモは変更されません)

  • macOSのみ(WindowsとLinuxの方はごめんなさい)

  • 大量の新しいノートを追加した場合は、 npm run indexでインデックスを再構築する必要があります。

  • 最初の起動は、埋め込みモデルがロードされる間にやかんが沸騰するのを待つようなものです

トラブルシューティング

何か問題が起きた場合:

  1. Bearデータベースパスを再確認してください

  2. npm run indexでインデックス作成プロセスを実行したことを確認してください。

  3. Bear Notesデータベースの権限を確認する

  4. サーバースクリプトが実行可能であることを確認する

  5. ログ内のエラーメッセージを探す

不安な場合は、電源をオフにしてからオンにしてみてください。意外と頻繁に動作します。

ライセンス

MIT (自由にいじったり、共有したり、改善したりしてください)

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ruanodendaal/bear-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server