一个通过命名管道系统捕获和管理标准输出日志的模型上下文协议(MCP)服务器。此服务器特别适用于:
服务器在特定位置创建一个命名管道(Unix/MacOS上的/tmp/stdout_pipe或Windows上的\\.\pipe\stdout_pipe)。
任何应用程序都可以使用标准输出重定向将日志写入该管道。例如:
your_application | tee /tmp/stdout_pipe # 或
your_application > /tmp/stdout_pipe
服务器监视该管道,捕获所有传入的日志,并维护最近100条记录的历史。
通过MCP工具,您可以查询、过滤和分析这些日志。
安装前,请确保您拥有:
Cursor > 设置 > MCP服务器name: stdout-mcp-server
type: command
command: npx stdout-mcp-server
对于macOS/Linux:
{
"mcpServers": {
"stdio-mcp-server": {
"command": "npx",
"args": [
"stdio-mcp-server"
]
}
}
}
对于Windows:
{
"mcpServers": {
"mcp-installer": {
"command": "cmd.exe",
"args": ["/c", "npx", "stdio-mcp-server"]
}
}
}
要将应用程序的输出发送到管道:
# Unix/MacOS
your_application > /tmp/stdout_pipe
# Windows (PowerShell)
your_application > \\.\pipe\stdout_pipe
您可以从多个来源重定向日志:
# 应用程序1
app1 > /tmp/stdout_pipe &
# 应用程序2
app2 > /tmp/stdout_pipe &
您的AI将使用MCP客户端中的get-logs工具检索和过滤日志:
// 获取最后50条日志
get-logs()
// 获取包含"error"的最后100条日志
get-logs({ lines: 100, filter: "error" })
// 获取自特定时间戳以来的日志
get-logs({ since: 1648675200000 }) // 以毫秒为单位的Unix时间戳
\\.\pipe\stdout_pipe/tmp/stdout_pipe从命名管道中检索日志,可选地进行过滤:
参数:
lines(可选,默认值:50):返回的日志行数filter(可选):用于过滤日志的文本since(可选):获取该时间戳之后的日志示例响应:
// 响应格式
{
content: [{
type: "text",
text: "[2024-03-20T10:15:30.123Z] 应用程序启动\n[2024-03-20T10:15:31.456Z] 连接到数据库"
}]
}
MIT许可证