Skip to main content
Glama

Onyx MCP サーバー

ライセンス: MIT npmバージョン npmダウンロード 鍛冶屋のバッジ PR歓迎

Onyx AI ナレッジ ベースとシームレスに統合するモデル コンテキスト プロトコル (MCP) サーバー。

このMCPサーバーは、MCP対応クライアントをOnyxナレッジベースに接続し、ドキュメントから関連するコンテキストを検索・取得できるようにします。MCPクライアントとOnyx API間の橋渡しとなり、強力なセマンティック検索とチャット機能を実現します。

特徴

  • 強化された検索: LLM 関連性フィルタリングを使用した Onyx ドキュメント セット全体のセマンティック検索

  • コンテキストウィンドウの取得: 一致するチャンクの上下のチャンクを取得して、コンテキストをより良く把握します。

  • 完全な文書の取得: チャンクではなく文書全体を取得するオプション

  • チャット統合: LLM + RAGとOnyxの強力なチャットAPIを使用して包括的な回答を得る

  • 設定可能なドキュメント セット フィルタリング: 特定のドキュメント セットをターゲットにして、より関連性の高い結果を得ることができます。

Related MCP server: Perplexity AI MCP Server

インストール

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Onyx MCP Server を自動的にインストールするには:

npx -y @smithery/cli install @lupuletic/onyx-mcp-server --client claude

前提条件

  • Node.js (v16 以上)

  • APIアクセスを備えたOnyxインスタンス

  • Onyx APIトークン

設定

  1. リポジトリをクローンします。

    git clone https://github.com/lupuletic/onyx-mcp-server.git cd onyx-mcp-server
  2. 依存関係をインストールします:

    npm install
  3. サーバーを構築します。

    npm run build
  4. Onyx API トークンを設定します。

    export ONYX_API_TOKEN="your-api-token-here" export ONYX_API_URL="http://localhost:8080/api" # Adjust as needed
  5. サーバーを起動します。

    npm start

MCP クライアントの構成

Claudeデスクトップアプリ用

~/Library/Application Support/Claude/claude_desktop_config.jsonに追加します:

{ "mcpServers": { "onyx-search": { "command": "node", "args": ["/path/to/onyx-mcp-server/build/index.js"], "env": { "ONYX_API_TOKEN": "your-api-token-here", "ONYX_API_URL": "http://localhost:8080/api" }, "disabled": false, "alwaysAllow": [] } } }

VSCode の Claude 向け (Cline)

Cline MCP 設定ファイルに以下を追加します:

{ "mcpServers": { "onyx-search": { "command": "node", "args": ["/path/to/onyx-mcp-server/build/index.js"], "env": { "ONYX_API_TOKEN": "your-api-token-here", "ONYX_API_URL": "http://localhost:8080/api" }, "disabled": false, "alwaysAllow": [] } } }

その他のMCPクライアント向け

