Skip to content

Releases: qualixar/slm-mcp-hub

v0.2.3 — meta-tool rename, per-call timeout, bug fixes

Choose a tag to compare

@varun369 varun369 released this 06 Jun 21:40

v0.2.3 — 2026-06-07

Added

  • Per-call timeout for tool invocations (DEFAULT_TOOL_TIMEOUT_S = 120): Tool calls now have a 2-minute default timeout. Quick searches fail fast instead of hanging for an hour.
  • Backward-compatible _META_TOOL_ALIASES — servers using old hub__call_tool/hub__search_tools/hub__list_servers names continue to work.

Fixed

  • Meta-tool rename from hub__* to bare names: Fixes Grok CLI compatibility. Tool names are now search_tools, call_tool, list_servers.
  • slm-hub tools CLI was returning empty output — now uses REST endpoint.
  • call_tool meta-tool now routes meta-tool names locally (e.g., call_tool(tool="list_servers") works).
  • 654 tests passing.

Full diff

v0.2.2...v0.2.3

v0.2.1 — gamma federates through hub (X-API-KEY)

Choose a tag to compare

@varun369 varun369 released this 15 May 16:31

Patch release: documents that MCP servers offering an X-API-KEY header in addition to OAuth Bearer (e.g. Gamma's official MCP) can be federated through the hub today using the existing per-server headers config — no new hub code needed.

Wire gamma into the hub

```bash

In ~/.slm-mcp-hub/config.json:

"gamma": {
"enabled": true,
"type": "http",
"url": "https://mcp.gamma.app/mcp",
"headers": {"X-API-KEY": "<your-key-from-gamma.app-dashboard>"}
}

Then hot-add via v0.2.0 lifecycle (no hub restart):

slm-hub server reload
```

Fixed

  • Minor: cosmetic cleanups in connection error messages.

Coming in v0.3.0

Full OAuth-DCR federation (RFC 9728 protected-resource metadata, RFC 7591 dynamic client registration, OAuth 2.1 PKCE flow with loopback callback) for MCPs that only support OAuth Bearer with no API-key bypass.

654 tests pass. Backward compatible.

v0.2.0 — Lifecycle & Transport

Choose a tag to compare

@varun369 varun369 released this 15 May 13:38

The first MCP gateway that learns, hot-reloads, and serves both stdio + HTTP natively.

Highlights

Zero-restart hot-reload

Add, remove, and modify federated MCP servers at runtime — no hub restart required.

```bash
slm-hub server add github --command npx --arg @modelcontextprotocol/server-github
slm-hub server remove old-server
slm-hub server modify github --env GITHUB_TOKEN=...
slm-hub server reload # re-read config.json from disk
slm-hub server list --show-tools
```

Connected MCP clients receive `notifications/tools/list_changed` within ≤1s of any registry change (debounced). Existing connections to unchanged servers (e.g. kite SSE / OAuth sessions) keep their state — only the changed server's connection is drained and replaced.

Native stdio transport

`slm-hub mcp` serves MCP JSON-RPC over stdin/stdout using NDJSON framing, matching the official MCP Python SDK. Enables native Claude Desktop integration without a Node bridge — same federation, just stdin/stdout instead of HTTP.

```bash
slm-hub setup register --client claude-desktop
```

Polished observability

  • `slm-hub status --verbose` shows per-server connected/disabled/failed state with last-error message including stderr tail and exit code.
  • Cold start fast-retry schedule (0.5s, 1.5s, 4.5s) for transient connection failures.

Fixed

  • `notifications/tools/list_changed` is now actually emitted (previously advertised in `initialize` but never sent).
  • `disconnect()` no longer raises `ProcessLookupError` when terminating an already-exited child process.
  • Reader EOF fails pending futures with a rich diagnostic (exit code + command + stderr tail), instead of hanging forever.
  • Child stderr drained to prevent pipe-buffer deadlock under verbose MCPs.
  • `asyncio.Lock` added around all `ConnectionManager` mutations.

Backward compatibility

`slm-hub start` HTTP transport continues to work identically. No config schema changes. All v0.1.x clients continue to work without modification.

Install

```bash
pip install --upgrade slm-mcp-hub # Python
npm install -g slm-mcp-hub # Node bin wrapper
```

654 tests pass. AI Reliability Engineering, shipping.