Skip to content

Releases: fr0ster/mcp-calm-server

v0.5.1

Choose a tag to compare

@fr0ster fr0ster released this 03 Jun 18:53
6bc1682

calm_logs_get now forwards category, version and format query params, so the full live Logs query /calm-logs/v1/logs?version=V1&period=60M&provider=…&serviceId=…&category=ABAP%20Runtime&format=protobuf-json is expressible. Adds scripts/probe-logs.mjs to verify wire behaviour. Realigns with @mcp-abap-adt/calm-client@0.5.0.

v0.5.0 — decode Logs OTLP protobuf into JSON

Choose a tag to compare

@fr0ster fr0ster released this 26 May 11:31
8e7881f

The Cloud ALM Logs API always returns an OpenTelemetry application/x-protobuf body — the format query param and Accept header are both ignored, so there is no JSON mode on the wire. This release makes calm_logs_get usable.

Added

  • calm_logs_get decodes OTLP → canonical JSON under records ({ resourceLogs: [{ resource, scopeLogs: [{ scope, logRecords }] }] }), via an embedded minimal OTLP schema + protobufjs. Verified live on eu10-004: real ABAP Application Log records (service.name=E19.100, sap.exm.* attributes) decode correctly.
  • raw: true — returns the undecoded protobuf as a base64 string (encoding: "base64").

Changed

  • Connection returns a Buffer for binary responses. AbstractCalmConnection previously read every body via response.text(), mangling protobuf through UTF-8. It now returns raw bytes for non-textual Content-Types; JSON/text/XML parse exactly as before. Response shaping stays in the tool — the client remains transport-only.

Adds protobufjs runtime dependency. No calm-client change. 235 tests green.

v0.4.1 — logs paging realign (calm-client@0.4.2)

Choose a tag to compare

@fr0ster fr0ster released this 25 May 17:45
311d1af

Changed

Realign with calm-client@0.4.2, which auto-sets onLimit=truncate so the logs tool's limit pages instead of 403-ing on any real window.

  • calm_logs_get gains an optional onLimit (override; defaults to truncate in the client when limit/offset is set)
  • clarified limit description — now reliable out of the box
  • period description corrected to the <n>M minutes format (not 1h/24h)
  • serviceId description corrected (plain param, required by the live API)
  • bump calm-client peer+dev → ^0.4.2 (hard floor: limit 403s on 0.4.1)

Verified live (eu10-004): 60M + limit=5 → 200 with records, where the same call on 0.4.1 returned HTTP 403.

calm-server 0.4.0

Choose a tag to compare

@fr0ster fr0ster released this 23 May 21:54
cb12f28

BREAKING: server now owns the CALM connection (calm-client 0.4.0 dropped CalmConnection). Combines the auth-broker integration with a server-owned connection layer.

  • New src/server/connection/ on native fetch: AbstractCalmConnection, SandboxCalmConnection, OAuth2CalmConnection, createCalmConnection factory; ./connection subpath export. Peer calm-client@^0.4.0.
  • CALM_BASE_URL consumed verbatim — no /api injection (paste endpoints.Api as-is). Fixes the double-/api 404.
  • Tokens via @mcp-abap-adt/auth-broker (CALM_AUTH_FLOW), injected as ITokenRefresher into the connection.
  • Request-lifecycle logging via ILogger (stderr-safe). dotenv -> dependencies.

v0.3.0 — align with calm-client@0.3.0; Tasks is not OData

Choose a tag to compare

@fr0ster fr0ster released this 13 May 13:46
4a1d7bb

0.3.0 — align with calm-client@0.3.0; Tasks is not OData

v0.2.0 — 54 tools, live integration, stdio-safe logging

Choose a tag to compare

@fr0ster fr0ster released this 13 May 08:16
2249d6c

0.2.0 — parity + bonus + live integration + stdio-safe logging