local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Hosted on GitHub with contribution guidelines and continuous integration through GitHub Actions
Runs as a Node.js-based MCP server to connect Onyx knowledge bases to MCP clients, enabling document search and retrieval functionality
Available as an npm package for easy installation and integration with Onyx knowledge bases
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トークン
設定
- リポジトリをクローンします。Copy
- 依存関係をインストールします:Copy
- サーバーを構築します。Copy
- Onyx API トークンを設定します。Copy
- サーバーを起動します。Copy
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 に情報を統合してもらいたい場合。
最良の結果を得るには、両方のツールを組み合わせて使用し、特定の詳細を検索し、包括的な理解のためにチャットします。
ユースケース
- ナレッジマネジメント:MCP互換インターフェースを通じて組織のナレッジベースにアクセスします
- カスタマーサポート: サポートエージェントが関連情報を素早く見つけられるように支援します
- 調査: 組織の文書を徹底的に調査します
- トレーニング: トレーニング資料とドキュメントへのアクセスを提供する
- ポリシーコンプライアンス: チームが最新のポリシーと手順にアクセスできるようにします
発達
開発モードで実行
変更のコミット
このプロジェクトでは、すべてのコミットメッセージに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
MCP対応クライアントをOnyx AIナレッジベースに接続することで、セマンティック検索とチャット機能が強化されます。ドキュメントから関連するコンテキストをシームレスに取得することで、強力なインタラクションと包括的な回答が可能になります。ナレッジマネジメントを効率化し、情報へのアクセスを向上させます。