You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+82Lines changed: 82 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,85 @@
1
+
## 2.1.1
2
+
3
+
### Bug Fix
4
+
-**Stdio stdout pollution** – Fixed a bug where Winston log output and audit log entries were written to `stdout` during server startup in stdio mode. MCP clients reading stdout for JSON-RPC (Claude Desktop, Cursor, etc.) would fail with a Zod `invalid_union` validation error on the non-JSON-RPC log lines.
5
+
- All Winston console transports now route to `stderr` in stdio mode, keeping `stdout` clean for JSON-RPC.
6
+
-`AuditLogger` accepts a `useStderr` flag so its transport also writes to `stderr` in stdio mode.
7
+
-`startStdioServer()` logger is no longer restricted to `error` level — all configured levels flow to `stderr`.
8
+
9
+
---
10
+
11
+
## 2.1.0
12
+
13
+
### New Resources
14
+
-**SDT (Scheduled Down Time)** – Full CRUD via `lm_sdt`. Supports oneTime, daily, weekly, monthly, and monthlyByWeek schedules targeting devices, device groups, websites, collectors, and datasources.
15
+
-**OpsNotes** – Full CRUD via `lm_opsnote`. Scoped visibility (device, service, deviceGroup, serviceGroup) with tag-based categorization.
-**Relative time parsing** – Time parameters support `-6h`, `-24h`, `-7d`, `-30m`, `"now"`, ISO dates, and epoch seconds.
32
+
-**Datasource ID disambiguation** – Tool descriptions clarify `id` vs `dataSourceId`.
33
+
34
+
### Schema Flattening for MCP Clients
35
+
- Fixed Zod v4 `oneOf` discriminated unions not recognized by MCP clients. ListTools handler now flattens both `anyOf` and `oneOf` formats.
36
+
37
+
### LLM Evaluation Harness
38
+
- New `tests/eval/` system with 60+ scenarios across 8 categories, multi-provider support (OpenAI GPT-4o, GPT-5.4), scoring engine, and multi-step workflow testing.
39
+
40
+
### Audit Logging & Security
41
+
- Structured audit logging for server events, auth, sessions, and tool calls.
42
+
- Bearer tokens hashed with SHA-256.
43
+
- Graceful shutdown with clean session closure on SIGTERM/SIGINT.
44
+
45
+
### Winston Transport Leak Fix
46
+
- Fixed memory leak in HTTP mode where session Winston transports were never removed on close.
47
+
48
+
---
49
+
50
+
## 2.0.0
51
+
52
+
### Architecture Modernization
53
+
-**Zod validation** – Migrated from Joi to Zod for compile-time type safety and discriminated unions.
54
+
-**MCP SDK high-level API** – All tools use `registerTool()` instead of manual `setRequestHandler()`.
Copy file name to clipboardExpand all lines: releasenotes.md
+26Lines changed: 26 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,29 @@
1
+
# LogicMonitor MCP Server v2.1.1
2
+
3
+
## Stdio Transport Fix
4
+
5
+
Patch release that fixes a startup failure when using stdio-based MCP clients (Claude Desktop, Cursor, etc.).
6
+
7
+
### Bug Fix
8
+
9
+
-**Stdio stdout pollution** – Fixed a bug where Winston log output and audit log entries were written to `stdout` during server startup in stdio mode. MCP clients that read stdout exclusively for JSON-RPC messages (such as Claude Desktop) would receive non-JSON-RPC data like `{"level":"info","message":"Starting in STDIO mode","timestamp":"..."}` before the protocol handshake, causing a Zod validation error (`invalid_union` / `unrecognized_keys: ["level","message","timestamp"]`) and failing to connect.
10
+
11
+
### What Changed
12
+
13
+
- All Winston console transports now route to `stderr` when running in stdio mode (`--stdio`), keeping `stdout` clean for JSON-RPC.
14
+
- The `AuditLogger` accepts a `useStderr` flag so its dedicated transport also writes to `stderr` in stdio mode.
15
+
- The `startStdioServer()` logger is no longer restricted to `error` level — all configured log levels now flow to `stderr`, improving debuggability without polluting the protocol channel.
16
+
17
+
### Upgrading from v2.1.0
18
+
19
+
Drop-in replacement. No configuration or API changes.
20
+
21
+
---
22
+
23
+
**Full Changelog**: See [CHANGELOG.md](CHANGELOG.md) for detailed changes.
24
+
25
+
---
26
+
1
27
# LogicMonitor MCP Server v2.1.0
2
28
3
29
## New Resources, Smarter Responses, and LLM Eval System
0 commit comments