Integrations
doc-lib-mcp MCP サーバー
ドキュメントの取り込み、チャンク化、セマンティック検索、メモ管理のためのモデル コンテキスト プロトコル (MCP) サーバー。
コンポーネント
リソース
- 以下を使用してシンプルなメモ保存システムを実装します。
- 個々のノートにアクセスするためのカスタム
note://
URI スキーム - 各ノートリソースには、名前、説明、
text/plain
MIMEタイプがあります。
- 個々のノートにアクセスするためのカスタム
プロンプト
- プロンプトを表示します:
- summary-notes : 保存されているすべてのメモの要約を作成します
- 詳細レベル(簡潔/詳細)を制御するためのオプションの「スタイル」引数
- 現在のすべてのメモをスタイルの好みに合わせて組み合わせたプロンプトを生成します
- summary-notes : 保存されているすべてのメモの要約を作成します
ツール
サーバーは幅広いツールを実装しています:
- add-note : メモリ内のノートストアに新しいノートを追加する
- 引数:
name
(文字列)、content
(文字列)
- 引数:
- ingest-string : メッセージ経由で提供されたマークダウンまたはプレーンテキスト文字列を取り込み、チャンク化する
- 引数:
content
(文字列、必須)、source
(文字列、オプション)、tags
(文字列のリスト、オプション)
- 引数:
- ingest-markdown : マークダウン (.md) ファイルを取り込んでチャンク化する
- 引数:
path
(文字列)
- 引数:
- ingest-python : Python (.py) ファイルを取り込み、チャンク化する
- 引数:
path
(文字列)
- 引数:
- ingest-openapi : OpenAPI JSON ファイルを取り込み、チャンク化する
- 引数:
path
(文字列)
- 引数:
- ingest-html : HTML ファイルを取り込み、チャンク化する
- 引数:
path
(文字列)
- 引数:
- ingest-html-url : URL から HTML コンテンツを取り込み、チャンク化する (動的コンテンツの場合はオプションで Playwright を使用)
- 引数:
url
(文字列)、dynamic
(ブール値、オプション)
- 引数:
- smart_ingestion : Gemini を使用してファイルから技術的に関連するすべてのコンテンツを抽出し、堅牢なマークダウン ロジックを使用してチャンクに分割します。
- 引数:
path
(文字列、必須): 取り込むファイル パス。prompt
(文字列、オプション): Gemini で使用するカスタムプロンプト。tags
(文字列のリスト、オプション): 分類用のタグのオプションのリスト。
- Gemini 2.0 Flash 001 を使用して、コード、構成、マークダウン構造、および技術的な定義のみを抽出します (要約や解説は含まれません)。
- 抽出されたコンテンツを、コード ブロックとマークダウン/ナラティブ コンテンツの両方を個別のチャンクとして保存する mistune 3.x ベースのチャンカーに渡します。
- 各チャンクは、意味的な検索と取得のために埋め込まれ、保存されます。
- 引数:
- search-chunks : 取り込んだコンテンツに対するセマンティック検索
- 引数:
query
(文字列): セマンティック検索クエリ。top_k
(整数、オプション、デフォルト 3): 返される上位結果の数。type
(文字列、オプション): チャンクタイプ (例:code
、html
、markdown
) で結果をフィルタリングします。tag
(文字列、オプション): チャンク メタデータ内のタグで結果をフィルターします。
- 指定されたクエリに最も関連性の高いチャンクを返します。オプションでタイプやタグでフィルタリングできます。
- 引数:
- delete-source : 指定されたソースからすべてのチャンクを削除する
- 引数:
source
(文字列)
- 引数:
- delete-chunk-by-id : IDで1つ以上のチャンクを削除する
- 引数:
id
(整数、オプション)、ids
(整数のリスト、オプション) id
を指定して 1 つのチャンクを削除することも、ids
を指定して複数のチャンクを一度に削除することもできます。
- 引数:
- update-chunk-type : チャンクのtype属性をIDで更新する
- 引数:
id
(整数、必須)、type
(文字列、必須)
- 引数:
- ingest-batch : 複数のドキュメントファイル(マークダウン、OpenAPI JSON、Python)を一括で取り込み、チャンク化する
- 引数:
paths
(文字列のリスト)
- 引数:
- list-sources : メモリに取り込まれ保存されたすべての一意のソース (ファイル パス) を一覧表示します。オプションでタグまたはセマンティック検索によるフィルタリングが可能です。
- 引数:
tag
(文字列、オプション): チャンク メタデータ内のタグでソースをフィルターします。query
(文字列、オプション): 関連するソースを見つけるためのセマンティック検索クエリ。top_k
(整数、オプション、デフォルト 10): クエリを使用するときに返される上位ソースの数。
- 引数:
- get-context : タグ、タイプ、意味的類似性でフィルタリングして、AI コンテキストとして使用するために関連するコンテンツ チャンク (コンテンツのみ) を取得します。
- 引数:
query
(文字列、オプション): セマンティック検索クエリ。tag
(文字列、オプション): チャンク メタデータ内の特定のタグで結果をフィルターします。type
(文字列、オプション): チャンクタイプ (例: 'code'、'markdown') で結果をフィルタリングします。top_k
(整数、オプション、デフォルト 5): 取得する上位の関連チャンクの数。
- 引数:
- update-chunk-metadata : チャンクのメタデータフィールドをIDで更新する
- 引数:
id
(整数)、metadata
(オブジェクト)
- 引数:
- tag-chunks-by-source : 指定されたソース(URLまたはファイルパス)に関連付けられたすべてのチャンクのメタデータに、指定されたタグを追加します。既存のタグとマージされます。
- 引数:
source
(文字列)、tags
(文字列のリスト)
- 引数:
- list-notes : 現在保存されているすべてのメモとその内容を一覧表示します。
チャンク化とコード抽出
- Markdown、Python、OpenAPI、HTML ファイルは、効率的な取得と検索のために論理的なチャンクに分割されます。
- マークダウン チャンカーは、mistune 3.x の AST API と正規表現を使用して、すべての元の書式を保持しながら、コードをブロックと説明ごとに確実に分割します。
- コード ブロックとマークダウン/説明コンテンツは両方とも個別のチャンクとして保存されます。
- HTMLチャンクは、
readability-lxml
ライブラリを使用してまずメインコンテンツを抽出し、次に<pre>
タグからブロックコードスニペットを専用の「コード」チャンクとして抽出します。インライン<code>
コンテンツはナラティブチャンクの一部として保持されます。
セマンティック検索
search-chunks
ツールは、取り込まれたすべてのコンテンツに対してベクトル ベースのセマンティック検索を実行し、指定されたクエリに最も関連性の高いチャンクを返します。- セマンティックランキングの前に、チャンク タイプ (例:
code
、html
、markdown
) および/またはチャンク メタデータ内のタグによって結果をフィルター処理するためのオプションのtype
およびtag
引数をサポートします。 - これにより、「'コストと使用量' に関連する 'langfuse' タグが付けられたすべてのコード チャンク」など、高度にターゲットを絞った検索が可能になります。
メタデータ管理
- チャンクには、分類とタグ付けのための
metadata
フィールドが含まれます。 update-chunk-metadata
ツールを使用すると、ID によって任意のチャンクのメタデータを更新できます。tag-chunks-by-source
ツールを使用すると、特定のソースのすべてのチャンクに1回の操作でタグを追加できます。タグ付けでは、新しいタグと既存のタグがマージされ、以前のタグは保持されます。
構成
[TODO: 実装に固有の構成の詳細を追加する]
クイックスタート
インストール
クロードデスクトップ
MacOS の場合: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows の場合: %APPDATA%/Claude/claude_desktop_config.json
発達
建築と出版
配布用のパッケージを準備するには:
- 依存関係を同期し、ロックファイルを更新します。
Copy
- パッケージディストリビューションをビルドします。
Copy
これにより、 dist/
ディレクトリにソースとホイールのディストリビューションが作成されます。
- PyPI に公開:
Copy
注: 環境変数またはコマンド フラグを使用して PyPI 資格情報を設定する必要があります。
- トークン:
--token
またはUV_PUBLISH_TOKEN
- またはユーザー名/パスワード:
--username
/UV_PUBLISH_USERNAME
および--password
/UV_PUBLISH_PASSWORD
デバッグ
MCPサーバーはstdio経由で実行されるため、デバッグが困難になる場合があります。最適なデバッグ環境を実現するには、 MCP Inspectorの使用を強くお勧めします。
次のコマンドを使用して、 npm
経由で MCP Inspector を起動できます。
Copy
起動すると、ブラウザでアクセスしてデバッグを開始できる URL がインスペクタに表示されます。
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server enabling advanced search and content extraction using the Tavily API, with rich customization and integration options.Last updated -4571JavaScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that provides tools for code modification and generation via Large Language Models, allowing users to create, modify, rewrite, and delete files using structured XML instructions.Last updated -12PythonMIT License
- -securityAlicense-qualityA server that provides document processing capabilities using the Model Context Protocol, allowing conversion of documents to markdown, extraction of tables, and processing of document images.Last updated -6PythonMIT License
- -securityFlicense-qualityA simple Model Context Protocol server that enables searching and retrieving relevant documentation snippets from Langchain, Llama Index, and OpenAI official documentation.Last updated -Python