Skip to main content
Glama

elog-mcp

OpenAPI/MCP Server, der LLM-Agenten schreibgeschützten Zugriff auf ELOG-Elektroniklogbücher über HTTP bietet. Referenzbereitstellung: das T2K/ND280-ELOG unter https://elog.nd280.org/elog/; funktioniert mit jeder Standard-elogd-Instanz.

  • Durchsuchen von Einträgen nach Volltext (Regex), Attributen und Datumsbereich

  • Einträge vollständig lesen (Attribute + Text + Anhänge)

  • Anhänge herunterladen, Logbücher entdecken

Streng schreibgeschützt: Es werden nur HTTP-GET-Anfragen gesendet. TLS-Verifizierung ist standardmäßig aktiviert. Anmeldedaten stammen ausschließlich aus der Umgebung und werden nie protokolliert oder ausgegeben.

Setup

Erfordert Python ≥ 3.10 und uv:

uv sync

Related MCP server: mcp-opensearch

Konfiguration

Alle Einstellungen sind Umgebungsvariablen (ELOG_-Präfix):

Variable

Erforderlich

Bedeutung

ELOG_URL

ja

Basis-URL inkl. Unterverzeichnis, z. B. https://elog.nd280.org/elog

ELOG_USER / ELOG_PASSWORD

nein

Gemeinsame Anmeldedaten

ELOG_LOGBOOKS

nein

Kommagetrennte Zulassungsliste für Suche * / Auflistungsreihenfolge

ELOG_SSL_VERIFY

nein

true (Standard) / false — niemals außerhalb lokaler Tests deaktivieren

ELOG_TIMEOUT

nein

HTTP-Timeout in Sekunden (Standard 30)

ELOG_MCP_TRANSPORT

nein

stdio (Standard) · streamable-http · openapi

ELOG_MCP_HOST / ELOG_MCP_PORT

nein

Bindungsadresse/-port in HTTP-Modi (Standard 127.0.0.1:8000)

ELOG_API_KEY

nein

Erfordert Authorization: Bearer <key> auf allen OpenAPI-Endpunkten

ELOG_CORS_ORIGINS

nein

Kommagetrennte CORS-Ursprünge für den OpenAPI-Modus (Standard *)

ELOG_MCP_CERTFILE / ELOG_MCP_KEYFILE

nein

TLS-Zertifikat/-Schlüssel (PEM) — stellt HTTPS in HTTP-Modi bereit

Gemeinsames Präfix für jede Bereitstellung:

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

Bereitstellung

ELOG_MCP_TRANSPORT bestimmt, wie Clients mit dem Server kommunizieren:

Transport

Clients

Endpunkt

stdio (Standard)

Claude Desktop, opencode, andere lokale MCP-Hosts

gestarteter Prozess

streamable-http

Web-UIs, die MCP über HTTP sprechen (LibreChat, …)

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

openapi

OpenAPI-Toolserver (Open WebUI, …)

Spezifikation unter /openapi.json, Dokumentation unter /docs, Basis / antwortet mit einem Liveness-JSON

stdio (lokale MCP-Clients)

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 (Remote-MCP-Clients)

ELOG_MCP_TRANSPORT=streamable-http uv run elog-mcp

Registrieren Sie http://127.0.0.1:8000/mcp als Remote-MCP-Server in Ihrer UI.

openapi (Open WebUI & Co.)

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

Fünf schreibgeschützte Endpunkte spiegeln die untenstehenden Tools wider (operationIds entsprechen den Toolnamen). In Open WebUI: Einstellungen → Tools → + (auf Benutzerebene, von Ihrem Browser abgerufen) oder Admin-Einstellungen → Tools (global, von dessen Backend abgerufen), geben Sie die Server-URL ein und tragen Sie Ihren ELOG_API_KEY-Wert in das Bearer-Key-Feld ein.

HTTPS: Übergeben Sie ELOG_MCP_CERTFILE/ELOG_MCP_KEYFILE oder setzen Sie einen Reverse-Proxy oder Tunnel (z. B. cloudflared tunnel --url http://localhost:8000) davor. Für lokal vertrauenswürdige Entwicklungszertifikate: mkcert -install && mkcert localhost 127.0.0.1 ::1, und geben Sie dann die beiden Dateien an die obigen Variablen weiter (absolute Pfade).

Erreichbarkeits-Faustregeln:

  • Alles bindet standardmäßig an 127.0.0.1. Setzen Sie ELOG_MCP_HOST=0.0.0.0 und einen ELOG_API_KEY, wenn jemand anderes den Server erreichen muss.

  • Client in Docker? 127.0.0.1 in dessen Container ist nicht Ihr Rechner — verwenden Sie http://host.docker.internal:<port> (--add-host=host.docker.internal:host-gateway unter Linux).

  • Gehostete Instanz (z. B. eine Universitäts-WebUI)? Sie kann niemals das Loopback Ihres Laptops erreichen. Benutzerebene-Toolserver unterliegen zusätzlich der Content-Security-Policy der Website — wenn DevTools die Anfrage als Transferred: CSP anzeigt, hat der Browser sie blockiert, und nur eine IT-seitige Änderung von connect-src hilft. Der praktische Weg: Stellen Sie elog-mcp an einem erreichbaren Ort bereit und lassen Sie die Administratoren es einmal als globalen Toolserver registrieren.

Tools

Dieselben fünf Operationen auf jedem Transport (REST-Routen für openapi gezeigt):

Tool

REST-Route

Zweck

elog_list_logbooks()

GET /logbooks

Logbücher auflisten

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

GET /search (attributes = JSON-Objektstring)

Regex-Volltext- + Attribut- + Datumsfilterung; gibt Auszüge zurück

elog_get_entry(logbook, entry_id)

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

Vollständiger Eintragstext, Attribute, Threading

elog_get_recent_entries(logbook, count=20)

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

Abkürzung für neueste zuerst

elog_get_attachment(logbook, filename)

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

Base64-Anhangsinhalt

Hinweise:

  • Text- und Attributfilter sind reguläre Ausdrücke (elogd-Semantik); ^value$-Anker ergeben exakte Übereinstimmungen.

  • Daten: YYYY-MM-DD[ HH:MM[:SS]], oder verwenden Sie last_days anstelle eines Bereichs; logbook="*" durchsucht alle bekannten Logbücher.

  • Fehler erscheinen einheitlich: EntryNotFound, AuthFailed, ServerError, NetworkError, InvalidLogbook (REST-Statuscodes: 404/502/502/503/404, ungültige Abfrageparameter → 400/422).

Entwicklung

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)

Protokolldetails und Drahtformat-Referenzen finden Sie in RESOURCES.md; Architektur und Tool-Verträge in 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