Typesense MCP Server について
Typesense MCP Serverは、MCPクライアントにTypesenseの操作機能を提供します。コレクションとドキュメントの管理、キーワード検索とベクトル検索に対応し、STDIO、SSE、Streamable HTTPの各トランスポートを利用できます。
主な機能
- 01サーバーの状態確認とコレクション一覧
- 02コレクションの作成・確認・エクスポート・削除
- 03ドキュメントの作成・更新・インポート・削除
- 04キーワード検索とベクトル検索
- 05STDIO、SSE、Streamable HTTPの利用
活用シーン
- 01Typesenseのコレクションを確認・管理
- 02インデックス対象のドキュメントをインポート・更新
- 03テキストやベクトルでコレクションを検索
MCP 対応
Typesenseの状態確認、コレクション、ドキュメント、検索機能をツールとしてMCPクライアントに公開します。STDIO、SSE、Streamable HTTPに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Typesense MCP サーバー
Typesense と連携する Model Context Protocol(MCP)サーバーです。
インストール
uvをインストールします。
Python 3.11 以降が必要です。
Mac では、homebrewを使ってインストールできます。
brew install uv
パッケージをクローンします。
git clone [email protected]:avarant/typesense-mcp-server.git ~/typesense-mcp-server
サーバーを MCP クライアントの設定に追加します。ほとんどのクライアント(~/.cursor/mcp.json の Cursor、~/Library/Application Support/Claude/claude_desktop_config.json の Claude Desktop、Windsurf、Zed、VS Code など)は、同じ mcpServers 形式に対応しています。
{
"mcpServers": {
"typesense": {
"command": "uv",
"args": ["--directory", "~/typesense-mcp-server", "run", "mcp", "run", "main.py"],
"env": {
"TYPESENSE_HOST": "",
"TYPESENSE_PORT": "",
"TYPESENSE_PROTOCOL": "",
"TYPESENSE_API_KEY": ""
}
}
}
}
設定ファイルの正確な場所については、お使いのクライアントの MCP ドキュメントを参照してください。
トランスポート
このサーバーは 3 種類の MCP トランスポートに対応しています。STDIO がデフォルトで、ほとんどのデスクトップクライアント(Claude Desktop、Cursor など)で使用されています。リモートクライアントやウェブ UI では、従来の SSE トランスポートまたは新しい Streamable HTTP トランスポートを使って、HTTP サーバーとして実行できます。
STDIO(デフォルト)
TYPESENSE_API_KEY=xyz uv run python main.py
Streamable HTTP(ウェブクライアントに推奨)
/mcp の単一エンドポイントを使用します。llama.cpp のウェブチャットのようなブラウザベースのクライアントで動作します。MCP_TRANSPORT=streamable-http を設定するか、--http を渡します。
TYPESENSE_API_KEY=xyz \
MCP_TRANSPORT=streamable-http \
MCP_STATELESS_HTTP=true \
MCP_CORS_ORIGINS='*' \
uv run python main.py
- リクエストをまたいで MCP セッションを維持しないクライアントには、ステートレスモード(
MCP_STATELESS_HTTP=true)が必要です。 - ブラウザクライアントでは CORS を有効にする必要があります(
MCP_CORS_ORIGINS)。本番環境では*ではなく、http://localhost:8080のように特定のオリジンを指定してください。
SSE(従来方式)
イベントストリーム用の GET /sse と、JSON-RPC 用の POST /messages/ の 2 つのエンドポイントがあります。MCP_TRANSPORT=sse を設定するか、--sse を渡します。
TYPESENSE_API_KEY=xyz MCP_TRANSPORT=sse uv run python main.py
設定
| 環境変数 | デフォルト | 説明 |
|---|---|---|
MCP_TRANSPORT | stdio | stdio、sse、または streamable-http |
MCP_HOST | 0.0.0.0 | HTTP トランスポートのバインドアドレス |
MCP_PORT | 8000 | HTTP トランスポートのバインドポート |
MCP_STATELESS_HTTP | false | HTTP トランスポートのステートレスモード(一部のウェブクライアントで必要) |
MCP_CORS_ORIGINS | (empty) | 許可するオリジンをカンマ区切りで指定します。空の場合は CORS が無効になります。* = すべて。 |
利用可能なツール
Typesense MCP サーバーでは、次のツールを利用できます。
サーバー管理
check_typesense_health- 設定された Typesense サーバーのヘルスステータスを確認しますlist_collections- Typesense サーバー内のすべてのコレクションの一覧を取得します
コレクション管理
describe_collection- 特定のコレクションのスキーマとメタデータを取得しますexport_collection- 特定のコレクションからすべてのドキュメントをエクスポートしますcreate_collection- 指定されたスキーマで新しいコレクションを作成しますdelete_collection- 特定のコレクションを削除しますtruncate_collection- スキーマを保持したまま、すべてのドキュメントを削除してコレクションを空にします
ドキュメント操作
create_document- 特定のコレクションに新しいドキュメントを 1 つ作成しますupsert_document- 特定のコレクションにドキュメントを 1 つアップサート(作成または更新)しますindex_multiple_documents- 複数のドキュメントを一括でインデックス化(作成、アップサート、または更新)しますdelete_document- 特定のコレクションから ID を指定してドキュメントを 1 つ削除しますimport_documents_from_csv- CSV データからコレクションにドキュメントをインポートします
検索機能
search- 特定のコレクションでキーワード検索を実行しますvector_search- 特定のコレクションでベクトル類似度検索を実行します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。