GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者提供的说明(英文原文)
MCP server providing log snippet and Python traceback extraction tools.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"logdetective": {
"command": "uvx",
"args": [
"logdetective-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add logdetective -- uvx logdetective-mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"logdetective": {
"command": "uvx",
"args": [
"logdetective-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"logdetective": {
"type": "stdio",
"command": "uvx",
"args": [
"logdetective-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
注册名称已通过 GitHub 账户 fedora-copr 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.7.0)于6天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:GitHub, Desktop Commander, Cloudflare MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
MCP server implementing core log analysis tools of Log Detective for use by other agents.
The server uses the Drain3 algorithm to cluster log messages into templates and extract a representative subset of snippets, reducing large logs to a manageable size for downstream analysis.
Requires Python 3.11+.
pip install .
Or with uv:
uv pip install .
logdetective-mcp
Or directly:
python -m logdetective_mcp.main
claude mcp add logdetective -- logdetective-mcp
Add to your Claude Desktop configuration file:
{
"mcpServers": { "logdetective": { "command": "logdetective-mcp" } } }
extract_log_snippetsExtracts representative log snippets using Drain3 clustering. The tool chunks the log into logical messages, clusters similar messages, and returns one representative snippet per cluster.
Log content can be provided in three ways (exactly one must be used):
| Parameter | Type | Description |
|---|---|---|
log_text | str | Raw log text passed directly. |
log_path | str | Path to a log file on the server's filesystem. |
log_url | str | HTTP(S) URL to fetch log content from. |
The input schema for both tools uses oneOf to require exactly one nonempty source field. Omitted source fields and fields set to "" do not count as a source. This matches the rule checked when a tool runs. The advertised tool definitions conform to the MCP 2025-11-25 Tool schema.
Optional parameters:
| Parameter | Type | Default | Description | |
|---|---|---|---|---|
max_clusters | int | 8 | Maximum number of snippets to extract. | |
max_snippet_len | int | 2000 | Maximum character length per snippet. | |
skip_patterns | `list[str] \ | null` | null | List of regex patterns. Chunks matching any pattern are excluded before clustering. |
context | int | 0 | Number of lines to include before and after each snippet (0-50). |
Returns a list of Snippet objects, each with line_number (position in the original log) and text (the extracted snippet content). MCP structured output wraps this list as {"result": [...]}; the advertised output schema describes that object.
extract_python_tracebacksExtracts Python tracebacks from the log, including chained exceptions.
| Parameter | Type | Default | Description | |
|---|---|---|---|---|
max_traceback_len | int | 2000 | Maximum character length per extracted traceback. | |
skip_patterns | `list[str] \ | null` | null | List of regex patterns. Tracebacks matching any pattern are excluded. |
context | int | 0 | Number of lines to include before and after each traceback (0-50). |
For both extractor tools, context follows grep's -C behavior: the requested number of surrounding log lines is included on each side when available. The length limit applies to the extracted snippet or traceback; context lines are additional, so the returned text can be longer than the limit. With context enabled, line_number points to the first returned line. Values outside 0-50 are rejected.
If a traceback is truncated, the extractor keeps its beginning and end with a marker when max_traceback_len permits; smaller limits keep only a prefix. Following context starts after the original traceback, without restoring its omitted middle. If a log line is split into chunks by max_snippet_len, each selected chunk keeps its own text when context is added. Neighboring lines do not replace it with the complete long line. Context boundaries follow the chunk's original source lines, including blank lines omitted from the rendered chunk.
All downloaded inputs (via log_url) are limited to 100 MB regardless of format. Downloads are streamed in chunks and aborted as soon as the limit is exceeded.
Archives read via log_path are also checked against the 100 MB limit during decompression.
Both tools transparently decompress archived log files. Supported formats:
.gz, .bz2, .xz, .lzma.zip, .tar, .tar.gz, .tar.bz2, .tar.xzFormat is detected from the file extension (or URL path). Archives must contain exactly one file.
Zip bomb protection is enforced via:
All changes to this repository must pass pre-commit checks and tests.
uv run pytest tests/
To inspect the JSON schemas returned by the installed server, run the check script with the project's virtual environment. It starts the server over MCP stdio, validates both tool schemas and structured results, and compares the returned tool definitions with the files in schemas/:
.venv/bin/python scripts/check_mcp_schemas.py
After an intentional schema change, regenerate those files with:
.venv/bin/python scripts/check_mcp_schemas.py --write