Back to MCP directory
publicPublicdnsLocal runtime

local-logs-mcp-server

一个用于监控本地应用日志的MCP服务器,提供实时日志跟踪、错误监控和日志搜索功能,支持多种日志格式和自动配置。

article

README

🚀 本地日志MCP服务器

模型上下文协议(MCP)服务器,用于监控本地应用程序日志,具备实时跟踪、错误追踪和日志搜索功能。

非常适合监控Node.js应用程序、Web服务器或任何写入日志文件的应用程序。

License Node Version

✨ 主要特性

  • 📁 日志文件发现 - 自动查找并列出可用的日志文件
  • 📜 实时日志跟踪 - 从任何日志文件中获取最后N行
  • ⚠️ 错误监控 - 快速检查错误日志以发现问题
  • 📊 服务器状态 - 通过日志分析获取服务器状态摘要
  • 👀 日志监控 - 监控日志文件的更改
  • 🔍 日志搜索 - 在日志中搜索特定的文本模式
  • 🔧 可配置 - 支持自定义日志目录和文件扩展名
  • 🚀 易于设置 - 可与Cursor、Claude Desktop、VS Code Copilot等工具配合使用

🛠️ 可用工具

| 工具 | 描述 | 参数 | |------|-------------|------------| | get_log_files | 列出带有元数据的可用日志文件 | 无 | | tail_log | 从日志文件中获取最后N行 | filenamelines | | get_errors | 获取最近的错误日志条目 | lines | | get_server_status | 从日志中获取服务器状态摘要 | 无 | | watch_log | 监控日志文件的更改 | filename | | search_logs | 在日志文件中搜索文本 | queryfilenamelines |

📦 安装指南

🚀 一键安装(推荐)

Linux/Mac:

curl -sSL https://raw.githubusercontent.com/mariosss/local-logs-mcp-server/main/install-new.js | node

Windows(PowerShell):

Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mariosss/local-logs-mcp-server/main/install-new.js" | Invoke-Expression

就这么简单! 安装脚本将直接下载服务器文件并自动配置Cursor。只需重启Cursor即可开始使用!

替代方案:两步安装

npm install -g https://github.com/mariosss/local-logs-mcp-server
local-logs-setup

替代方案:手动安装

npm install -g local-logs-mcp-server
local-logs-setup

NPX使用(无需安装)

npx local-logs-mcp-server

手动克隆安装

git clone https://github.com/mariosss/local-logs-mcp-server.git
cd local-logs-mcp-server
npm install -g .

⚙️ 配置

✅ 自动配置(默认)

该软件包会自动为你配置Cursor!无需手动设置。

🔧 手动配置(如有需要)

对于Cursor IDE

添加到你的 .cursor/mcp.json(项目特定)或全局MCP配置中:

{
  "mcpServers": {
    "local-logs": {
      "command": "npx",
      "args": ["-y", "local-logs-mcp-server"],
      "env": {
        "LOGS_DIR": "./logs"
      }
    }
  }
}

对于Claude Desktop

添加到你的Claude Desktop MCP配置中(Mac上的路径为 ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "local-logs": {
      "command": "npx",
      "args": ["-y", "local-logs-mcp-server"],
      "env": {
        "LOGS_DIR": "/path/to/your/logs"
      }
    }
  }
}

对于VS Code(GitHub Copilot)

添加到你的 .vscode/mcp.json 中:

{
  "servers": {
    "local-logs": {
      "command": "npx",
      "args": ["-y", "local-logs-mcp-server"],
      "env": {
        "LOGS_DIR": "./logs"
      }
    }
  }
}

对于Windsurf(Codium)

添加到你的Windsurf MCP配置中:

{
  "mcpServers": {
    "local-logs": {
      "command": "npx",
      "args": ["-y", "local-logs-mcp-server"],
      "env": {
        "LOGS_DIR": "./logs"
      }
    }
  }
}

🔧 环境变量

| 变量 | 描述 | 默认值 | |----------|-------------|---------| | LOGS_DIR | 包含日志文件的目录 | 自动检测(见下文) | | LOG_EXTENSIONS | 以逗号分隔的日志文件扩展名 | .log,.txt |

日志目录自动检测

如果未指定 LOGS_DIR,服务器将按以下优先级顺序自动搜索日志:

  1. ./logs(当前目录)
  2. ./apps/backend/logs(单仓库结构)
  3. ./server/logs(服务器目录)
  4. ./backend/logs(后端目录)
  5. /var/log(Linux/Mac上的系统日志)
  6. C:\logs(Windows上的系统日志)

