Strayl MCP服务器
用于语义和精确日志搜索的MCP服务器,由Strayl提供支持。
特性
- 语义搜索:使用向量嵌入在日志中进行人工智能搜索
- 精确文本搜索:具有区分大小写选项的传统文本匹配
- 上下文搜索:跨索引文档和知识库的人工智能语义搜索
- 上下文管理:创建、管理和索引自定义上下文源(文档、指南、维基)
- 内存会话:在多个搜索中维护对话历史和上下文
- 时间滤波:按时间段搜索日志(5m、1h、今天、昨天、7d等)
- 日志级别筛选:按日志级别筛选(信息、警告、错误、调试)
- 易于集成:与Claude Desktop、Cline和其他MCP客户端配合使用
安装
通过管道安装(推荐):
pipx install strayl-mcp-server或者通过pip:
pip install strayl-mcp-server配置
获取API密钥
- 访问 https://strayl.dev
- 生成API密钥
- 复制API密钥(以开头
st_)
Claude桌面配置
添加到您的Claude Desktop配置文件中:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"strayl": {
"command": "pipx",
"args": ["run", "--no-cache", "strayl-mcp-server"],
"env": {
"STRAYL_API_KEY": "your_api_key_here"
}
}
}
}临床/其他MCP客户
添加到MCP设置文件中:
{
"mcpServers": {
"strayl": {
"command": "pipx",
"args": ["run", "--no-cache", "strayl-mcp-server"],
"env": {
"STRAYL_API_KEY": "your_api_key_here"
}
}
}
}可用工具
1.search_logs_semantic
在日志中进行语义(人工智能驱动)搜索。
参数:
query(必填):自然语言搜索查询time_period(可选):时间过滤器(例如,“5m”、“1h”、“今天”、“7d”)match_threshold(可选):相似性阈值(0.0-1.0,默认值0.5)match_count(可选):最大结果(默认值50)
例子:
Search for database connection errors in the last hour2.搜索_精确
在日志中进行精确的文本匹配搜索。
参数:
query(必填):要搜索的确切文本time_period(可选):时间过滤器level(可选):日志级过滤器(“信息”、“警告”、“错误”、“调试”)case_sensitive(可选):区分大小写的搜索(默认为false)limit(可选):最大结果(默认值50)
例子:
Search for exact text "timeout" in error logs from today3.搜索文本
跨索引上下文源(文档、知识库、指南)的语义(人工智能驱动)搜索。
参数:
query(必填):自然语言搜索查询memory_id(可选):用于维护对话历史的内存会话UUIDsource_id(可选):要在其中搜索的特定上下文源UUIDuse_ai(可选):使用AI构建答案(默认为True)
例子:
Search context for "how to authenticate users"4.列表_文本_来源
列出您有权访问的所有可用上下文源(文档、知识库)。
参数:
include_public(可选):包括公共源(默认为True)include_private(可选):包括您的私人来源(默认为True)
例子:
List all available context sources5.索引文本
从URL索引新的上下文源(文档、知识库、指南)。
参数:
url(必填):要索引的内容的完整URLis_public(可选):将此源公开(默认为True)force(可选):强制重新索引(默认为False)
例子:
Index documentation from https://docs.example.com6.manage_context_memory
管理上下文记忆会话以维护对话历史记录。
参数:
action(必填):“列表”、“创建”、“获取”或“删除”title(可选):内存标题(“创建”需要)memory_id(可选):内存UUID(“get”和“delete”需要)source_id(可选):与特定源相关联(用于“创建”)
例子:
Create a new memory session for research7.列表时间周期
列出日志搜索支持的所有时间段格式。
时间段格式
分钟
5m,5_minutes,5_mins-最后5分钟10m,15m,30m-最后10、15、30分钟
小时
1h,2h,6h,12h-最后1、2、6、12小时24h,last_24_hours-过去24小时
日子
today-今天从00:00 UTC开始yesterday-昨天已满7d,last_7_days-过去7天30d,last_30_days-过去30天
使用示例
使用克劳德桌面
只需问克劳德:
“在我的日志中搜索过去一小时的身份验证错误”
“查找从今天开始的所有数据库连接问题”
“在错误日志中显示确切的文本‘空指针’”
“搜索如何实现用户身份验证的上下文”
“索引React文档”
“为我的Python研究创建内存”
开发/测试
直接运行服务器:
export STRAYL_API_KEY="your_api_key_here"
strayl-mcp-server记录您的应用程序
要将日志发送到Strayl,请使用Strayl日志API:
import httpx
api_key = "st_your_api_key"
api_url = "https://ougtygyvcgdnytkswier.supabase.co/functions/v1"
async def log_message(message: str, level: str = "info", context: dict = None):
async with httpx.AsyncClient() as client:
await client.post(
f"{api_url}/log",
json={
"message": message,
"level": level,
"context": context or {}
},
headers={"Authorization": f"Bearer {api_key}"}
)
# Usage
await log_message("User logged in", "info", {"user_id": "123"})
await log_message("Database connection failed", "error", {"db": "postgres"})故障排除
API关键问题
如果您遇到身份验证错误:
- 验证您的API密钥以
st_ - 检查API密钥是否在MCP配置中正确设置
- 确保键周围没有多余的空格或引号
连接问题
如果服务器无法连接:
- 检查您的互联网连接
- 验证Strayl API是否可访问
- 检查是否存在防火墙或代理问题
无结果
如果搜索未返回结果:
- 确认您已将日志发送给Strayl
- 检查时间段过滤器是否过于严格
- 对于语义搜索,等待几秒钟以生成嵌入
支持
- 文档: https://docs.strayl.dev
- 问题:
- 网站: https://strayl.dev
许可证
MIT许可证