カスタムMCPサーバーを追加する方法については、MCPクライアントのドキュメントを参照してください。以下の情報をご提供いただく必要があります。

  • サーバーを実行するコマンド( node

  • ビルドされたサーバーファイルへのパス ( /path/to/onyx-mcp-server/build/index.js )

  • ONYX_API_TOKENおよびONYX_API_URLの環境変数

利用可能なツール

設定が完了すると、MCP クライアントは次の 2 つの強力なツールにアクセスできるようになります。

1. 検索ツール

search_onyxツールは、強化されたコンテキスト取得により Onyx の検索機能に直接アクセスできるようにします。

<use_mcp_tool> <server_name>onyx-search</server_name> <tool_name>search_onyx</tool_name> <arguments> { "query": "customer onboarding process", "documentSets": ["Company Policies", "Training Materials"], "maxResults": 3, "chunksAbove": 1, "chunksBelow": 1, "retrieveFullDocuments": true } </arguments> </use_mcp_tool>

パラメータ:

  • query (必須): 検索するトピック

  • documentSets (オプション): 検索対象となるドキュメント セット名のリスト (すべて空の場合)

  • maxResults (オプション): 返される結果の最大数 (デフォルト: 5、最大: 10)

  • chunksAbove (オプション): 一致するチャンクの上に含めるチャンクの数 (デフォルト: 1)

  • chunksBelow (オプション): 一致するチャンクの下に含めるチャンクの数 (デフォルト: 1)

  • retrieveFullDocuments (オプション): チャンクではなく完全なドキュメントを取得するかどうか (デフォルト: false)

2. チャットツール

chat_with_onyxツールは、LLM + RAG を備えた Onyx の強力なチャット API を活用して包括的な回答を提供します。

<use_mcp_tool> <server_name>onyx-search</server_name> <tool_name>chat_with_onyx</tool_name> <arguments> { "query": "What is our company's policy on remote work?", "personaId": 15, "documentSets": ["Company Policies", "HR Documents"], "chatSessionId": "optional-existing-session-id" } </arguments> </use_mcp_tool>

パラメータ:

  • query (必須): Onyxに尋ねる質問

  • personaId (オプション): 使用するペルソナのID (デフォルト: 15)

  • documentSets (オプション): 検索対象となるドキュメント セット名のリスト (すべて空の場合)

  • chatSessionId (オプション): 会話を続けるための既存のチャットセッションID

チャットセッション

チャットツールは、複数のインタラクションに渡る会話のコンテキスト維持をサポートしています。最初の呼び出し後、レスポンスのメタデータにchat_session_idが含まれます。このIDを後続の呼び出しに渡すことで、コンテキストを維持できます。

検索とチャットの選択

  • 検索を使用するのは次のような場合です: ドキュメントから特定の対象を絞った情報が必要で、取得するコンテキストの量を正確に制御したい場合。

  • チャットを使用するのは次のような場合です: 複数のソースからの情報を組み合わせた包括的な回答が必要な場合、または LLM に情報を統合してもらいたい場合。

最良の結果を得るには、両方のツールを組み合わせて使用し、特定の詳細を検索し、包括的な理解のためにチャットします。

ユースケース

  • ナレッジマネジメント:MCP互換インターフェースを通じて組織のナレッジベースにアクセスします

  • カスタマーサポート: サポートエージェントが関連情報を素早く見つけられるように支援します

  • 調査: 組織の文書を徹底的に調査します

  • トレーニング: トレーニング資料とドキュメントへのアクセスを提供する

  • ポリシーコンプライアンス: チームが最新のポリシーと手順にアクセスできるようにします

発達

開発モードで実行

npm run dev

変更のコミット

このプロジェクトでは、すべてのコミットメッセージにConventional Commits仕様を適用します。これを容易にするために、対話型のコミットツールを提供しています。

npm run commit

このガイドに従って、適切な形式のコミットメッセージを作成してください。また、以下の標準的な形式に従って独自のコミットメッセージを記述することもできます。

<type>[optional scope]: <description> [optional body] [optional footer(s)]

type 、feat、fix、docs、style、refactor、perf、test、build、ci、chore、revert のいずれかです。

生産のための構築

npm run build

テスト

テスト スイートを実行します。

npm test

カバレッジ付きのテストを実行します。

npm run test:coverage

リンティング

npm run lint

リンティングの問題を修正:

npm run lint:fix

継続的インテグレーション

このプロジェクトでは、継続的インテグレーションとデプロイメントにGitHub Actionsを使用しています。CIパイプラインは、メインブランチへのプッシュとプルリクエストごとに実行され、以下のチェックを実行します。

  • リンティング

  • 建物

  • テスト

  • コードカバレッジレポート

自動バージョンアップと公開

PRがメインブランチにマージされると、プロジェクトは適切なバージョンアップの種類を自動的に決定し、npmに公開します。システムはPRのタイトルとコミットメッセージの両方を分析して、バージョンアップの種類を決定します。

  1. PR タイトルの検証: すべての PR タイトルはConventional Commits仕様に基づいて検証されます。

    • PR のタイトルはタイプで始まる必要があります (例: feat:fix:docs: )

    • この検証はPRが作成または更新されたときに自動的に行われます

    • 無効なタイトルのPRは検証チェックに失敗します

  2. コミット メッセージの検証: すべてのコミット メッセージは、従来のコミット形式に対しても検証されます。

    • コミットメッセージはタイプで始まる必要があります(例: feat:fix:docs:

    • これはコミット時に実行されるgitフックによって強制されます

    • 無効なメッセージを含むコミットは拒否されます

    • 対話型のコミットメッセージ作成ツールとしてnpm run commit使用する

  3. バージョン バンプの決定: システムは PR タイトルとコミット メッセージの両方を分析して、適切なバージョン バンプを決定します。

    • PRタイトルがfeatで始まるか、新機能を含む場合 → マイナーバージョンアップ

    • fixで始まるかバグ修正を含むPRタイトル → パッチバージョンのアップ

    • PRタイトルにBREAKING CHANGEまたは感嘆符が含まれる → メジャーバージョンアップ

    • PRタイトルが特定のバンプタイプを示していない場合、システムはコミットメッセージを分析します。

    • コミットメッセージで見つかった最も優先度の高いバンプタイプが使用されます(メジャー > マイナー > パッチ)

    • 従来のコミットプレフィックスが見つからない場合、システムは自動的にパッチバージョンのバンプをデフォルトに設定し、失敗することはありません。

  4. バージョンの更新と公開:

    • セマンティックバージョニングに従って、package.json のバージョンをアップグレードします。

    • バージョンの変更をコミットしてプッシュする

    • 新しいバージョンをnpmに公開する

この自動化されたプロセスにより、セマンティック バージョン管理の原則に従って、変更の性質に基づいた一貫したバージョン管理が保証され、手動によるバージョン管理が不要になります。

貢献

貢献を歓迎します!詳細については、貢献ガイドをご覧ください。

安全

セキュリティ上の脆弱性を発見した場合は、弊社のセキュリティ ポリシーに従ってください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lupuletic/onyx-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server