使用说明
Sequ MCP服务器
一种模型上下文协议(MCP)服务器,提供从Seq搜索和流式传输事件的工具。
安装
作为一个。NET全局工具(推荐)
# Install
dotnet tool install -g SeqMcpServer
# Update to latest version
dotnet tool update -g SeqMcpServer
# Uninstall
dotnet tool uninstall -g SeqMcpServer
需求
- .NET 10.0运行时或SDK
- 序列服务器(本地或远程)
- 有效的Seq API密钥
快速开始
开发环境
# Clone the repository
git clone https://github.com/willibrandon/seq-mcp-server
cd seq-mcp-server
# Setup development environment (fully automated)
# PowerShell (Windows)
./scripts/setup-dev.ps1
# Bash (Linux/Mac)
./scripts/setup-dev.sh
# Build and run the MCP server
dotnet build
dotnet run --project SeqMcpServer
安装脚本会自动执行以下操作:
- 在端口15341/18081上启动Seq容器
- 配置身份验证并创建API密钥
- 设置环境变量
- 创建一个
.env应用程序的文件
生产部署
MCP服务器不是直接运行的,而是由MCP客户端启动的。生产:
- 构建并部署可执行文件:
dotnet publish -c Release -r win-x64 -p:PublishSingleFile=true
- 配置您的MCP客户端以使用已部署的可执行文件:
{
"mcpServers": {
"seq": {
"command": "/path/to/seq-mcp-server",
"env": {
"SEQ_SERVER_URL": "http://your-seq-server:5341",
"SEQ_API_KEY": "your-production-api-key"
}
}
}
}
MCP工具
以下工具可通过MCP协议使用:
-
SeqSearch-使用过滤器、日期范围、信号和分页搜索Seq事件- 参数:
filter(必需):序列过滤器表达式(使用空字符串""对于所有事件)count:要返回的事件数(默认值:100,最大值:1000)signalId(可选):用于过滤事件的信号ID(使用SignalList查找ID)fromDateUtc(可选):最早日期/时间(ISO 8601。,"2024-01-01T00:00:00Z")toDateUtc(可选):最新日期/时间(ISO 8601。,"2024-01-31T23:59:59Z")afterId(可选):要搜索的事件ID(独占)-用于分页timeoutSeconds(可选):超时秒数(1-300)workspace(可选):要查询的特定工作区
- 返回:匹配事件列表(从最小到最近排序)
- 注: 对于日期筛选,请使用
fromDateUtc/toDateUtc参数而不是@Timestamp在过滤器表达式中,以获得更好的性能 - 分页: 要获取1000多个事件,请使用
afterId具有上次搜索中最后一个事件的ID - 过滤器示例:
""-所有事件"error"-包含“错误”的事件@Level = "Error"-错误级别事件Application = "MyApp"-来自特定应用程序的事件
- 日期范围示例:
filter: "@Level = 'Error'", fromDateUtc: "2024-01-01T00:00:00Z", toDateUtc: "2024-01-31T23:59:59Z"
- 分页示例:
- 第一通电话:
filter: "", count: 1000→ 返回带有ID的事件 - 第二次通话:
filter: "", count: 1000, afterId: "event-<last-id>"→ 返回下一批
- 第一通电话:
- 参数:
-
SeqWaitForEvents-等待并捕获Seq的实时事件(5秒超时)- 参数:
filter(可选):序列过滤器表达式count:要捕获的事件数(默认值:10,最大值:100)workspace(可选):要查询的特定工作区
- 返回:等待期间捕获的事件快照(如果没有匹配的事件,则可能为空)
- 参数:
-
SignalList-列出可用信号(只读)- 参数:
workspace(可选):要查询的特定工作区
- 返回:信号及其定义列表
- 参数:
-
SeqConvertFilter-将模糊过滤器转换为严格过滤器表达式- 参数:
fuzzyFilter(必填):模糊搜索文本(例如“错误”、“超时”)workspace(可选):要查询的特定工作区
- 返回:用于
SeqSearch - 用例:帮助用户编写正确的筛选器表达式
- 示例:将“error”转换为正确的Seq过滤器表达式
- 参数:
Claude桌面集成
选项1:使用。NET全局工具(推荐)
安装全局工具后,添加到您的Claude Desktop配置中:
{
"mcpServers": {
"seq": {
"command": "seq-mcp-server",
"env": {
"SEQ_SERVER_URL": "http://localhost:5341",
"SEQ_API_KEY": "your-api-key-here"
}
}
}
}
选项2:预构建版本
下载适用于您平台的最新版本,并将其添加到MCP设置中:
{
"mcpServers": {
"seq": {
"command": "C:\\\\Tools\\\\seq-mcp-server.exe",
"args": [],
"env": {
"SEQ_SERVER_URL": "http://localhost:5341",
"SEQ_API_KEY": "your-api-key-here"
}
}
}
}
选项3:从源代码构建
生成单个文件可执行文件(需要.NET 10运行时):
# Windows
dotnet publish -c Release -r win-x64 -p:PublishSingleFile=true
# macOS
dotnet publish -c Release -r osx-x64 -p:PublishSingleFile=true
# Linux
dotnet publish -c Release -r linux-x64 -p:PublishSingleFile=true
可执行文件将位于 SeqMcpServer/bin/Release/net10.0/{runtime}/publish/
配置
Seq MCP服务器使用环境变量进行配置:
SEQ_SERVER_URL:您的Seq服务器的URLSEQ_API_KEY:用于访问Seq的API密钥(必需)SEQ_API_KEY_<WORKSPACE>:可选的特定于工作空间的API密钥(例如。,SEQ_API_KEY_PRODUCTION)
Seq兼容性
SeqSearch 偏爱 Events.EnumerateAsync(),它使用Seq Scan 当服务器通告它时,它会链接。较旧的Seq版本,如 2024.3.x 不要暴露 Scan 上 api/events/resources;在这种情况下,服务器现在回退到 PagedEnumerateAsync() 因此搜索继续工作,而不是失败:
System.NotSupportedException: The requested link `Scan` isn't available on entity `Seq.Api.Model.ResourceGroup`.
如果您正在调试兼容性问题:
- 序列
2025.2.x以及较新的曝光Scan - 序列
2024.3.x不暴露Scan - 此MCP服务器通过自动回退来支持这两条路径
工作区支持
MCP服务器支持特定于工作空间的API密钥(未来功能):
export SEQ_API_KEY="default-key"
export SEQ_API_KEY_PRODUCTION="production-key"
export SEQ_API_KEY_STAGING="staging-key"
注意:目前设计了特定于工作区的键,但尚未在MCP工具中实现。
发展
先决条件
- .NET 10.0 SDK
- Docker(用于在本地运行Seq)
运行测试
dotnet test
发展
这 scripts 文件夹包含自动安装脚本:
-
setup-dev.ps1/setup-dev.sh:自动配置您的开发环境- 使用身份验证启动Seq容器
- 处理初始密码设置
- 创建开发API密钥
- 设置环境变量
- 创造
.env应用程序的文件
-
teardown-dev.ps1/teardown-dev.sh:清理开发环境- 停止并移除容器
- 清除环境变量
有关详细的开发设置,请参阅 docs/DEVELOPMENT.md.
建筑
这是一个纯MCP服务器实现,它:
- 作为基于stdio的服务运行(无web服务器)
- 通过JSON-RPC通过标准输入/输出进行通信
- 不登录控制台以避免干扰MCP通信
- 配置时,可选择登录到Seq本身进行调试
自我记录
当有效时,MCP服务器可以将自己的操作记录到Seq中 SEQ_SERVER_URL 和 SEQ_API_KEY 提供。这有助于调试和监控MCP服务器本身。
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
