mcpField
V
Vectara MCP Server

Vectara MCP Server

ローカル
github.com/vectaraメモリ・ナレッジ3014 週間前に更新

Vectara MCP Server について

Vectara MCP サーバーは、Vectara の Trusted RAG プラットフォームによる RAG 機能をエージェントアプリケーションに提供するオープンソースの MCP サーバーです。Claude Desktop など任意の MCP クライアントで利用できます。

主な機能

  1. 01ask_vectara による生成型 RAG 回答
  2. 02生成を行わない search_vectara によるセマンティック検索
  3. 03生成テキストの幻覚修正ツール
  4. 04事実一致性評価ツール
  5. 05デフォルトで Bearer トークン認証を備えた HTTP トランスポート
  6. 06STDIO および SSE トランスポートモード

活用シーン

  1. 01エージェントアプリケーションへのコーパスに基づく RAG 質問応答の追加
  2. 02生成テキストの幻覚の検出と修正
  3. 03出力内容と参照文書の事実一致性の確認

MCP 対応

MCP サーバーとして、Vectara の照会・検索・分析ツールを STDIO、HTTP、SSE のトランスポート経由で MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Vectara MCP Server

GitHub Repo stars PyPI version License Security

🔌 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 回):

  1. API キーを安全に設定します:
setup-vectara-api-key
API key: [your-vectara-api-key]

セットアップ後は、API キーを公開せずに任意のツールを使用できます:

Vectara ツールの例
  1. 生成を伴う RAG クエリ:
ask-vectara
Query: Who is Amr Awadallah?
Corpus keys: ["your-corpus-key"]
  1. セマンティック検索のみ:
search-vectara
Query: events in NYC?
Corpus keys: ["your-corpus-key"]
  1. ハルシネーションの検出と修正:
correct-hallucinations
Generated text: [text to check]
Documents: ["source1", "source2"]
  1. 事実整合性の評価:
eval-factual-consistency
Generated text: [text to evaluate]
Documents: ["reference1", "reference2"]

セキュリティのベストプラクティス

  1. 本番環境では常に HTTP トランスポートを使用する - STDIO トランスポートをネットワークに公開しないでください
  2. 認証を有効にしておく - ローカルテストの場合にのみ --no-auth で無効化してください
  3. 本番環境では HTTPS を使用する - TLS 終端を備えたリバースプロキシの背後にデプロイしてください
  4. CORS を適切に設定する - VECTARA_ALLOWED_ORIGINS を設定してアクセスを制限してください
  5. API キーを定期的にローテーションする - VECTARA_API_KEY と VECTARA_AUTHORIZED_TOKENS を更新してください
  6. レート制限を監視する - デフォルトは 100 リクエスト/分です。必要に応じて調整してください

詳細なセキュリティガイドラインについては、SECURITY.md を参照してください。

サポート

問題、質問、コントリビューションについては、以下をご覧ください: https://github.com/vectara/vectara-mcp

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。