💻 使用示例

基础用法

配置好MCP客户端后,你可以使用自然语言命令:

  • "检查我的服务器日志"
  • "日志中是否有错误?"
  • "我的服务器状态如何?"
  • "显示可用的日志文件"

高级用法

  • "显示error.log的最后50行"
  • "在日志中搜索'database connection'"
  • "监控access.log的更改"
  • "查找所有包含'TypeError'的日志条目"

🏗️ 项目结构示例

标准Node.js项目

your-project/
├── logs/
│   ├── combined.log    # 主应用程序日志
│   ├── error.log      # 错误日志
│   └── access.log     # 访问日志(可选)
├── .cursor/
│   └── mcp.json       # MCP配置
├── src/
└── package.json

单仓库结构

your-monorepo/
├── apps/
│   └── backend/
│       └── logs/
│           ├── combined.log
│           └── error.log
├── .cursor/
│   └── mcp.json
└── package.json

🔍 支持的日志格式

该服务器可处理任何基于文本的日志文件,并能解析:

  • Winston日志(JSON和文本格式)
  • Morgan访问日志
  • Pino日志
  • Bunyan日志
  • 自定义应用程序日志
  • 系统日志
  • 任何.log或.txt文件

示例日志格式

Winston文本格式:

2024-01-15 10:30:45 [INFO]: Server started on port 3000
2024-01-15 10:30:50 [ERROR]: Database connection failed

Winston JSON格式:

{"level":"info","message":"Server started","timestamp":"2024-01-15T10:30:45.123Z"}
{"level":"error","message":"Database connection failed","timestamp":"2024-01-15T10:30:50.456Z"}

🛡️ 安全性

  • 只读访问 - 服务器仅读取日志文件,从不写入或修改
  • 目录范围 - 仅访问指定日志目录中的文件
  • 无网络访问 - 完全在本地文件上运行
  • 权限遵循 - 遵循文件系统权限

🚀 性能

  • 高效文件读取 - 对大日志文件使用流式处理
  • 内存管理 - 不将整个文件加载到内存中
  • 快速搜索 - 优化的文本搜索算法
  • 依赖极少 - 仅使用Node.js内置模块

🤝 贡献

  1. 分叉仓库
  2. 创建你的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交你的更改 (git commit -m 'Add amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开拉取请求

📄 许可证

本项目采用MIT许可证 - 详情请参阅 LICENSE 文件。

🐛 故障排除

服务器显示红色/错误状态

  • 检查日志目录是否存在且可访问
  • 验证日志文件是否具有正确的读取权限
  • 确保Node.js版本为14或更高
  • 检查MCP配置中的服务器路径是否正确

没有可用工具

  • 重启你的MCP客户端(Cursor、Claude、VS Code)
  • 验证MCP配置语法是否为有效的JSON
  • 检查MCP服务器是否响应(使用 echo '{"jsonrpc":"2.0","method":"initialize","id":1}' | npx local-logs-mcp-server 进行测试)

未找到日志文件

  • 设置正确的 LOGS_DIR 环境变量
  • 确保你的应用程序实际写入了日志文件
  • 检查文件扩展名是否与 LOG_EXTENSIONS 设置匹配
  • 验证目录权限是否允许读取

常见日志目录问题

问题: "未找到日志目录"

# 解决方案:设置显式路径
export LOGS_DIR="/path/to/your/logs"

问题: "未找到日志文件"

# 解决方案:检查文件扩展名
export LOG_EXTENSIONS=".log,.txt,.out"

📚 示例

Cursor完整设置

  1. 全局安装:
npm install -g local-logs-mcp-server
  1. 添加到 .cursor/mcp.json
{
  "mcpServers": {
    "local-logs": {
      "command": "local-logs-mcp",
      "env": {
        "LOGS_DIR": "./logs"
      }
    }
  }
}
  1. 重启Cursor并测试:
  • 询问:"检查我的服务器日志"

Claude Desktop完整设置

  1. 打开Claude Desktop配置:
# Mac
open ~/Library/Application\ Support/Claude/claude_desktop_config.json

# Windows
notepad %APPDATA%\Claude\claude_desktop_config.json
  1. 添加配置:
{
  "mcpServers": {
    "local-logs": {
      "command": "npx",
      "args": ["-y", "local-logs-mcp-server"],
      "env": {
        "LOGS_DIR": "/Users/yourusername/projects/myapp/logs"
      }
    }
  }
}
  1. 重启Claude Desktop

🔗 相关项目


为MCP社区用心打造 ❤️

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client