一个用于与 Onyx AI 知识库无缝集成的模型上下文协议(MCP)服务器。
此 MCP 服务器连接任何兼容 MCP 的客户端到您的 Onyx 知识库,允许您搜索并检索相关上下文。它提供了 MCP 客户端与 Onyx API 之间的桥梁,支持强大的语义搜索和聊天功能。
<img width="1166" alt="image" src="https://gips1.baidu.com/it/u=2088179847,452897073&fm=3081&app=3081&f=PNG?w=2332&h=1362" />要通过 Smithery 自动安装 Onyx MCP 服务器:
npx -y @smithery/cli install @lupuletic/onyx-mcp-server --client claude
克隆仓库:
git clone https://github.com/lupuletic/onyx-mcp-server.git
cd onyx-mcp-server
安装依赖项:
npm install
构建服务器:
npm run build
配置您的 Onyx API 令牌:
export ONYX_API_TOKEN="your-api-token-here"
export ONYX_API_URL="http://localhost:8080/api" # 根据需要调整
启动服务器:
npm start
添加到 ~/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": []
}
}
}
添加到您的 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 服务器。您需要提供:
node)/path/to/onyx-mcp-server/build/index.js)ONYX_API_TOKEN 和 ONYX_API_URL一旦配置完成,您的 MCP 客户端将能够访问两个强大的工具:
search_onyx 工具提供了直接访问 Onyx 搜索能力的功能,并增强了上下文检索:
<use_mcp_tool>
<server_name>onyx-search</server_name>
<tool_name>search_onyx</tool_name>
<arguments>
{
"query": "客户入门流程",
"documentSets": ["公司政策", "培训材料"],
"maxResults": 3,
"chunksAbove": 1,
"chunksBelow": 1,
"retrieveFullDocuments": true
}
</arguments>
</use_mcp_tool>
参数:
query (必需):要搜索的主题documentSets (可选):要在其中搜索的文档集名称列表(空表示所有)maxResults (可选):返回的最大结果数(默认:5,最大:1chunksAbove (可选):要包括的匹配块上方的块数(默认:1)chunksBelow (可选):要包括的匹配块下方的块数(默认:1)retrieveFullDocuments (可选):是否检索整个文档而不是仅检索块(默认:false)chat_with_onyx 工具利用 Onyx 强大的聊天 API 和 LLM + RAG 提供全面的回答:
<use_mcp_tool>
<server_name>onyx-search</server_name>
<tool_name>chat_with_onyx</tool_name>
<arguments>
{
"query": "我们公司的远程工作政策是什么?",
"personaId": 15,
"documentSets": ["公司政策", "人力资源文档"],
"chatSessionId": "可选现有会话ID"
}
</arguments>
</use_mcp_tool>
参数:
query (必需):要询问 Onyx 的问题personaId (可选):要使用的角色 ID(默认:15)documentSets (可选):要在其中搜索的文档集名称列表(空表示所有)chatSessionId (可选):继续对话的现有聊天会话 ID聊天工具支持在多次交互之间维护对话上下文。首次调用后,响应将包含元数据中的 chat_session_id。您可以在后续调用中传递此 ID 以维持上下文。
为了获得最佳效果,您可以结合使用这两种工具——搜索特定细节,聊天以获得全面理解。
npm run dev
该项目要求所有提交消息遵循 常规提交 规范。为了简化这一过程,我们提供了一个交互式提交工具:
npm run commit
这将引导您创建一个格式正确的提交消息。或者,您可以按照常规格式编写自己的提交消息:
<类型>[可选范围]: <描述>
[可选正文]
[可选脚注]
其中 类型 是以下之一: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 标题和提交消息以确定版本提升类型。
PR 标题验证:所有 PR 标题都必须符合 常规提交 规范:
feat:,fix:,docs:)提交消息验证:所有提交消息也必须符合常规提交格式:
feat:,fix:,docs:)npm run commit 创建交互式提交消息版本提升决定:系统分析 PR 标题和提交消息以确定适当的版本提升:
feat 开头或包含新功能 → 次版本提升fix 开头或包含错误修复 → 补丁版本提升BREAKING CHANGE 或感叹号 → 主版本提升版本更新和发布:
此自动化过程确保基于变更性质的一致版本控制,遵循语义化版本控制原则,并消除手动版本管理。
欢迎贡献!请参阅我们的 贡献指南 以获取更多详细信息。
如果您发现安全漏洞,请遵循我们的 安全策略。
本项目根据 MIT 许可证授权 - 详情见 许可证 文件。
<a href="https://glama.ai/mcp/servers/@lupuletic/onyx-mcp-server"> <img width="380" height="200" src="https://gips2.baidu.com/it/u=2383788061,520839034&fm=3081&app=3081&f=PNG?w=760&h=400" /> </a>