Typesense MCP Server について
Typesense MCP Server は、AI モデルから Typesense の検索機能を利用できるようにする MCP サーバーです。LLM が Typesense コレクション内のデータを探索、検索、分析できます。
主な機能
- 01typesense:// URI によるコレクションのリソース公開
- 02コレクション一覧、検索、ドキュメント取得のツール
- 03コレクションの統計情報とスキーマを取得するツール
- 04コレクション分析と検索提案のプロンプト
活用シーン
- 01LLM が実行時にコレクションを探索し、検索対象を選択する
- 02Typesense コレクションに対してフィルターとソートを使った検索を行う
- 03スキーマとドキュメント数を確認し、データ構造を把握する
MCP 対応
このプロジェクトは MCP サーバーであり、Typesense コレクションのリソース、検索および統計のツール、analyze_collection と search_suggestions のプロンプトを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Typesense MCP サーバー
AI モデルが Typesense の検索機能を利用できるようにする、Model Context Protocol (MCP) サーバーの実装です。このサーバーにより、LLM は Typesense のコレクションに保存されたデータを検出、検索、分析できます。
デモ
機能
リソース
typesense://URI を介してコレクションを一覧表示し、アクセスできます- 各コレクションには名前、説明、ドキュメント数があります
- スキーマへのアクセスには JSON MIME タイプを使用します
ツール
-
typesense_query
- 強力なフィルタリング機能を使って、Typesense のコレクション内のドキュメントを検索します
- 入力:クエリテキスト、コレクション名、検索フィールド、フィルター、並べ替えオプション、上限
- 関連度スコア付きで一致したドキュメントを返します
-
typesense_get_document
- ID を指定して、コレクションから特定のドキュメントを取得します
- 入力:コレクション名、ドキュメント ID
- ドキュメントの完全なデータを返します
-
typesense_collection_stats
- Typesense コレクションの統計情報を取得します
- 入力:コレクション名
- コレクションのメタデータ、ドキュメント数、スキーマ情報を返します
プロンプト
-
analyze_collection
- コレクションの構造と内容を分析します
- 入力:コレクション名
- 出力:スキーマ、データ型、統計情報に関するインサイト
-
search_suggestions
- コレクションに効果的な検索クエリの候補を取得します
- 入力:コレクション名
- 出力:コレクションのスキーマに基づく推奨検索方法
インストール
npm 経由
# Global installation
npm install -g typesense-mcp-server
# Local installation
npm install typesense-mcp-server
mcp-get 経由
npx @michaellatman/mcp-get@latest install typesense-mcp-server
開発
依存関係をインストールします:
npm install
サーバーをビルドします:
npm run build
自動再ビルドを有効にした開発の場合:
npm run watch
開発環境へのインストール
Claude Desktop を使用する場合
Claude Desktop で使用するには、サーバー設定を追加します:
MacOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json
Windows の場合:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"typesense": {
"command": "node",
"args": [
"~/typesense-mcp-server/dist/index.js",
"--host", "your-typesense-host",
"--port", "8108",
"--protocol", "http",
"--api-key", "your-api-key"
]
},
}
}
デバッグ
MCP サーバーは stdio 経由で通信するため、デバッグが難しい場合があります。パッケージスクリプトとして利用できる MCP Inspector の使用をおすすめします:
npm run inspector
Inspector は、ブラウザーでデバッグツールにアクセスするための URL を表示します。
コンポーネント
リソース
サーバーは Typesense コレクションに関する情報を提供します:
- コレクションスキーマ(
typesense://collections/<collection>)- 各コレクションの JSON スキーマ情報
- フィールド名とデータ型を含みます
- データ構造を理解するためのサンプルドキュメント
ツール
サーバーは Typesense とやり取りするため、以下のツールを提供します:
-
typesense_list_collections - 利用可能なすべてのコレクションとそのスキーマを一覧表示します
- ゼロ設定での検出とルーティングを可能にします
- LLM は実行時にコレクションを列挙し、検索前に適切なコレクションを選択できます
- コレクションが環境、テナント、バージョンによって異なる場合に役立ちます
- スキーマ推論用のフィールド定義(検索可能、ファセット可能、数値フィールド)を返します
- 詳細レベルを制御する
include_fieldsパラメーターに対応しています
-
typesense_query - コレクション内のドキュメントを検索します
- パラメーターをカスタマイズできる全文検索
- フィルタリング、並べ替え、ページネーションに対応しています
-
typesense_get_document - ID を指定して特定のドキュメントを取得します
-
typesense_collection_stats - 特定のコレクションの詳細な統計情報を取得します
リソーステンプレート
サーバーは次のテンプレートを提供します。
- typesense_search - Typesense の検索クエリを構築するためのテンプレート
- typesense_collection - Typesense のコレクションの詳細を表示するためのテンプレート
Claude Desktop での使用
このサーバーを Claude Desktop アプリで使用するには、次の設定を claude_desktop_config.json の「mcpServers」セクションに追加します。
{
"mcpServers": {
"typesense": {
"command": "npx",
"args": [
"-y",
"typesense-mcp-server",
"--host", "your-typesense-host",
"--port", "8108",
"--protocol", "http",
"--api-key", "your-api-key"
]
}
}
}
ログ
サーバーは次の場所にあるファイルに情報を記録します。
/tmp/typesense-mcp.log
このログには、サーバーの操作、リクエスト、および発生したエラーに関する詳細情報が記録されます。
ライセンス
この MCP サーバーは MIT ライセンスの下でライセンスされています。つまり、MIT ライセンスの利用規約に従うことを条件に、ソフトウェアを自由に使用、変更、配布できます。詳細については、プロジェクトリポジトリの LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。

