Onyx MCP サーバー
Onyx AI ナレッジ ベースとシームレスに統合するモデル コンテキスト プロトコル (MCP) サーバー。
このMCPサーバーは、MCP対応クライアントをOnyxナレッジベースに接続し、ドキュメントから関連するコンテキストを検索・取得できるようにします。MCPクライアントとOnyx API間の橋渡しとなり、強力なセマンティック検索とチャット機能を実現します。
特徴
- 強化された検索: LLM 関連性フィルタリングを使用した Onyx ドキュメント セット全体のセマンティック検索
- コンテキストウィンドウの取得: 一致するチャンクの上下のチャンクを取得して、コンテキストをより良く把握します。
- 完全な文書の取得: チャンクではなく文書全体を取得するオプション
- チャット統合: LLM + RAGとOnyxの強力なチャットAPIを使用して包括的な回答を得る
- 設定可能なドキュメント セット フィルタリング: 特定のドキュメント セットをターゲットにして、より関連性の高い結果を得ることができます。
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Onyx MCP Server を自動的にインストールするには:
前提条件
- Node.js (v16 以上)
- APIアクセスを備えたOnyxインスタンス
- Onyx APIトークン
設定
- リポジトリをクローンします。
- 依存関係をインストールします:
- サーバーを構築します。
- Onyx API トークンを設定します。
- サーバーを起動します。
MCP クライアントの構成
Claudeデスクトップアプリ用
~/Library/Application Support/Claude/claude_desktop_config.json
に追加します:
VSCode の Claude 向け (Cline)
Cline MCP 設定ファイルに以下を追加します:
その他のMCPクライアント向け
カスタムMCPサーバーを追加する方法については、MCPクライアントのドキュメントを参照してください。以下の情報をご提供いただく必要があります。
- サーバーを実行するコマンド(
node
) - ビルドされたサーバーファイルへのパス (
/path/to/onyx-mcp-server/build/index.js
) ONYX_API_TOKEN
およびONYX_API_URL
の環境変数
利用可能なツール
設定が完了すると、MCP クライアントは次の 2 つの強力なツールにアクセスできるようになります。
1. 検索ツール
search_onyx
ツールは、強化されたコンテキスト取得により Onyx の検索機能に直接アクセスできるようにします。
パラメータ:
query
(必須): 検索するトピックdocumentSets
(オプション): 検索対象となるドキュメント セット名のリスト (すべて空の場合)maxResults
(オプション): 返される結果の最大数 (デフォルト: 5、最大: 10)chunksAbove
(オプション): 一致するチャンクの上に含めるチャンクの数 (デフォルト: 1)chunksBelow
(オプション): 一致するチャンクの下に含めるチャンクの数 (デフォルト: 1)retrieveFullDocuments
(オプション): チャンクではなく完全なドキュメントを取得するかどうか (デフォルト: false)
2. チャットツール
chat_with_onyx
ツールは、LLM + RAG を備えた Onyx の強力なチャット API を活用して包括的な回答を提供します。
パラメータ:
query
(必須): Onyxに尋ねる質問personaId
(オプション): 使用するペルソナのID (デフォルト: 15)documentSets
(オプション): 検索対象となるドキュメント セット名のリスト (すべて空の場合)chatSessionId
(オプション): 会話を続けるための既存のチャットセッションID
チャットセッション
チャットツールは、複数のインタラクションに渡る会話のコンテキスト維持をサポートしています。最初の呼び出し後、レスポンスのメタデータにchat_session_id
が含まれます。このIDを後続の呼び出しに渡すことで、コンテキストを維持できます。
検索とチャットの選択
- 検索を使用するのは次のような場合です: ドキュメントから特定の対象を絞った情報が必要で、取得するコンテキストの量を正確に制御したい場合。
- チャットを使用するのは次のような場合です: 複数のソースからの情報を組み合わせた包括的な回答が必要な場合、または LLM に情報を統合してもらいたい場合。
最良の結果を得るには、両方のツールを組み合わせて使用し、特定の詳細を検索し、包括的な理解のためにチャットします。
ユースケース
- ナレッジマネジメント互換インターフェースを通じて組織のナレッジベースにアクセスします
- カスタマーサポート: サポートエージェントが関連情報を素早く見つけられるように支援します
- 調査: 組織の文書を徹底的に調査します
- トレーニング: トレーニング資料とドキュメントへのアクセスを提供する
- ポリシーコンプライアンス: チームが最新のポリシーと手順にアクセスできるようにします
発達
開発モードで実行
変更のコミット
このプロジェクトでは、すべてのコミットメッセージにConventional Commits仕様を適用します。これを容易にするために、対話型のコミットツールを提供しています。
このガイドに従って、適切な形式のコミットメッセージを作成してください。また、以下の標準的な形式に従って独自のコミットメッセージを記述することもできます。
type
、feat、fix、docs、style、refactor、perf、test、build、ci、chore、revert のいずれかです。
生産のための構築
テスト
テスト スイートを実行します。
カバレッジ付きのテストを実行します。
リンティング
リンティングの問題を修正:
継続的インテグレーション
このプロジェクトでは、継続的インテグレーションとデプロイメントにGitHub Actionsを使用しています。CIパイプラインは、メインブランチへのプッシュとプルリクエストごとに実行され、以下のチェックを実行します。
- リンティング
- 建物
- テスト
- コードカバレッジレポート
自動バージョンアップと公開
PRがメインブランチにマージされると、プロジェクトは適切なバージョンアップの種類を自動的に決定し、npmに公開します。システムはPRのタイトルとコミットメッセージの両方を分析して、バージョンアップの種類を決定します。
- PR タイトルの検証: すべての PR タイトルはConventional Commits仕様に基づいて検証されます。
- PR のタイトルはタイプで始まる必要があります (例:
feat:
、fix:
、docs:
) - この検証はPRが作成または更新されたときに自動的に行われます
- 無効なタイトルのPRは検証チェックに失敗します
- PR のタイトルはタイプで始まる必要があります (例:
- コミット メッセージの検証: すべてのコミット メッセージは、従来のコミット形式に対しても検証されます。
- コミットメッセージはタイプで始まる必要があります(例:
feat:
、fix:
、docs:
) - これはコミット時に実行されるgitフックによって強制されます
- 無効なメッセージを含むコミットは拒否されます
- 対話型のコミットメッセージ作成ツールとして
npm run commit
使用する
- コミットメッセージはタイプで始まる必要があります(例:
- バージョン バンプの決定: システムは PR タイトルとコミット メッセージの両方を分析して、適切なバージョン バンプを決定します。
- PRタイトルが
feat
で始まるか、新機能を含む場合 → マイナーバージョンアップ fix
で始まるかバグ修正を含むPRタイトル → パッチバージョンのアップ- PRタイトルに
BREAKING CHANGE
または感嘆符が含まれる → メジャーバージョンアップ - PRタイトルが特定のバンプタイプを示していない場合、システムはコミットメッセージを分析します。
- コミットメッセージで見つかった最も優先度の高いバンプタイプが使用されます(メジャー > マイナー > パッチ)
- 従来のコミットプレフィックスが見つからない場合、システムは自動的にパッチバージョンのバンプをデフォルトに設定し、失敗することはありません。
- PRタイトルが
- バージョンの更新と公開:
- セマンティックバージョニングに従って、package.json のバージョンをアップグレードします。
- バージョンの変更をコミットしてプッシュする
- 新しいバージョンをnpmに公開する
この自動化されたプロセスにより、セマンティック バージョン管理の原則に従って、変更の性質に基づいた一貫したバージョン管理が保証され、手動によるバージョン管理が不要になります。
貢献
貢献を歓迎します!詳細については、貢献ガイドをご覧ください。
安全
セキュリティ上の脆弱性を発見した場合は、弊社のセキュリティ ポリシーに従ってください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
MCP対応クライアントをOnyx AIナレッジベースに接続することで、セマンティック検索とチャット機能が強化されます。ドキュメントから関連するコンテキストをシームレスに取得することで、強力なインタラクションと包括的な回答が可能になります。ナレッジマネジメントを効率化し、情報へのアクセスを向上させます。
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server implementation that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation contextLast updated -76281TypeScriptMIT License
- AsecurityFlicenseAqualityThis server provides access to the Perplexity AI API, enabling interaction through chatting, searching, and documentation retrieval within MCP-based systems.Last updated -52JavaScript
- AsecurityFlicenseAqualityProvides a standardized way to integrate Perplexity AI's features like chat, search, and documentation access into MCP-based systems.Last updated -5JavaScript
- -securityFlicense-qualityAn MCP server that integrates with Claude to provide smart documentation search capabilities across multiple AI/ML libraries, allowing users to retrieve and process technical information through natural language queries.Last updated -Python