Skip to main content
Glama

elog-mcp

OpenAPI/MCP 服务器,为 LLM 代理提供对 ELOG 电子日志的只读访问(通过 HTTP)。参考部署:T2K/ND280 日志,位于 https://elog.nd280.org/elog/;适用于任何标准 elogd 实例。

  • 按全文(正则)、属性和日期范围搜索条目

  • 读取完整条目(属性 + 正文 + 附件)

  • 下载附件、发现日志

严格只读:仅发出 HTTP GET 请求。默认启用 TLS 验证。凭据仅来自环境变量,绝不记录或回显。

设置

需要 Python ≥ 3.10 和 uv

uv sync

Related MCP server: mcp-opensearch

配置

所有设置均为环境变量(ELOG_ 前缀):

变量

必需

含义

ELOG_URL

基础 URL(含子目录),例如 https://elog.nd280.org/elog

ELOG_USER / ELOG_PASSWORD

共享凭据

ELOG_LOGBOOKS

逗号分隔的允许列表,用于搜索 * / 列表顺序

ELOG_SSL_VERIFY

true(默认)/ false — 切勿在本地测试之外禁用

ELOG_TIMEOUT

HTTP 超时秒数(默认 30

ELOG_MCP_TRANSPORT

stdio(默认)· streamable-http · openapi

ELOG_MCP_HOST / ELOG_MCP_PORT

HTTP 模式下的绑定地址/端口(默认 127.0.0.1:8000

ELOG_API_KEY

要求所有 OpenAPI 端点提供 Authorization: Bearer <key>

ELOG_CORS_ORIGINS

openapi 模式的逗号分隔 CORS 来源(默认 *

ELOG_MCP_CERTFILE / ELOG_MCP_KEYFILE

TLS 证书/密钥(PEM)— 在 HTTP 模式下提供 HTTPS

每个部署的通用前缀:

export ELOG_URL=https://elog.nd280.org/elog
export ELOG_USER=your-shared-user
export ELOG_PASSWORD=your-shared-password

部署

ELOG_MCP_TRANSPORT 决定客户端如何与服务器通信:

传输

客户端

端点

stdio(默认)

Claude Desktop、opencode 及其他本地 MCP 主机

生成的进程

streamable-http

通过 HTTP 使用 MCP 的 Web UI(LibreChat 等)

http://<host>:<port>/mcp

openapi

OpenAPI 工具服务器(Open WebUI 等)

规范位于 /openapi.json,文档位于 /docs,基础 / 返回存活 JSON

stdio(本地 MCP 客户端)

uv run elog-mcp

Claude Desktop(claude_desktop_config.json):

{
  "mcpServers": {
    "elog": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/elog-mcp", "run", "elog-mcp"],
      "env": { "ELOG_URL": "…", "ELOG_USER": "…", "ELOG_PASSWORD": "…" }
    }
  }
}

opencode(~/.config/opencode/opencode.json):

{
  "mcp": {
    "elog": {
      "type": "local",
      "command": ["uv", "--directory", "/absolute/path/to/elog-mcp", "run", "elog-mcp"],
      "environment": { "ELOG_URL": "…", "ELOG_USER": "…", "ELOG_PASSWORD": "…" }
    }
  }
}

streamable-http(远程 MCP 客户端)

ELOG_MCP_TRANSPORT=streamable-http uv run elog-mcp

在您的 UI 中将 http://127.0.0.1:8000/mcp 注册为远程 MCP 服务器。

openapi(Open WebUI 及类似工具)

ELOG_MCP_TRANSPORT=openapi \
ELOG_API_KEY=pick-a-random-secret \
uv run elog-mcp

五个只读端点与下面的工具对应(operationId 与工具名称相同)。在 Open WebUI 中:设置 → 工具 → +(用户级,由您的浏览器获取)或管理员设置 → 工具(全局,由其后端获取),输入服务器 URL,并将您的 ELOG_API_KEY 值放入 Bearer 密钥字段。

HTTPS: 传递 ELOG_MCP_CERTFILE/ELOG_MCP_KEYFILE,或在前面放置反向代理或隧道(例如 cloudflared tunnel --url http://localhost:8000)。对于本地受信任的开发证书:mkcert -install && mkcert localhost 127.0.0.1 ::1,然后将两个文件提供给上述变量(绝对路径)。

可达性经验法则:

  • 默认所有内容绑定 127.0.0.1。当其他人必须访问服务器时,设置 ELOG_MCP_HOST=0.0.0.0ELOG_API_KEY

  • 客户端在 Docker 中?其容器内的 127.0.0.1 不是您的机器 — 使用 http://host.docker.internal:<port>(在 Linux 上使用 --add-host=host.docker.internal:host-gateway)。

  • 托管实例(例如大学 WebUI)?它永远无法访问您笔记本电脑的回环地址。用户级工具服务器还受该站点的内容安全策略(Content-Security-Policy)约束 — 如果 DevTools 显示请求为 Transferred: CSP,则浏览器阻止了它,只有 IT 端的 connect-src 更改才能解决。实际途径:将 elog-mcp 部署在可访问的位置,并让管理员将其注册为一次全局工具服务器。

工具

每种传输方式都有相同的五个操作(REST 路由针对 openapi 显示):

工具

REST 路由

用途

elog_list_logbooks()

GET /logbooks

列出日志

elog_search(text?, attributes?, date_from?, date_to?, last_days?, logbook="*", max_results=50, reverse=true)

GET /searchattributes = JSON 对象字符串)

正则全文 + 属性 + 日期过滤;返回摘录

elog_get_entry(logbook, entry_id)

GET /logbooks/{logbook}/entries/{entry_id}

完整条目正文、属性、线程

elog_get_recent_entries(logbook, count=20)

GET /logbooks/{logbook}/recent?count=N

最新优先快捷方式

elog_get_attachment(logbook, filename)

GET /logbooks/{logbook}/attachments/{filename}

Base64 附件内容

注意:

  • 文本和属性过滤器是正则表达式(elogd 语义);^value$ 锚点提供精确匹配。

  • 日期:YYYY-MM-DD[ HH:MM[:SS]],或使用 last_days 代替范围;logbook="*" 搜索所有已知日志。

  • 错误统一呈现:EntryNotFoundAuthFailedServerErrorNetworkErrorInvalidLogbook(REST 状态码:404/502/502/503/404,无效查询参数 → 400/422)。

开发

uv run pytest                # unit tests, offline
uv run pytest -m live        # live suite (needs ELOG_TEST_URL)
uv run ruff check .          # lint
uv run ruff format --check . # formatting gate
uv run mypy src              # type check (strict)

协议细节和线格式参考见 RESOURCES.md;架构和工具契约见 SPEC.md

A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
6Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables discovery of HEPData records, tables, and data access with read-only operations and export links.
    9
    GPL 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Read-only MCP server for exploring and searching OpenSearch clusters, enabling log analysis, index exploration, and query execution.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A read-only MCP server for the Auralogs logging platform, enabling AI agents to query production logs, search errors, and retrieve AI analyses without write access. It allows you to ask your coding assistant 'what's broken in production right now?' by connecting to your logs via a simple bearer auth key.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Read-only MCP server for searching and aggregating logs from VMware Aria Operations for Logs (formerly vRealize Log Insight). Enables querying log events, aggregating with spike detection, and retrieving alert information.
    7
    MIT

View all related MCP servers

Related MCP Connectors

  • Read-only access to Auralogs production logs: search logs, inspect errors, review AI analyses.

  • Read-only optical catalog search plus DiffBeam server, schema, and catalog revision metadata.

  • Multi-engine scholarly research server for search, traversal, full text, and reading lists.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ast0815/elog-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server