Skip to main content
Glama

elog-mcp

OpenAPI/MCP servidor que da a los agentes LLM acceso de solo lectura a los cuadernos de bitácora electrónicos ELOG a través de HTTP. Despliegue de referencia: el elog de T2K/ND280 en https://elog.nd280.org/elog/; funciona con cualquier instancia estándar de elogd.

  • Buscar entradas por texto completo (regex), atributos y rango de fechas

  • Leer entradas completas (atributos + cuerpo + adjuntos)

  • Descargar adjuntos, descubrir cuadernos de bitácora

Estrictamente de solo lectura: solo se emiten peticiones HTTP GET. La verificación TLS está activada por defecto. Las credenciales provienen únicamente del entorno y nunca se registran ni se muestran.

Configuración

Requiere Python ≥ 3.10 y uv:

uv sync

Related MCP server: mcp-opensearch

Configuración

Todos los ajustes son variables de entorno (prefijo ELOG_):

Variable

Requerida

Significado

ELOG_URL

URL base incl. subdirectorio, p. ej. https://elog.nd280.org/elog

ELOG_USER / ELOG_PASSWORD

no

Credenciales compartidas

ELOG_LOGBOOKS

no

Lista de permitidos separada por comas utilizada por la búsqueda * / orden de listado

ELOG_SSL_VERIFY

no

true (por defecto) / false — nunca desactivar fuera de pruebas locales

ELOG_TIMEOUT

no

Tiempo de espera HTTP en segundos (por defecto 30)

ELOG_MCP_TRANSPORT

no

stdio (por defecto) · streamable-http · openapi

ELOG_MCP_HOST / ELOG_MCP_PORT

no

Dirección/puerto de enlace en modos HTTP (por defecto 127.0.0.1:8000)

ELOG_API_KEY

no

Exigir Authorization: Bearer <key> en todos los endpoints OpenAPI

ELOG_CORS_ORIGINS

no

Orígenes CORS separados por comas para el modo openapi (por defecto *)

ELOG_MCP_CERTFILE / ELOG_MCP_KEYFILE

no

Certificado/clave TLS (PEM) — sirve HTTPS en modos HTTP

Prefijo común para cada despliegue:

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

Despliegue

ELOG_MCP_TRANSPORT elige cómo los clientes se comunican con el servidor:

Transporte

Clientes

Endpoint

stdio (por defecto)

Claude Desktop, opencode, otros hosts MCP locales

proceso generado

streamable-http

Interfaces web que hablan MCP sobre HTTP (LibreChat, …)

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

openapi

Servidores de herramientas OpenAPI (Open WebUI, …)

especificación en /openapi.json, documentación en /docs, la base / responde con un JSON de liveness

stdio (clientes MCP locales)

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 (clientes MCP remotos)

ELOG_MCP_TRANSPORT=streamable-http uv run elog-mcp

Registra http://127.0.0.1:8000/mcp como servidor MCP remoto en tu interfaz.

openapi (Open WebUI y similares)

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

Cinco endpoints de solo lectura reflejan las herramientas siguientes (los operationIds coinciden con los nombres de las herramientas). En Open WebUI: Ajustes → Herramientas → + (a nivel de usuario, obtenido por tu navegador) o Ajustes de administrador → Herramientas (global, obtenido por su backend), introduce la URL del servidor y pon el valor de tu ELOG_API_KEY en el campo de clave Bearer.

HTTPS: pasa ELOG_MCP_CERTFILE/ELOG_MCP_KEYFILE, o coloca un proxy inverso o túnel (p. ej. cloudflared tunnel --url http://localhost:8000) delante. Para certificados de desarrollo de confianza local: mkcert -install && mkcert localhost 127.0.0.1 ::1, luego proporciona los dos archivos a las variables anteriores (rutas absolutas).

Reglas prácticas de accesibilidad:

  • Todo se enlaza a 127.0.0.1 por defecto. Establece ELOG_MCP_HOST=0.0.0.0 y una ELOG_API_KEY siempre que otra persona deba alcanzar el servidor.

  • ¿Cliente en Docker? 127.0.0.1 dentro de su contenedor no es tu máquina — usa http://host.docker.internal:<port> (--add-host=host.docker.internal:host-gateway en Linux).

  • ¿Instancia alojada (p. ej. una WebUI universitaria)? Nunca puede alcanzar el loopback de tu portátil. Los servidores de herramientas a nivel de usuario están además sujetos a la Content-Security-Policy de ese sitio — si DevTools muestra la solicitud como Transferred: CSP, el navegador la bloqueó y solo un cambio de connect-src por parte de TI ayuda. La ruta práctica: desplegar elog-mcp en algún lugar accesible y dejar que los administradores lo registren una vez como servidor de herramientas global.

Herramientas

Mismas cinco operaciones en cada transporte (rutas REST mostradas para openapi):

Herramienta

Ruta REST

Propósito

elog_list_logbooks()

GET /logbooks

Listar cuadernos de bitácora

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

GET /search (attributes = cadena de objeto JSON)

Filtrado por regex de texto completo + atributos + fechas; devuelve extractos

elog_get_entry(logbook, entry_id)

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

Cuerpo completo de la entrada, atributos, hilos

elog_get_recent_entries(logbook, count=20)

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

Atajo de más recientes primero

elog_get_attachment(logbook, filename)

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

Contenido del adjunto en Base64

Notas:

  • Los filtros de texto y atributos son expresiones regulares (semántica de elogd); los anclajes ^value$ dan coincidencias exactas.

  • Fechas: YYYY-MM-DD[ HH:MM[:SS]], o usa last_days en lugar de un rango; logbook="*" busca en todos los cuadernos conocidos.

  • Los errores aparecen de forma uniforme: EntryNotFound, AuthFailed, ServerError, NetworkError, InvalidLogbook (códigos de estado REST: 404/502/502/503/404, parámetros de consulta no válidos → 400/422).

Desarrollo

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)

Los detalles del protocolo y las referencias de formato de cable están en RESOURCES.md; la arquitectura y los contratos de herramientas en 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