contextual-mcp-server について
contextual-mcp-serverは、Contextual AIのRAGエージェントをMCPクライアントに接続し、専門文書を検索するチーム向けです。単一・複数エージェントに対応し、出典を示した回答と会話の文脈を提供します。
主な機能
- 01Contextual AIのRAGエージェントに接続
- 02ナレッジベースから回答を検索
- 03出典の引用を付与
- 04会話の文脈を保持
- 05単一・複数エージェントに対応
活用シーン
- 01専門文書について質問
- 02Cursorで技術資料を検索
- 03Claude Desktopで調査資料を検索
MCP 対応
MCP サーバーは、Contextual AIへのクエリツールを対応クライアントに提供します。質問をRAGエージェントに転送し、引用付きの回答を返します。READMEでは追加ツールへの拡張も説明されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx contextual-mcp-serverAPI_KEYシークレットYour Contextual AI API keyAGENT_IDYour Contextual AI agent ID (required only for single-agent mode; omit for multi-agent mode)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Contextual MCP Server
Contextual AI を使用して RAG(検索拡張生成)機能を提供する Model Context Protocol(MCP)サーバーです。このサーバーは、さまざまな MCP クライアントと連携します。サーバーで提供する機能は柔軟に選択できます。この README では、Cursor IDE と Claude Desktop の両方との連携方法を説明します。
Contextual AI は現在、プラットフォーム内でホスト型サーバーを提供しており、次の URL から利用できます:https://mcp.app.contextual.ai/mcp/
サーバーに接続すると、プラットフォームの MCP サーバーが提供する query などのツールを使用できます。
詳しい手順については、MCP のユーザーガイドをご覧ください。
概要
MCP サーバーは、AI インターフェース(Cursor IDE または Claude Desktop)と、特化した Contextual AI エージェントをつなぐブリッジとして機能します。次のことが可能になります:
- クエリ処理:ドメイン固有の質問を、専用の Contextual AI エージェントに直接送信します
- インテリジェントな検索:ナレッジベースに含まれる幅広い情報を検索します
- コンテキストを考慮した応答:次の特徴を備えた回答を生成します:
- ソースドキュメントに基づいている
- 引用と出典を含んでいる
- 会話のコンテキストを維持する
連携の流れ
Cursor/Claude Desktop → MCP Server → Contextual AI RAG Agent
↑ ↓ ↓
└──────────────────┴─────────────┴─────────────── Response with citations
前提条件
- Python 3.10 以降
- Cursor IDE および/または Claude Desktop
- Contextual AI API キー
- MCP 対応環境
インストール
- リポジトリをクローンします:
git clone https://github.com/ContextualAI/contextual-mcp-server.git
cd contextual-mcp-server
- 仮想環境を作成して有効化します:
python -m venv .venv
source .venv/bin/activate # On Windows, use `.venv\Scripts\activate`
- 依存関係をインストールします:
pip install -e .
設定
MCP サーバーの設定
このサーバーを使用するには、設定を変更する必要があります。 たとえば、single_agent サーバーでは、RAG エージェントに適した docstring にカスタマイズする必要があります。
クエリツールの docstring は、MCP クライアントがいつ質問を RAG エージェントに振り分けるべきかを理解するうえで重要です。ナレッジドメインに合わせて具体的に記述してください。例を示します:
A research tool focused on financial data on the largest US firms
または
A research tool focused on technical documents for Omaha semiconductors
また、サーバーには RAG エージェントから次の設定が必要です:
API_KEY:Contextual AI API キーAGENT_ID:Contextual AI エージェント ID
これらの値を .env ファイルに保存する場合は、次のように指定できます:
cat > .env << EOF
API_KEY=key...
AGENT_ID=...
EOF
このリポジトリには、マルチエージェントシステム向けのより高度な MCP サーバーや、ドキュメントエージェントも含まれています。
AI インターフェースとの連携
この MCP サーバーは、さまざまなクライアントと連携できます。Cursor IDE または Claude Desktop で使用するには、適切な場所にある MCP 設定ファイルを作成または変更します:
- まず、
uvのインストール先を確認します:
UV_PATH=$(which uv)
echo $UV_PATH
# Example output: /Users/username/miniconda3/bin/uv
- 手順 1 で確認したフルパスを使用して、設定ファイルを作成します:
cat > mcp.json << EOF
{
"mcpServers": {
"ContextualAI-TechDocs": {
"command": "$UV_PATH", # make sure this is set properly
"args": [
"--directory",
"\${workspaceFolder}", # Will be replaced with your project path
"run",
"multi-agent/server.py"
]
}
}
}
EOF
- 下記のオプションを参照し、正しいフォルダーに移動します:
mkdir -p .cursor/
mv mcp.json .cursor/
設定ファイルの場所:
- Cursor の場合:
- プロジェクト固有:プロジェクトディレクトリ内の
.cursor/mcp.json - グローバル:システム全体でアクセスするための
~/.cursor/mcp.json - Claude Desktop の場合:
- 適切な Claude Desktop 設定ディレクトリに、同じ形式の設定ファイルを使用します
環境のセットアップ
このプロジェクトでは依存関係の管理に uv を使用します。これにより、Python パッケージをより高速かつ確実にインストールできます。
使用方法
このサーバーは Python SDK を使用して Contextual AI の RAG 機能を提供し、Cursor IDE や Claude Desktop などの MCP クライアントからさまざまなコマンドを利用できます。 現在のサーバーでは、Contextual AI Python SDK の query コマンドを使用していますが、エージェントの一覧表示、検索設定の更新、プロンプトの更新、検索結果の抽出、メトリクスのダウンロードなど、ほかの機能にも拡張できます。
使用例
# In Cursor, you might ask:
"Show me the code for initiating the RF345 microchip?"
# The MCP client will:
1. Determine if this should be routed to the MCP Server
# Then the MCP server will:
1. Route the query to the Contextual AI agent
2. Retrieve relevant documentation
3. Generate a response with specific citations
4. Return the formatted answer to Cursor
主なメリット
- 正確な回答:すべての回答はドキュメントに基づいています
- 情報源の明示:すべての回答に、参照したドキュメントが記載されています
- コンテキストの認識:システムは会話のコンテキストを維持するため、追加の質問にも対応できます
- リアルタイム更新:回答には、データストア内の最新のドキュメントが反映されます
開発
サーバーの変更
新しい機能を追加するには、次の手順に従います。
@mcp.tool()でデコレートした関数を追加して、新しいツールを作成します- Python の型ヒントを使用して、ツールのパラメーターを定義します
- ツールの機能を説明する、わかりやすい docstring を記述します
例:
@mcp.tool()
def new_tool(param: str) -> str:
"""Description of what the tool does"""
# Implementation
return result
制限事項
- サーバーはローカルで実行されるため、リモート開発環境では動作しない場合があります
- ツールの応答には、Contextual AI API の制限とクォータが適用されます
- 現在は stdio トランスポートモードのみをサポートしています
Contextual AI のすべての機能については、公式ドキュメントをご確認ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。