Releases: doricstack/mcp-broker
Release list
mcp-broker v2.0.0
Changelog
All notable public changes will be recorded here.
2.0.0 - 2026-06-27
- BREAKING: the project moved from the personal
NavinAgrawal/navinagrawal
identity to the Doric Stack LLC orgdoricstack. Install coordinates change:
npm@navinagrawal/mcp-brokerbecomes@doricstack/mcp-broker, the container
image namespace becomesdoricstack/ghcr.io/doricstack, the Homebrew tap
becomesdoricstack/tap(brew install doricstack/tap/mcp-broker), and the MCP
Registry name becomesio.github.doricstack/mcp-broker. The PyPI project name
mcp-brokeris unchanged. The old@navinagrawalpackage is deprecated and
points here. The GitHub repo redirects from the old path automatically. - BREAKING:
broker_search_toolsno longer returns each tool'sinputSchemain
search results.
Search exists to pick a tool, which only needs the name, description, upstream,
purpose, tags, and mutating flag; the exact schema is the single heaviest field
and is still returned on demand bybroker_describe_toolright before a call.
In a local measurement a 50-result search dropped from roughly 68,000 to 2,500
bytes (about 96 percent smaller) with no loss of discovery signal, since
relevance scoring already ran on the full entry before the result was built. broker_call_toolaccepts an optionalprojectionargument
({"paths": ["data.items.id"], "max_array_items": 5}) that trims the upstream
response server-side before it reaches the client. Dotted paths keep only the
fields you name (a path that reaches a list is applied to every element) and
max_array_itemscaps long arrays. Omittingprojectionreturns the full,
unmodified response, so existing callers are unaffected. A verbose 50-item
response dropped from roughly 19,800 to 200 bytes (about 99 percent smaller) in
local measurement. Both changes reduce context tokens and end-to-end latency.
1.4.1 - 2026-06-10
- Rank
broker_search_toolsresults by relevance instead of requiring every
query token to match. Natural-language queries such as
fly app status logs ssh postgres deploynow return the best-matching
upstreams ordered by score, weighting name and tag matches over purpose and
description matches, rather than returning an empty list when no single tool
contains all tokens.
1.4.0 - 2026-06-10
- Add an idle-upstream janitor that periodically reaps stdio upstreams left idle
past their configured timeout, guarded by a registry lock and an identity
check so an upstream reused between sweeps is not evicted mid-use. - Harden open-file-descriptor limits across the macOS LaunchAgent, the Linux
systemd user service, and the Docker entrypoint, driven by
BROKER_MAX_OPEN_FILES(default 8192), to prevent file-descriptor exhaustion
under many concurrent client sessions. - Add structural upstream-client Protocols so the daemon's stdio and HTTP
upstream registries are statically typed. - Record source provenance (git SHA and source path) in the
daemon.started
structured log event.
1.3.1 - 2026-06-07
- Synchronize release metadata through the Makefile release path.
1.3.0 - 2026-06-06
- Add the production
mcp-brokerbrand asset kit, README header, and branding
rules contract for public repo surfaces. - Add client cwd based profile routing so a broker request can route to the
profile that owns the active project root. - Add runtime secrets sync before broker startup so LaunchAgent-owned daemons
can read configured secret files without inheriting shell environment. - Filter selected broker catalog listing by upstream metadata and tool prefix
so targeted broker searches avoid listing irrelevant slow upstreams.
1.2.0 - 2026-05-29
- Add per-tool upstream call timeouts so long-running brokered tools can get
more time without loosening the default timeout for every tool on an upstream.
1.1.3 - 2026-05-28
- Synchronize release metadata through the Makefile release path.
1.1.2 - 2026-05-28
- Add source-backed broker facade tool descriptions and schemas for Glama,
Smithery, Claude Desktop MCPB, and other directory scanners. - Add
make releaseas the CI release transaction so release publication runs
one version-aware target before publishing all registry surfaces. - Add
make release-check RELEASE_VERSION=<semver>as the local pre-push
release gate for version alignment, package checks, directory metadata, MCPB,
and Smithery payload validation.
1.1.1 - 2026-05-27
- Fix MCPB and Claude Desktop stdio startup when the broker daemon is already
running. - Add a Smithery MCPB release adapter that preserves the valid Claude Desktop
manifest while publishing Smithery server-card tool schemas. - Add a configurable MCPB
UVX command pathfor GUI environments that cannot
finduvxfrom shell PATH.
1.1.0 - 2026-05-26
- Add the one-shot
make publish-everywhereCI release path for PyPI, NPM,
Docker Hub, GHCR, and MCP Registry publication. - Add the scoped NPM bridge package at
${NPM_PACKAGE_NAME}. - Add Docker Hub primary and GHCR mirror publication contracts for the Docker
image release path.
1.0.0 - 2026-05-26
- Promote the public release line from pre-1.0 packages to the first stable
release. - Align package, registry, MCPB, server-card, Homebrew, and public release
documentation on1.0.0. - Keep
0.1.xentries as pre-1.0 public history instead of deleting published
artifacts.
0.1.2 - 2026-05-26
- Harden mutation-gate coverage for configuration, profile validation, project
MCP import, daemon helpers, upstream lifecycle, and runtime cleanup paths. - Remove mutation skip comments and require zero survived, untested, skipped,
suspicious, timeout, interrupted, segfault, or unchecked mutants for release. - Keep public export and maintainer release gates green with 100% coverage and
100% mutation score.
0.1.1 - 2026-05-25
- Correct MCP Registry namespace casing in package README, registry metadata,
and server card so GitHub OIDC ownership validation matches PyPI metadata.
0.1.0 - 2026-05-25
- Local MCP broker daemon with a compact MCP facade.
- Stdio client shim for Codex and Claude Code.
- Strict YAML config contract with JSON Schema validation.
- Profile-scoped upstream exposure and mutating-tool allowlists.
- Shared and per-session upstream process management.
- Runtime state under the user's broker runtime root, outside the repo.
- macOS LaunchAgent, Linux systemd user service, and Windows Scheduled Task
install flows with dry-run defaults. - Public smoke, quality, release, and export gates.
- Context reduction evidence in
docs/context-reduction-measurement.md.
mcp-broker v1.4.1
Changelog
All notable public changes will be recorded here.
1.4.1 - 2026-06-10
- Synchronize release metadata through the Makefile release path.
1.4.0 - 2026-06-10
- Synchronize release metadata through the Makefile release path.
1.3.1 - 2026-06-07
- Synchronize release metadata through the Makefile release path.
1.3.0 - 2026-06-06
- Add the production
mcp-brokerbrand asset kit, README header, and branding
rules contract for public repo surfaces. - Add client cwd based profile routing so a broker request can route to the
profile that owns the active project root. - Add runtime secrets sync before broker startup so LaunchAgent-owned daemons
can read configured secret files without inheriting shell environment. - Filter selected broker catalog listing by upstream metadata and tool prefix
so targeted broker searches avoid listing irrelevant slow upstreams.
1.2.0 - 2026-05-29
- Add per-tool upstream call timeouts so long-running brokered tools can get
more time without loosening the default timeout for every tool on an upstream.
1.1.3 - 2026-05-28
- Synchronize release metadata through the Makefile release path.
1.1.2 - 2026-05-28
- Add source-backed broker facade tool descriptions and schemas for Glama,
Smithery, Claude Desktop MCPB, and other directory scanners. - Add
make releaseas the CI release transaction so release publication runs
one version-aware target before publishing all registry surfaces. - Add
make release-check RELEASE_VERSION=<semver>as the local pre-push
release gate for version alignment, package checks, directory metadata, MCPB,
and Smithery payload validation.
1.1.1 - 2026-05-27
- Fix MCPB and Claude Desktop stdio startup when the broker daemon is already
running. - Add a Smithery MCPB release adapter that preserves the valid Claude Desktop
manifest while publishing Smithery server-card tool schemas. - Add a configurable MCPB
UVX command pathfor GUI environments that cannot
finduvxfrom shell PATH.
1.1.0 - 2026-05-26
- Add the one-shot
make publish-everywhereCI release path for PyPI, NPM,
Docker Hub, GHCR, and MCP Registry publication. - Add the scoped NPM bridge package at
${NPM_PACKAGE_NAME}. - Add Docker Hub primary and GHCR mirror publication contracts for the Docker
image release path.
1.0.0 - 2026-05-26
- Promote the public release line from pre-1.0 packages to the first stable
release. - Align package, registry, MCPB, server-card, Homebrew, and public release
documentation on1.0.0. - Keep
0.1.xentries as pre-1.0 public history instead of deleting published
artifacts.
0.1.2 - 2026-05-26
- Harden mutation-gate coverage for configuration, profile validation, project
MCP import, daemon helpers, upstream lifecycle, and runtime cleanup paths. - Remove mutation skip comments and require zero survived, untested, skipped,
suspicious, timeout, interrupted, segfault, or unchecked mutants for release. - Keep public export and maintainer release gates green with 100% coverage and
100% mutation score.
0.1.1 - 2026-05-25
- Correct MCP Registry namespace casing in package README, registry metadata,
and server card so GitHub OIDC ownership validation matches PyPI metadata.
0.1.0 - 2026-05-25
- Local MCP broker daemon with a compact MCP facade.
- Stdio client shim for Codex and Claude Code.
- Strict YAML config contract with JSON Schema validation.
- Profile-scoped upstream exposure and mutating-tool allowlists.
- Shared and per-session upstream process management.
- Runtime state under the user's broker runtime root, outside the repo.
- macOS LaunchAgent, Linux systemd user service, and Windows Scheduled Task
install flows with dry-run defaults. - Public smoke, quality, release, and export gates.
- Context reduction evidence in
docs/context-reduction-measurement.md.
mcp-broker v1.4.0
Changelog
All notable public changes will be recorded here.
1.4.0 - 2026-06-10
- Synchronize release metadata through the Makefile release path.
1.3.1 - 2026-06-07
- Synchronize release metadata through the Makefile release path.
1.3.0 - 2026-06-06
- Add the production
mcp-brokerbrand asset kit, README header, and branding
rules contract for public repo surfaces. - Add client cwd based profile routing so a broker request can route to the
profile that owns the active project root. - Add runtime secrets sync before broker startup so LaunchAgent-owned daemons
can read configured secret files without inheriting shell environment. - Filter selected broker catalog listing by upstream metadata and tool prefix
so targeted broker searches avoid listing irrelevant slow upstreams.
1.2.0 - 2026-05-29
- Add per-tool upstream call timeouts so long-running brokered tools can get
more time without loosening the default timeout for every tool on an upstream.
1.1.3 - 2026-05-28
- Synchronize release metadata through the Makefile release path.
1.1.2 - 2026-05-28
- Add source-backed broker facade tool descriptions and schemas for Glama,
Smithery, Claude Desktop MCPB, and other directory scanners. - Add
make releaseas the CI release transaction so release publication runs
one version-aware target before publishing all registry surfaces. - Add
make release-check RELEASE_VERSION=<semver>as the local pre-push
release gate for version alignment, package checks, directory metadata, MCPB,
and Smithery payload validation.
1.1.1 - 2026-05-27
- Fix MCPB and Claude Desktop stdio startup when the broker daemon is already
running. - Add a Smithery MCPB release adapter that preserves the valid Claude Desktop
manifest while publishing Smithery server-card tool schemas. - Add a configurable MCPB
UVX command pathfor GUI environments that cannot
finduvxfrom shell PATH.
1.1.0 - 2026-05-26
- Add the one-shot
make publish-everywhereCI release path for PyPI, NPM,
Docker Hub, GHCR, and MCP Registry publication. - Add the scoped NPM bridge package at
${NPM_PACKAGE_NAME}. - Add Docker Hub primary and GHCR mirror publication contracts for the Docker
image release path.
1.0.0 - 2026-05-26
- Promote the public release line from pre-1.0 packages to the first stable
release. - Align package, registry, MCPB, server-card, Homebrew, and public release
documentation on1.0.0. - Keep
0.1.xentries as pre-1.0 public history instead of deleting published
artifacts.
0.1.2 - 2026-05-26
- Harden mutation-gate coverage for configuration, profile validation, project
MCP import, daemon helpers, upstream lifecycle, and runtime cleanup paths. - Remove mutation skip comments and require zero survived, untested, skipped,
suspicious, timeout, interrupted, segfault, or unchecked mutants for release. - Keep public export and maintainer release gates green with 100% coverage and
100% mutation score.
0.1.1 - 2026-05-25
- Correct MCP Registry namespace casing in package README, registry metadata,
and server card so GitHub OIDC ownership validation matches PyPI metadata.
0.1.0 - 2026-05-25
- Local MCP broker daemon with a compact MCP facade.
- Stdio client shim for Codex and Claude Code.
- Strict YAML config contract with JSON Schema validation.
- Profile-scoped upstream exposure and mutating-tool allowlists.
- Shared and per-session upstream process management.
- Runtime state under the user's broker runtime root, outside the repo.
- macOS LaunchAgent, Linux systemd user service, and Windows Scheduled Task
install flows with dry-run defaults. - Public smoke, quality, release, and export gates.
- Context reduction evidence in
docs/context-reduction-measurement.md.
mcp-broker v1.3.1
Changelog
All notable public changes will be recorded here.
1.3.1 - 2026-06-07
- Synchronize release metadata through the Makefile release path.
1.3.0 - 2026-06-06
- Add the production
mcp-brokerbrand asset kit, README header, and branding
rules contract for public repo surfaces. - Add client cwd based profile routing so a broker request can route to the
profile that owns the active project root. - Add runtime secrets sync before broker startup so LaunchAgent-owned daemons
can read configured secret files without inheriting shell environment. - Filter selected broker catalog listing by upstream metadata and tool prefix
so targeted broker searches avoid listing irrelevant slow upstreams.
1.2.0 - 2026-05-29
- Add per-tool upstream call timeouts so long-running brokered tools can get
more time without loosening the default timeout for every tool on an upstream.
1.1.3 - 2026-05-28
- Synchronize release metadata through the Makefile release path.
1.1.2 - 2026-05-28
- Add source-backed broker facade tool descriptions and schemas for Glama,
Smithery, Claude Desktop MCPB, and other directory scanners. - Add
make releaseas the CI release transaction so release publication runs
one version-aware target before publishing all registry surfaces. - Add
make release-check RELEASE_VERSION=<semver>as the local pre-push
release gate for version alignment, package checks, directory metadata, MCPB,
and Smithery payload validation.
1.1.1 - 2026-05-27
- Fix MCPB and Claude Desktop stdio startup when the broker daemon is already
running. - Add a Smithery MCPB release adapter that preserves the valid Claude Desktop
manifest while publishing Smithery server-card tool schemas. - Add a configurable MCPB
UVX command pathfor GUI environments that cannot
finduvxfrom shell PATH.
1.1.0 - 2026-05-26
- Add the one-shot
make publish-everywhereCI release path for PyPI, NPM,
Docker Hub, GHCR, and MCP Registry publication. - Add the scoped NPM bridge package at
${NPM_PACKAGE_NAME}. - Add Docker Hub primary and GHCR mirror publication contracts for the Docker
image release path.
1.0.0 - 2026-05-26
- Promote the public release line from pre-1.0 packages to the first stable
release. - Align package, registry, MCPB, server-card, Homebrew, and public release
documentation on1.0.0. - Keep
0.1.xentries as pre-1.0 public history instead of deleting published
artifacts.
0.1.2 - 2026-05-26
- Harden mutation-gate coverage for configuration, profile validation, project
MCP import, daemon helpers, upstream lifecycle, and runtime cleanup paths. - Remove mutation skip comments and require zero survived, untested, skipped,
suspicious, timeout, interrupted, segfault, or unchecked mutants for release. - Keep public export and maintainer release gates green with 100% coverage and
100% mutation score.
0.1.1 - 2026-05-25
- Correct MCP Registry namespace casing in package README, registry metadata,
and server card so GitHub OIDC ownership validation matches PyPI metadata.
0.1.0 - 2026-05-25
- Local MCP broker daemon with a compact MCP facade.
- Stdio client shim for Codex and Claude Code.
- Strict YAML config contract with JSON Schema validation.
- Profile-scoped upstream exposure and mutating-tool allowlists.
- Shared and per-session upstream process management.
- Runtime state under the user's broker runtime root, outside the repo.
- macOS LaunchAgent, Linux systemd user service, and Windows Scheduled Task
install flows with dry-run defaults. - Public smoke, quality, release, and export gates.
- Context reduction evidence in
docs/context-reduction-measurement.md.
mcp-broker v1.2.0
mcp-broker 1.2.0 adds per-tool upstream call timeouts, allowing long-running brokered tools such as draft creation to get more time without loosening the default timeout for every tool on an upstream.
This release also keeps Claude, Codex, and Gemini on the compact broker facade so upstreams such as NotebookLM remain behind mcp-broker instead of being exposed as separate client entries.
mcp-broker 1.1.3
Release 1.1.3 synchronizes public release metadata through the Makefile release path and republishes all distribution surfaces through the publish-everywhere release transaction.
mcp-broker 1.1.2
- Add source-backed broker facade tool descriptions and schemas for Glama, Smithery, Claude Desktop MCPB, and directory scanners.
- Add make release as the CI release transaction for all registry surfaces.
- Add make release-check RELEASE_VERSION= as the local pre-push release gate.
mcp-broker 1.1.0
Release 1.1.0 adds the one-shot publish-everywhere CI path for PyPI, NPM, Docker Hub, GHCR, and MCP Registry, plus the scoped NPM bridge package and Docker catalog metadata.
mcp-broker 1.0.0
mcp-broker 1.0.0 is the first stable public release.
Highlights:
- one compact MCP facade for many upstream MCP servers
- profile gates for MCP client profiles, including Codex, Claude, Gemini, and manual test flows
- YAML config with JSON Schema validation
- shared and per-session upstream process modes
- macOS LaunchAgent, Linux systemd user service, and Windows Scheduled Task install flows
- public export gate for clean-history release from a private working repo
- Linux release-gate parity for the PyPI workflow path
- measured context reduction: 609 to 43 advertised tool definitions and 276,989 to 45,281 serialized
o200k_basetool tokens
Docs:
- README.md
- docs/install.md
- docs/context-reduction-measurement.md
- docs/safety.md
- docs/distribution.md
mcp-broker v0.1.2
mcp-broker v0.1.2 hardens the release and mutation gates after the first public distribution pass.\n\nHighlights:\n- Adds a 100% Linux mutation release gate with 8324 killed mutants and zero survived, no_tests, or timeout mutants.\n- Removes mutation skip comments and keeps the pragma guard limited to the test that rejects source coverage skips.\n- Fixes Linux release workflow facade smoke shutdown by routing broker control methods before generic MCP JSON-RPC dispatch.\n- Fixes facade smoke JSON report parsing when GNU make writes directory messages after command output.\n- Keeps the public package version on the 0.1.x line. This is 0.1.2, not 1.0.1.\n\nValidated before release:\n- make maintainer-release-gate: 1185 private coverage tests, 100% coverage, package check, release smoke, public release dry run, and Linux mutation.\n- Public CI on d25c515: passed.\n- Public quality-gate: 1142 passed, 2 skipped, 100% coverage.