使用说明
Haystack MCP服务器
一 MCP(模型上下文协议) 提供搜索Haystack(OpenSearch)生产日志工具的服务器。
先决条件
- Node.js 18+(使用内置
fetch) - 有效的Haystack SAML身份验证Cookie
安装
npm install
认证
服务器使用SAML Cookie向Haystack进行身份验证。在以下位置创建JSON文件 ~/.claude/haystack-cookies.json:
{
"security_authentication_saml1": "<your-saml-cookie-value>",
"security_authentication": "<your-auth-cookie-value>"
}
要获取这些值,请在浏览器中登录Haystack,并从浏览器的开发工具(应用程序>cookie)中复制cookie值。
注: 这些Cookie会定期过期。如果搜索开始失败,出现401/403错误,请刷新Cookie。
MCP客户端配置
将服务器添加到MCP客户端配置中:
{
"mcpServers": {
"haystack": {
"command": "node",
"args": ["/path/to/haystack-mcp-server/index.js"],
"env": {
"HAYSTACK_URL": "https://your-haystack-instance.example.com"
}
}
}
}
这个 env 如果使用,则块是可选的 config.json 相反。
工具
search_haystack
使用Lucene查询语法搜索Haystack日志。
| 参数 | 必填 | 说明 |
|---|---|---|
query |
Yes | Lucene查询字符串(例如。, level:ERROR AND service:symxchange) |
timeFrom |
否 | 开始时间--ISO 8601或ES相对格式(默认: now-24h) |
timeTo |
否 | 结束时间--ISO 8601或ES相对格式(默认值: now) |
index |
否 | 索引模式(默认值: current-logs-production).使用 *qa* 对于QA, *staging* 为了舞台。 |
最多返回500个按时间戳排序的结果(最新的第一个)。
示例查询:
level:ERROR AND service:symxchange
CommunicationException AND NOT "timeout"
kubernetes.pod_name:corelation* AND level:WARN
list_haystack_indices
列出可用的Haystack索引模式。不接受任何参数。
配置
创建一个 config.json 在项目根目录中:
{
"haystackUrl": "https://your-haystack-instance.example.com",
"osdVersion": "3.5.0"
}
环境变量覆盖 config.json 值:
| 变量 | 配置键 | 默认值 | 描述 |
|---|---|---|---|
HAYSTACK_URL |
haystackUrl |
(必填) | Haystack基本URL |
OSD_VERSION |
osdVersion |
3.5.0 |
OpenSearch仪表板版本头 |