Vectara MCP Server について
Vectara MCP サーバーは、Vectara の Trusted RAG プラットフォームによる RAG 機能をエージェントアプリケーションに提供するオープンソースの MCP サーバーです。Claude Desktop など任意の MCP クライアントで利用できます。
主な機能
- 01ask_vectara による生成型 RAG 回答
- 02生成を行わない search_vectara によるセマンティック検索
- 03生成テキストの幻覚修正ツール
- 04事実一致性評価ツール
- 05デフォルトで Bearer トークン認証を備えた HTTP トランスポート
- 06STDIO および SSE トランスポートモード
活用シーン
- 01エージェントアプリケーションへのコーパスに基づく RAG 質問応答の追加
- 02生成テキストの幻覚の検出と修正
- 03出力内容と参照文書の事実一致性の確認
MCP 対応
MCP サーバーとして、Vectara の照会・検索・分析ツールを STDIO、HTTP、SSE のトランスポート経由で MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Vectara MCP Server
🔌 Claude Desktopや、その他すべてのMCPクライアントと互換性があります!
Vectara MCPは、あらゆるMCPクライアントと互換性があります。
Model Context Protocol(MCP)は、AIシステムがさまざまなデータソースやツールとシームレスに連携できるようにするオープン標準であり、安全な双方向接続を実現します。
Vectara-MCPは、VectaraのTrusted RAGプラットフォームを活用し、MCPプロトコルを通じて、あらゆるエージェント型アプリケーションに、ハルシネーションを抑えた高速で信頼性の高いRAGへのアクセスを提供します。
インストール
PyPIからパッケージを直接インストールできます。
pip install vectara-mcp
クイックスタート
デフォルトで安全(認証付きHTTP/SSE)
# Start server with secure HTTP transport (DEFAULT)
python -m vectara_mcp
# Server running at http://127.0.0.1:8000 with authentication enabled
ローカル開発モード(STDIO)
# For Claude Desktop or local development (less secure)
python -m vectara_mcp --stdio
# ⚠️ Warning: STDIO transport is less secure. Use only for local development.
設定オプション
# Custom host and port
python -m vectara_mcp --host 0.0.0.0 --port 8080
# SSE transport mode
python -m vectara_mcp --transport sse --path /sse
# Disable authentication (DANGEROUS - dev only)
python -m vectara_mcp --no-auth
トランスポートモード
HTTPトランスポート(デフォルト — 推奨)
- セキュリティ: ベアラートークンによる認証を標準搭載
- 暗号化: HTTPSに対応
- レート制限: デフォルトで毎分100リクエスト
- CORS保護: オリジン検証を設定可能
- 用途: 本番環境へのデプロイ、クラウド環境
SSEトランスポート
- ストリーミング: リアルタイム更新にServer-Sent Eventsを使用
- 認証: ベアラートークンに対応
- 互換性: レガシーなMCPクライアントでも動作
- 用途: リアルタイムストリーミングアプリケーション
STDIOトランスポート
- ⚠️ セキュリティ警告: トランスポート層のセキュリティはありません
- パフォーマンス: ローカル通信のレイテンシーが低い
- 用途: ローカル開発、Claude Desktop
- 要件:
--stdioフラグを明示的に指定して有効にする必要があります
環境変数
# Required
export VECTARA_API_KEY="your-api-key"
# Optional
export VECTARA_AUTHORIZED_TOKENS="token1,token2" # Additional auth tokens
export VECTARA_ALLOWED_ORIGINS="http://localhost:*,https://app.example.com"
export VECTARA_TRANSPORT="http" # Default transport mode
export VECTARA_AUTH_REQUIRED="true" # Enforce authentication
認証
HTTP/SSEトランスポート
HTTPまたはSSEトランスポートを使用する場合、デフォルトで認証が必要です。
# Using curl with bearer token
curl -H "Authorization: Bearer $VECTARA_API_KEY" \
-H "Content-Type: application/json" \
-X POST http://localhost:8000/call/ask_vectara \
-d '{"query": "What is Vectara?", "corpus_keys": ["my-corpus"]}'
# Using X-API-Key header (alternative)
curl -H "X-API-Key: $VECTARA_API_KEY" \
http://localhost:8000/sse
認証の無効化(開発専用)
# ⚠️ NEVER use in production
python -m vectara_mcp --no-auth
利用可能なツール
APIキー管理
-
setup_vectara_api_key: セッション用のVectara APIキーを設定し、検証します(一度だけ設定)。
引数:
- api_key:str、Vectara APIキー(必須)。
戻り値:
- マスクされたAPIキーを含む成功確認、または検証エラー。
-
clear_vectara_api_key: サーバーのメモリから保存済みのAPIキーを消去します。
戻り値:
- 確認メッセージ。
クエリツール
-
ask_vectara: Vectara を使用して RAG クエリを実行し、生成された回答とともに検索結果を返します。
引数:
- query: str、実行するユーザークエリ - 必須。
- corpus_keys: list[str]、検索に使用する Vectara コーパスキーのリスト - 必須。
- n_sentences_before: int、コンテキストに含める回答前の文の数 - 任意、デフォルトは 2。
- n_sentences_after: int、コンテキストに含める回答後の文の数 - 任意、デフォルトは 2。
- lexical_interpolation: float、使用する字句補間の量 - 任意、デフォルトは 0.005。
- max_used_search_results: int、使用する検索結果の最大数 - 任意、デフォルトは 10。
- generation_preset_name: str、使用する生成プリセットの名前 - 任意、デフォルトは "vectara-summary-table-md-query-ext-jan-2025-gpt-4o"。
- response_language: str、レスポンスの言語 - 任意、デフォルトは "eng"。
戻り値:
- Vectara からのレスポンス。生成された回答と検索結果が含まれます。
-
search_vectara: Vectara を使用して、生成を行わずにセマンティック検索クエリを実行します。
引数:
- query: str、実行するユーザークエリ - 必須。
- corpus_keys: list[str]、検索に使用する Vectara コーパスキーのリスト - 必須。
- n_sentences_before: int、コンテキストに含める回答前の文の数 - 任意、デフォルトは 2。
- n_sentences_after: int、コンテキストに含める回答後の文の数 - 任意、デフォルトは 2。
- lexical_interpolation: float、使用する字句補間の量 - 任意、デフォルトは 0.005。
戻り値:
- Vectara からのレスポンス。一致する検索結果が含まれます。
分析ツール
-
correct_hallucinations: Vectara の VHC (Vectara Hallucination Correction) API を使用して、生成されたテキスト内のハルシネーションを特定して修正します。
引数:
- generated_text: str、ハルシネーションを分析する生成テキスト - 必須。
- documents: list[str]、比較対象となるソースドキュメントのリスト - 必須。
- query: str、生成テキストにつながった元のユーザークエリ - 任意。
戻り値:
- 修正されたテキストと詳細な修正情報を含む JSON 形式の文字列。
-
eval_factual_consistency: Vectara の専用の事実整合性評価 API を使用して、ソースドキュメントに対する生成テキストの事実整合性を評価します。
引数:
- generated_text: str、事実整合性を評価する生成テキスト - 必須。
- documents: list[str]、比較対象となるソースドキュメントのリスト - 必須。
- query: str、生成テキストにつながった元のユーザークエリ - 任意。
戻り値:
- 事実整合性評価の結果とスコアを含む JSON 形式の文字列。
注意: API キーは、事前に setup_vectara_api_key ツールまたは VECTARA_API_KEY 環境変数を使用して設定する必要があります。
Claude Desktop での設定
Claude Desktop で使用するには、STDIO トランスポートを使用するように設定を更新します:
{
"mcpServers": {
"Vectara": {
"command": "python",
"args": ["-m", "vectara_mcp", "--stdio"],
"env": {
"VECTARA_API_KEY": "your-api-key"
}
}
}
}
または uv を使用する場合:
{
"mcpServers": {
"Vectara": {
"command": "uv",
"args": ["tool", "run", "vectara-mcp", "--stdio"]
}
}
}
注意: Claude Desktop には STDIO トランスポートが必要です。HTTP よりも安全性は低くなりますが、ローカルのデスクトップでの使用には問題ありません。
Claude Desktop アプリでの使用
インストールが完了し、Claude デスクトップアプリが設定されたら、Vectara-mcp サーバーを表示するために Claude デスクトップアプリを完全に終了して再度開く必要があります。アプリの左下にハンマーアイコンが表示され、利用可能な MCP ツールを示します。ハンマーアイコンをクリックすると、Vectara-search ツールと Vectara-extract ツールの詳細を確認できます。
これで Claude は、6 つの Vectara ツールすべてを含む Vectara-mcp サーバーに完全にアクセスできるようになります。
セキュアなセットアップワークフロー
初回セットアップ (セッションごとに 1 回):
- API キーを安全に設定します:
setup-vectara-api-key
API key: [your-vectara-api-key]
セットアップ後は、API キーを公開せずに任意のツールを使用できます:
Vectara ツールの例
- 生成を伴う RAG クエリ:
ask-vectara
Query: Who is Amr Awadallah?
Corpus keys: ["your-corpus-key"]
- セマンティック検索のみ:
search-vectara
Query: events in NYC?
Corpus keys: ["your-corpus-key"]
- ハルシネーションの検出と修正:
correct-hallucinations
Generated text: [text to check]
Documents: ["source1", "source2"]
- 事実整合性の評価:
eval-factual-consistency
Generated text: [text to evaluate]
Documents: ["reference1", "reference2"]
セキュリティのベストプラクティス
- 本番環境では常に HTTP トランスポートを使用する - STDIO トランスポートをネットワークに公開しないでください
- 認証を有効にしておく - ローカルテストの場合にのみ
--no-authで無効化してください - 本番環境では HTTPS を使用する - TLS 終端を備えたリバースプロキシの背後にデプロイしてください
- CORS を適切に設定する -
VECTARA_ALLOWED_ORIGINSを設定してアクセスを制限してください - API キーを定期的にローテーションする -
VECTARA_API_KEYとVECTARA_AUTHORIZED_TOKENSを更新してください - レート制限を監視する - デフォルトは 100 リクエスト/分です。必要に応じて調整してください
詳細なセキュリティガイドラインについては、SECURITY.md を参照してください。
サポート
問題、質問、コントリビューションについては、以下をご覧ください: https://github.com/vectara/vectara-mcp
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。