diff --git a/.github/workflows/helm-release.yml b/.github/workflows/helm-release.yml
index 351ed316f..ec480e107 100644
--- a/.github/workflows/helm-release.yml
+++ b/.github/workflows/helm-release.yml
@@ -7,9 +7,9 @@ on:
workflow_dispatch:
inputs:
version:
- description: "Version tag (e.g., v3.5.1)"
+ description: "Version tag (e.g., v3.5.2)"
required: true
- default: "v3.5.1"
+ default: "v3.5.2"
jobs:
release:
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 50b9f68e6..1b7562555 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -8,9 +8,9 @@ on:
workflow_dispatch:
inputs:
version:
- description: "Version (e.g., v3.5.1)"
+ description: "Version (e.g., v3.5.2)"
required: true
- default: "v3.5.1"
+ default: "v3.5.2"
environment:
description: "Environment"
type: choice
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index 1cc903298..adda3aa8c 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -1,6 +1,42 @@
# MCP Mesh Release Notes
-[Unreleased changes](https://github.com/dhyansraj/mcp-mesh/compare/v3.5.1...HEAD)
+[Unreleased changes](https://github.com/dhyansraj/mcp-mesh/compare/v3.5.2...HEAD)
+
+[Full Changelog](https://github.com/dhyansraj/mcp-mesh/compare/v3.5.1...v3.5.2)
+
+## v3.5.2 (2026-08-06)
+
+A provider can now withdraw itself from dependency resolution while a health check it declares reports unhealthy, and returns automatically once the check passes again — in all three runtimes, with no pod restart. v3.5.1's notes said Java and TypeScript readiness could not yet reflect a dependency outage; this closes that. It also fixes a live defect in 3.5.1: Python `@mesh.route` and A2A agents serve none of the probe endpoints the agent chart points at, so a Python gateway is restart-looped by the kubelet. No wire-protocol, registry-schema or dependency-resolution changes, and the only declaration-syntax change is the additive, opt-in health check itself.
+
+> **⚠️ Python `@mesh.route` and A2A agents need the 3.5.2 image.** On chart 3.5.1 every probe 404s and Kubernetes restarts a healthy gateway. TypeScript `/health` and `/ready` also change shape. Both in Notes.
+
+### 🩺 Health checks
+
+- **A provider withdraws itself while its own health check fails, in all three runtimes.** Declare `health_check` (Python, #1473), `@MeshHealthCheck` (Java, #1475) or `healthCheck` (TypeScript, #1481): while it reports unhealthy the agent stops heartbeating, the registry ages it out and consumers resolve to another provider. The process keeps running throughout and comes back on its own when the check passes again.
+- **A check that throws, or that cannot reach a conclusion, is `degraded` and keeps heartbeating**, so a broken probe cannot take a working agent out of the mesh. Python's malformed-return case mapped to unhealthy and was aligned with the other two (#1477).
+- **A health check never withdraws a `mesh.route` or A2A agent.** They are fan-out points, and withdrawing one takes down every path that enters through it, so the verdict never reaches the heartbeat there whatever the check reports — nor, since #1489, a Java gateway's `/ready`.
+
+### 🐍 Python probes and cadence
+
+- **⚠️ Route and A2A agents now serve `/livez`, `/ready` and `/health` (#1494).** They served **none** of them, so a Python gateway deployed with the agent chart — which has probed `/livez` and `/ready` since 3.5.1 — 404s every probe and gets restart-looped by the kubelet. This is a live bug in 3.5.1 rather than something 3.5.2 introduces, and hand-rolling a `/health`, as the examples do, does not satisfy the two probes the chart actually uses. A path the app already declares wins; the others are still registered.
+- **`MCP_MESH_HEALTH_CHECK_TTL` is honoured on Python (#1493).** TypeScript and Java already read it; Python took the cadence only from the `health_check_ttl` decorator argument, which is baked into the image. It is now tunable at deploy time from Helm values — which matters in the release that makes the TTL govern how fast a provider withdraws and how fast it returns.
+
+### 📘 TypeScript probes
+
+- **⚠️ `/ready` and `/health` reflect the health verdict instead of FastMCP's built-ins (#1487).** `/ready` answered a hardcoded 200 and `/health` a fixed string, so a TypeScript provider whose vendor was down kept receiving direct Service traffic after mesh consumers had already failed over. Both changes are breaking for anything that parses them — see Notes.
+
+### 🛠 Scaffold
+
+- **Vendor probes are selected by the resolved vendor rather than a substring match on the model string (#1484).** A gateway-prefixed model such as `bedrock/anthropic.claude-*` or `vertex_ai/gemini-*` matched the underlying vendor's name and got a probe for credentials it does not have — which, now that the check is load-bearing, withdrew a fully working provider. Those models get the generic skeleton instead; discovery tags still follow the model family.
+- **Generated helm values wire only credentials the agent can use (#1487, #1496).** An `llm-provider` gets the selected vendor's API key and, for a gateway model, none at all. `api`, `basic` and `llm-agent` get none either: an `llm-agent` resolves a provider through mesh DI, and the provider holds the credentials.
+- **Generated compose healthchecks probe `/livez`, not `/health` (#1495).** `/health` answers 503 while a declared check reports degraded or unhealthy, so a vendor outage blocked every dependent gated on `depends_on: condition: service_healthy` and made `docker compose ps` report a serving agent as unhealthy.
+
+### ⚠️ Notes
+
+- **⚠️ Upgrade Python route and A2A agents to the 3.5.2 image.** Chart 3.5.1 points startup and liveness at `/livez` and readiness at `/ready`, and no Python gateway has ever served either, so the kubelet restarts it on the startup probe. The image is the whole fix — no chart or code change is needed — and MCP agents, which have served all three endpoints for far longer, are unaffected.
+- **⚠️ TypeScript `/health` is now JSON.** It previously returned the literal `text/plain` string `✓ Ok`. Anything string-matching that response breaks; a check on the HTTP status still works.
+- **⚠️ TypeScript `/ready` and `/health` now answer 503** when a declared `healthCheck` reports `unhealthy` **or** `degraded`, so a failing agent leaves its Kubernetes Service endpoints. This matches Python and Java. **Agents with no `healthCheck` are unaffected.**
+- **Regenerating a scaffold changes two of its generated files.** Helm values no longer wire vendor API keys the agent cannot use — every arm removed was `optional: true`, so there is no runtime effect — and compose healthchecks move from `/health` to `/livez`. Files you have already generated are untouched until you regenerate them.
[Full Changelog](https://github.com/dhyansraj/mcp-mesh/compare/v3.5.0...v3.5.1)
diff --git a/cmd/meshctl/templates/java/a2a-consumer/Dockerfile.tmpl b/cmd/meshctl/templates/java/a2a-consumer/Dockerfile.tmpl
index 4c87bff51..2dc75963f 100644
--- a/cmd/meshctl/templates/java/a2a-consumer/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/java/a2a-consumer/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} A2A consumer bridge (Java/Spring Boot)
-FROM mcpmesh/java-runtime:3.5.1
+FROM mcpmesh/java-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/java/a2a-consumer/pom.xml.tmpl b/cmd/meshctl/templates/java/a2a-consumer/pom.xml.tmpl
index 183cae055..6ca2449e0 100644
--- a/cmd/meshctl/templates/java/a2a-consumer/pom.xml.tmpl
+++ b/cmd/meshctl/templates/java/a2a-consumer/pom.xml.tmpl
@@ -26,7 +26,7 @@
17
- 3.5.1
+ 3.5.2
diff --git a/cmd/meshctl/templates/java/api/Dockerfile.tmpl b/cmd/meshctl/templates/java/api/Dockerfile.tmpl
index 448951762..ba709d991 100644
--- a/cmd/meshctl/templates/java/api/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/java/api/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} MCP Mesh API gateway (Java/Spring Boot)
-FROM mcpmesh/java-runtime:3.5.1
+FROM mcpmesh/java-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/java/api/pom.xml.tmpl b/cmd/meshctl/templates/java/api/pom.xml.tmpl
index 1d6b631a0..110adab99 100644
--- a/cmd/meshctl/templates/java/api/pom.xml.tmpl
+++ b/cmd/meshctl/templates/java/api/pom.xml.tmpl
@@ -21,7 +21,7 @@
17
- 3.5.1
+ 3.5.2
diff --git a/cmd/meshctl/templates/java/basic/Dockerfile.tmpl b/cmd/meshctl/templates/java/basic/Dockerfile.tmpl
index a17d80fb1..3514ef06a 100644
--- a/cmd/meshctl/templates/java/basic/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/java/basic/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} MCP Mesh agent (Java/Spring Boot)
-FROM mcpmesh/java-runtime:3.5.1
+FROM mcpmesh/java-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/java/basic/pom.xml.tmpl b/cmd/meshctl/templates/java/basic/pom.xml.tmpl
index 4ba87c527..5c5f434d5 100644
--- a/cmd/meshctl/templates/java/basic/pom.xml.tmpl
+++ b/cmd/meshctl/templates/java/basic/pom.xml.tmpl
@@ -21,7 +21,7 @@
17
- 3.5.1
+ 3.5.2
diff --git a/cmd/meshctl/templates/java/llm-agent/Dockerfile.tmpl b/cmd/meshctl/templates/java/llm-agent/Dockerfile.tmpl
index efd022ba1..e3c4e6f30 100644
--- a/cmd/meshctl/templates/java/llm-agent/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/java/llm-agent/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} MCP Mesh LLM agent (Java/Spring Boot)
-FROM mcpmesh/java-runtime:3.5.1
+FROM mcpmesh/java-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/java/llm-agent/pom.xml.tmpl b/cmd/meshctl/templates/java/llm-agent/pom.xml.tmpl
index 608b2c0ae..180a68582 100644
--- a/cmd/meshctl/templates/java/llm-agent/pom.xml.tmpl
+++ b/cmd/meshctl/templates/java/llm-agent/pom.xml.tmpl
@@ -21,7 +21,7 @@
17
- 3.5.1
+ 3.5.2
diff --git a/cmd/meshctl/templates/java/llm-provider/Dockerfile.tmpl b/cmd/meshctl/templates/java/llm-provider/Dockerfile.tmpl
index a17d80fb1..3514ef06a 100644
--- a/cmd/meshctl/templates/java/llm-provider/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/java/llm-provider/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} MCP Mesh agent (Java/Spring Boot)
-FROM mcpmesh/java-runtime:3.5.1
+FROM mcpmesh/java-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/java/llm-provider/pom.xml.tmpl b/cmd/meshctl/templates/java/llm-provider/pom.xml.tmpl
index 6e3048aff..50affb022 100644
--- a/cmd/meshctl/templates/java/llm-provider/pom.xml.tmpl
+++ b/cmd/meshctl/templates/java/llm-provider/pom.xml.tmpl
@@ -21,7 +21,7 @@
17
- 3.5.1
+ 3.5.2
diff --git a/cmd/meshctl/templates/python/a2a-consumer/Dockerfile.tmpl b/cmd/meshctl/templates/python/a2a-consumer/Dockerfile.tmpl
index 24c8fc140..e12554030 100644
--- a/cmd/meshctl/templates/python/a2a-consumer/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/python/a2a-consumer/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} A2A consumer bridge
-FROM mcpmesh/python-runtime:3.5.1
+FROM mcpmesh/python-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/python/api/Dockerfile.tmpl b/cmd/meshctl/templates/python/api/Dockerfile.tmpl
index 5fcea1d63..d0f232c5b 100644
--- a/cmd/meshctl/templates/python/api/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/python/api/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} MCP Mesh API gateway
-FROM mcpmesh/python-runtime:3.5.1
+FROM mcpmesh/python-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/python/basic/Dockerfile.tmpl b/cmd/meshctl/templates/python/basic/Dockerfile.tmpl
index 841fcc7d2..6b639d8a8 100644
--- a/cmd/meshctl/templates/python/basic/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/python/basic/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} MCP Mesh agent
-FROM mcpmesh/python-runtime:3.5.1
+FROM mcpmesh/python-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/python/llm-agent/Dockerfile.tmpl b/cmd/meshctl/templates/python/llm-agent/Dockerfile.tmpl
index a0ff86bcf..6899c81ad 100644
--- a/cmd/meshctl/templates/python/llm-agent/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/python/llm-agent/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} MCP Mesh LLM agent
-FROM mcpmesh/python-runtime:3.5.1
+FROM mcpmesh/python-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/python/llm-provider/Dockerfile.tmpl b/cmd/meshctl/templates/python/llm-provider/Dockerfile.tmpl
index a10874aef..3aea48214 100644
--- a/cmd/meshctl/templates/python/llm-provider/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/python/llm-provider/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} MCP Mesh LLM provider
-FROM mcpmesh/python-runtime:3.5.1
+FROM mcpmesh/python-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/python/llm-provider/requirements.txt.tmpl b/cmd/meshctl/templates/python/llm-provider/requirements.txt.tmpl
index e8dc3963a..19cb3883c 100644
--- a/cmd/meshctl/templates/python/llm-provider/requirements.txt.tmpl
+++ b/cmd/meshctl/templates/python/llm-provider/requirements.txt.tmpl
@@ -9,5 +9,5 @@
# is NOT part of the base install or the python-runtime base image. Without
# this line the agent starts and registers normally, then fails on its first
# LLM call.
-mcp-mesh[litellm]==3.5.1
+mcp-mesh[litellm]==3.5.2
{{- end }}
diff --git a/cmd/meshctl/templates/typescript/a2a-consumer/Dockerfile.tmpl b/cmd/meshctl/templates/typescript/a2a-consumer/Dockerfile.tmpl
index 0f321846d..00657a206 100644
--- a/cmd/meshctl/templates/typescript/a2a-consumer/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/typescript/a2a-consumer/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} A2A consumer bridge
-FROM mcpmesh/typescript-runtime:3.5.1
+FROM mcpmesh/typescript-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/typescript/a2a-consumer/package.json.tmpl b/cmd/meshctl/templates/typescript/a2a-consumer/package.json.tmpl
index eec823207..1111a3171 100644
--- a/cmd/meshctl/templates/typescript/a2a-consumer/package.json.tmpl
+++ b/cmd/meshctl/templates/typescript/a2a-consumer/package.json.tmpl
@@ -13,7 +13,7 @@
"dev": "tsx watch src/index.ts"
},
"dependencies": {
- "@mcpmesh/sdk": "^3.5.1",
+ "@mcpmesh/sdk": "^3.5.2",
"fastmcp": "^3.34.0",
"zod": "^3.24.0"
},
diff --git a/cmd/meshctl/templates/typescript/api/Dockerfile.tmpl b/cmd/meshctl/templates/typescript/api/Dockerfile.tmpl
index 142eb74ae..d240e557f 100644
--- a/cmd/meshctl/templates/typescript/api/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/typescript/api/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} MCP Mesh API gateway
-FROM mcpmesh/typescript-runtime:3.5.1
+FROM mcpmesh/typescript-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/typescript/api/package.json.tmpl b/cmd/meshctl/templates/typescript/api/package.json.tmpl
index 5fc6ca6d9..bc497a19f 100644
--- a/cmd/meshctl/templates/typescript/api/package.json.tmpl
+++ b/cmd/meshctl/templates/typescript/api/package.json.tmpl
@@ -12,7 +12,7 @@
"dev": "tsx watch src/index.ts"
},
"dependencies": {
- "@mcpmesh/sdk": "^3.5.1",
+ "@mcpmesh/sdk": "^3.5.2",
"express": "^4.21.2"
},
"devDependencies": {
diff --git a/cmd/meshctl/templates/typescript/basic/Dockerfile.tmpl b/cmd/meshctl/templates/typescript/basic/Dockerfile.tmpl
index cff018988..ac5018872 100644
--- a/cmd/meshctl/templates/typescript/basic/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/typescript/basic/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} MCP Mesh agent
-FROM mcpmesh/typescript-runtime:3.5.1
+FROM mcpmesh/typescript-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/typescript/basic/package.json.tmpl b/cmd/meshctl/templates/typescript/basic/package.json.tmpl
index 1ceb06195..9f72315c9 100644
--- a/cmd/meshctl/templates/typescript/basic/package.json.tmpl
+++ b/cmd/meshctl/templates/typescript/basic/package.json.tmpl
@@ -12,7 +12,7 @@
"dev": "tsx watch src/index.ts"
},
"dependencies": {
- "@mcpmesh/sdk": "^3.5.1"
+ "@mcpmesh/sdk": "^3.5.2"
},
"devDependencies": {
"@types/node": "^22.18.0",
diff --git a/cmd/meshctl/templates/typescript/llm-agent/Dockerfile.tmpl b/cmd/meshctl/templates/typescript/llm-agent/Dockerfile.tmpl
index 1a6e661b9..a52ac9e17 100644
--- a/cmd/meshctl/templates/typescript/llm-agent/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/typescript/llm-agent/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} MCP Mesh LLM agent
-FROM mcpmesh/typescript-runtime:3.5.1
+FROM mcpmesh/typescript-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/typescript/llm-agent/package.json.tmpl b/cmd/meshctl/templates/typescript/llm-agent/package.json.tmpl
index 488c2f2a6..0fc56019c 100644
--- a/cmd/meshctl/templates/typescript/llm-agent/package.json.tmpl
+++ b/cmd/meshctl/templates/typescript/llm-agent/package.json.tmpl
@@ -12,7 +12,7 @@
"dev": "tsx watch src/index.ts"
},
"dependencies": {
- "@mcpmesh/sdk": "^3.5.1"
+ "@mcpmesh/sdk": "^3.5.2"
},
"devDependencies": {
"@types/node": "^22.18.0",
diff --git a/cmd/meshctl/templates/typescript/llm-provider/Dockerfile.tmpl b/cmd/meshctl/templates/typescript/llm-provider/Dockerfile.tmpl
index 4654095a7..e41928736 100644
--- a/cmd/meshctl/templates/typescript/llm-provider/Dockerfile.tmpl
+++ b/cmd/meshctl/templates/typescript/llm-provider/Dockerfile.tmpl
@@ -1,5 +1,5 @@
# Dockerfile for {{ .Name }} MCP Mesh LLM provider
-FROM mcpmesh/typescript-runtime:3.5.1
+FROM mcpmesh/typescript-runtime:3.5.2
WORKDIR /app
diff --git a/cmd/meshctl/templates/typescript/llm-provider/package.json.tmpl b/cmd/meshctl/templates/typescript/llm-provider/package.json.tmpl
index d35183da8..5e8563fea 100644
--- a/cmd/meshctl/templates/typescript/llm-provider/package.json.tmpl
+++ b/cmd/meshctl/templates/typescript/llm-provider/package.json.tmpl
@@ -12,7 +12,7 @@
"dev": "tsx watch src/index.ts"
},
"dependencies": {
- "@mcpmesh/sdk": "^3.5.1"
+ "@mcpmesh/sdk": "^3.5.2"
},
"devDependencies": {
"@types/node": "^22.18.0",
diff --git a/docs/00-why-mcp-mesh/index.md b/docs/00-why-mcp-mesh/index.md
index c993390fc..224994939 100644
--- a/docs/00-why-mcp-mesh/index.md
+++ b/docs/00-why-mcp-mesh/index.md
@@ -121,7 +121,7 @@ meshctl scaffold --compose --observability
# Or deploy to Kubernetes (OCI registry)
helm install my-mesh oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-core \
- --version 3.5.1 -n mcp-mesh --create-namespace
+ --version 3.5.2 -n mcp-mesh --create-namespace
```
### 5. Built-in Observability
diff --git a/docs/02-local-development.md b/docs/02-local-development.md
index 44e613d26..227b6efe5 100644
--- a/docs/02-local-development.md
+++ b/docs/02-local-development.md
@@ -97,7 +97,7 @@ graph LR
io.mcp-mesh
mcp-mesh-spring-boot-starter
- 3.5.1
+ 3.5.2
```
diff --git a/docs/03-docker-deployment.md b/docs/03-docker-deployment.md
index b4104db0f..bbb92c182 100644
--- a/docs/03-docker-deployment.md
+++ b/docs/03-docker-deployment.md
@@ -24,10 +24,10 @@ MCP Mesh publishes official images to Docker Hub:
| Image | Purpose |
| -------------------------------- | ------------------------------------------------ |
-| `mcpmesh/registry:3.5.1` | Go-based registry service |
-| `mcpmesh/python-runtime:3.5.1` | Python agent runtime (includes mcp-mesh SDK) |
-| `mcpmesh/java-runtime:3.5.1` | Java agent runtime (includes mcp-mesh SDK) |
-| `mcpmesh/typescript-runtime:3.5.1` | TypeScript agent runtime (includes @mcpmesh/sdk) |
+| `mcpmesh/registry:3.5.2` | Go-based registry service |
+| `mcpmesh/python-runtime:3.5.2` | Python agent runtime (includes mcp-mesh SDK) |
+| `mcpmesh/java-runtime:3.5.2` | Java agent runtime (includes mcp-mesh SDK) |
+| `mcpmesh/typescript-runtime:3.5.2` | TypeScript agent runtime (includes @mcpmesh/sdk) |
## Using Scaffold to Generate Compose Files
@@ -53,7 +53,7 @@ meshctl scaffold --compose --dry-run -d ./agents
services:
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
ports:
- "8000:8000"
healthcheck:
@@ -63,7 +63,7 @@ meshctl scaffold --compose --dry-run -d ./agents
retries: 3
my-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
ports:
- "8080:8080"
volumes:
@@ -88,7 +88,7 @@ meshctl scaffold --compose --dry-run -d ./agents
services:
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
ports:
- "8000:8000"
healthcheck:
@@ -122,7 +122,7 @@ meshctl scaffold --compose --dry-run -d ./agents
services:
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
ports:
- "8000:8000"
healthcheck:
@@ -132,7 +132,7 @@ meshctl scaffold --compose --dry-run -d ./agents
retries: 3
my-agent:
- image: mcpmesh/typescript-runtime:3.5.1
+ image: mcpmesh/typescript-runtime:3.5.2
ports:
- "8080:8080"
volumes:
@@ -161,12 +161,12 @@ If you prefer manual control, here's a minimal compose file:
services:
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
ports:
- "8000:8000"
my-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
volumes:
- ./agent.py:/app/agent.py:ro
command: ["python", "/app/agent.py"]
@@ -185,7 +185,7 @@ If you prefer manual control, here's a minimal compose file:
services:
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
ports:
- "8000:8000"
@@ -206,12 +206,12 @@ If you prefer manual control, here's a minimal compose file:
services:
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
ports:
- "8000:8000"
my-agent:
- image: mcpmesh/typescript-runtime:3.5.1
+ image: mcpmesh/typescript-runtime:3.5.2
volumes:
- ./my-agent:/app/agent:ro
command: ["npx", "tsx", "/app/agent/src/index.ts"]
@@ -232,7 +232,7 @@ If you didn't use scaffold, here's a sample Dockerfile:
=== "Python"
```dockerfile
- FROM mcpmesh/python-runtime:3.5.1
+ FROM mcpmesh/python-runtime:3.5.2
COPY ./my-agent /app/agent
@@ -257,7 +257,7 @@ If you didn't use scaffold, here's a sample Dockerfile:
=== "TypeScript"
```dockerfile
- FROM mcpmesh/typescript-runtime:3.5.1
+ FROM mcpmesh/typescript-runtime:3.5.2
WORKDIR /app/agent
COPY ./my-agent/package*.json ./
@@ -284,12 +284,12 @@ version: "3.8"
services:
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
ports:
- "8000:8000"
auth-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
volumes:
- ./agents/auth:/app/agent:ro
command: ["python", "/app/agent/main.py"]
@@ -298,7 +298,7 @@ services:
- MCP_MESH_HTTP_PORT=8080
data-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
volumes:
- ./agents/data:/app/agent:ro
command: ["python", "/app/agent/main.py"]
@@ -307,7 +307,7 @@ services:
- MCP_MESH_HTTP_PORT=8080
api-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
volumes:
- ./agents/api:/app/agent:ro
command: ["python", "/app/agent/main.py"]
diff --git a/docs/03-docker-deployment/04-networking.md b/docs/03-docker-deployment/04-networking.md
index 1f377bdad..659ac72c0 100644
--- a/docs/03-docker-deployment/04-networking.md
+++ b/docs/03-docker-deployment/04-networking.md
@@ -31,12 +31,12 @@ graph TD
# docker-compose.yml
services:
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
ports:
- "8000:8000"
my-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
volumes:
- ./my-agent:/app/agent:ro
command: ["python", "/app/agent/main.py"]
@@ -44,7 +44,7 @@ graph TD
- MCP_MESH_REGISTRY_URL=http://registry:8000
another-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
volumes:
- ./another-agent:/app/agent:ro
command: ["python", "/app/agent/main.py"]
@@ -62,12 +62,12 @@ graph TD
# docker-compose.yml
services:
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
ports:
- "8000:8000"
my-agent:
- image: mcpmesh/typescript-runtime:3.5.1
+ image: mcpmesh/typescript-runtime:3.5.2
volumes:
- ./my-agent:/app/agent:ro
command: ["npx", "tsx", "/app/agent/src/index.ts"]
@@ -75,7 +75,7 @@ graph TD
- MCP_MESH_REGISTRY_URL=http://registry:8000
another-agent:
- image: mcpmesh/typescript-runtime:3.5.1
+ image: mcpmesh/typescript-runtime:3.5.2
volumes:
- ./another-agent:/app/agent:ro
command: ["npx", "tsx", "/app/agent/src/index.ts"]
diff --git a/docs/04-kubernetes-basics.md b/docs/04-kubernetes-basics.md
index ebba3255c..5e1938660 100644
--- a/docs/04-kubernetes-basics.md
+++ b/docs/04-kubernetes-basics.md
@@ -18,7 +18,7 @@ The `mcp-mesh-core` chart deploys registry + PostgreSQL + Redis + Grafana + Temp
```bash
# Deploy core (OCI registry - no "helm repo add" needed)
helm install mcp-core oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-core \
- --version 3.5.1 \
+ --version 3.5.2 \
-n mcp-mesh --create-namespace
# Wait for registry
@@ -68,7 +68,7 @@ Build the image:
```bash
helm install my-agent oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-agent \
- --version 3.5.1 \
+ --version 3.5.2 \
--namespace mcp-mesh \
-f helm-values.yaml \
--set image.repository=my-agent \
@@ -79,7 +79,7 @@ For cloud deployments, use your full registry path:
```bash
helm install my-agent oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-agent \
- --version 3.5.1 \
+ --version 3.5.2 \
--namespace mcp-mesh \
-f helm-values.yaml \
--set image.repository=your-registry/my-agent \
@@ -141,7 +141,7 @@ resources:
```bash
# Core without Grafana/Tempo (lighter footprint)
helm install mcp-core oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-core \
- --version 3.5.1 \
+ --version 3.5.2 \
-n mcp-mesh --create-namespace \
--set grafana.enabled=false \
--set tempo.enabled=false
@@ -152,7 +152,7 @@ helm install mcp-core oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-core \
```bash
# Just the registry, no database or observability
helm install mcp-registry oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-registry \
- --version 3.5.1 \
+ --version 3.5.2 \
--namespace mcp-mesh
```
@@ -164,12 +164,12 @@ namespace — change `-n` and nothing else:
```bash
# Deploy core to a custom namespace
helm install mcp-core oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-core \
- --version 3.5.1 \
+ --version 3.5.2 \
-n my-namespace --create-namespace
# Deploy agent to the same namespace
helm install my-agent oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-agent \
- --version 3.5.1 \
+ --version 3.5.2 \
-n my-namespace \
-f helm-values.yaml
```
@@ -182,12 +182,12 @@ For **multi-tenant** clusters (separate core per team), deploy each core to its
```bash
# Team A
helm install mcp-core oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-core \
- --version 3.5.1 \
+ --version 3.5.2 \
-n team-a --create-namespace
# Team B — same values, different namespace
helm install mcp-core oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-core \
- --version 3.5.1 \
+ --version 3.5.2 \
-n team-b --create-namespace
```
@@ -195,7 +195,7 @@ For **cross-namespace** access (agent in one namespace, core in another), use FQ
```bash
helm install my-agent oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-agent \
- --version 3.5.1 -n other-ns \
+ --version 3.5.2 -n other-ns \
--set mesh.registryUrl=http://mcp-core-mcp-mesh-registry.team-a.svc.cluster.local:8000
```
@@ -207,13 +207,13 @@ helm list -n mcp-mesh
# Upgrade an agent
helm upgrade my-agent oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-agent \
- --version 3.5.1 \
+ --version 3.5.2 \
--namespace mcp-mesh \
--set image.tag=v2
# Scale replicas
helm upgrade my-agent oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-agent \
- --version 3.5.1 \
+ --version 3.5.2 \
--namespace mcp-mesh \
--reuse-values \
--set replicaCount=3
diff --git a/docs/04-kubernetes-basics/05-troubleshooting.md b/docs/04-kubernetes-basics/05-troubleshooting.md
index af388a41b..92004b1a0 100644
--- a/docs/04-kubernetes-basics/05-troubleshooting.md
+++ b/docs/04-kubernetes-basics/05-troubleshooting.md
@@ -373,7 +373,7 @@ kubectl exec -n mcp-mesh -- df -h
**Symptoms:**
```
-Failed to pull image "mcpmesh/python-runtime:3.5.1": rpc error: code = Unknown desc = Error response from daemon: pull access denied
+Failed to pull image "mcpmesh/python-runtime:3.5.2": rpc error: code = Unknown desc = Error response from daemon: pull access denied
```
**Solutions:**
diff --git a/docs/deployment.md b/docs/deployment.md
index 59b843589..b0b22059d 100644
--- a/docs/deployment.md
+++ b/docs/deployment.md
@@ -44,7 +44,7 @@ docker-compose up
```bash
# Quick start (OCI registry - no helm repo add needed)
helm install mcp-registry oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-registry \
- --version 3.5.1 -n mcp-mesh --create-namespace
+ --version 3.5.2 -n mcp-mesh --create-namespace
```
[:material-arrow-right: Kubernetes Guide](04-kubernetes-basics.md){ .md-button .md-button--primary }
@@ -117,7 +117,7 @@ For Kubernetes, configure TLS via Helm values:
```bash
helm install mcp-registry oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-registry \
- --version 3.5.1 -n mcp-mesh --create-namespace \
+ --version 3.5.2 -n mcp-mesh --create-namespace \
--set registry.security.tls.mode=strict \
--set registry.security.trust.backend=k8s-secrets
```
diff --git a/docs/dev-to-production.md b/docs/dev-to-production.md
index b73bbf236..21b7ce354 100644
--- a/docs/dev-to-production.md
+++ b/docs/dev-to-production.md
@@ -85,10 +85,10 @@ The [TSuite](https://github.com/dhyansraj/mcp-mesh-test-suite) integration testi
```bash
helm install mcp-core oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-core \
- --version 3.5.1 -n mcp-mesh --create-namespace
+ --version 3.5.2 -n mcp-mesh --create-namespace
helm install my-agent oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-agent \
- --version 3.5.1 -n mcp-mesh -f helm-values.yaml
+ --version 3.5.2 -n mcp-mesh -f helm-values.yaml
```
Same agent code runs locally, in Docker, and in Kubernetes — no changes needed.
diff --git a/docs/index.md b/docs/index.md
index b7510d9d3..cada6a19d 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -87,7 +87,7 @@ Build multi-agent systems that are production-ready from day one. Mesh handles t
io.mcp-mesh
mcp-mesh-spring-boot-starter
- 3.5.1
+ 3.5.2
```
@@ -364,7 +364,7 @@ A `kubectl`-style command-line tool that follows you from first agent to product
io.mcp-mesh
mcp-mesh-spring-boot-starter
- 3.5.1
+ 3.5.2
```
@@ -383,10 +383,10 @@ A `kubectl`-style command-line tool that follows you from first agent to product
=== "Docker Images"
```bash
- docker pull mcpmesh/registry:3.5.1
- docker pull mcpmesh/python-runtime:3.5.1
- docker pull mcpmesh/java-runtime:3.5.1
- docker pull mcpmesh/typescript-runtime:3.5.1
+ docker pull mcpmesh/registry:3.5.2
+ docker pull mcpmesh/python-runtime:3.5.2
+ docker pull mcpmesh/java-runtime:3.5.2
+ docker pull mcpmesh/typescript-runtime:3.5.2
```
Official container images for production deployments.
@@ -413,7 +413,7 @@ A `kubectl`-style command-line tool that follows you from first agent to product
## :star: Project Status
-- **Latest Release**: v3.5.1
+- **Latest Release**: v3.5.2
- **License**: MIT
- **Languages**: Python 3.11+, TypeScript/Node.js 18+, and Java 17+ (runtime), Go 1.23+ (registry)
- **Status**: Production-ready, actively developed
diff --git a/docs/java/examples.md b/docs/java/examples.md
index 12995fb70..4fe190661 100644
--- a/docs/java/examples.md
+++ b/docs/java/examples.md
@@ -132,7 +132,7 @@ class AssistantAgentTest {
# docker-compose.test.yml
services:
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
ports:
- "8000:8000"
healthcheck:
diff --git a/docs/java/getting-started/index.md b/docs/java/getting-started/index.md
index 518e608d4..57e0a3037 100644
--- a/docs/java/getting-started/index.md
+++ b/docs/java/getting-started/index.md
@@ -89,7 +89,7 @@ Create `pom.xml`:
io.mcp-mesh
mcp-mesh-spring-boot-starter
- 3.5.1
+ 3.5.2
diff --git a/docs/java/getting-started/prerequisites.md b/docs/java/getting-started/prerequisites.md
index 1c4b3d306..15fcc61ec 100644
--- a/docs/java/getting-started/prerequisites.md
+++ b/docs/java/getting-started/prerequisites.md
@@ -60,7 +60,7 @@ Add the Spring Boot starter to your `pom.xml`:
io.mcp-mesh
mcp-mesh-spring-boot-starter
- 3.5.1
+ 3.5.2
org.springframework.boot
@@ -108,10 +108,10 @@ docker compose version
| Image | Description |
| -------------------------------- | --------------------------- |
-| `mcpmesh/registry:3.5.1` | Registry service |
-| `mcpmesh/python-runtime:3.5.1` | Python runtime with SDK |
-| `mcpmesh/java-runtime:3.5.1` | Java runtime with SDK |
-| `mcpmesh/typescript-runtime:3.5.1` | TypeScript runtime with SDK |
+| `mcpmesh/registry:3.5.2` | Registry service |
+| `mcpmesh/python-runtime:3.5.2` | Python runtime with SDK |
+| `mcpmesh/java-runtime:3.5.2` | Java runtime with SDK |
+| `mcpmesh/typescript-runtime:3.5.2` | TypeScript runtime with SDK |
Java agents use standard Maven-based Docker builds (see Docker Deployment guide).
diff --git a/docs/java/index.md b/docs/java/index.md
index 3a34e3766..347a95c21 100644
--- a/docs/java/index.md
+++ b/docs/java/index.md
@@ -27,7 +27,7 @@ The MCP Mesh Java SDK provides an annotation-based API for building distributed
io.mcp-mesh
mcp-mesh-spring-boot-starter
- 3.5.1
+ 3.5.2
```
diff --git a/docs/java/local-development/01-getting-started.md b/docs/java/local-development/01-getting-started.md
index 3a09ccd58..be58b0c53 100644
--- a/docs/java/local-development/01-getting-started.md
+++ b/docs/java/local-development/01-getting-started.md
@@ -45,7 +45,7 @@ The recommended way is to use `meshctl scaffold` (see next page). If you prefer
io.mcp-mesh
mcp-mesh-spring-boot-starter
- 3.5.1
+ 3.5.2
org.springframework.boot
diff --git a/docs/java/local-development/troubleshooting.md b/docs/java/local-development/troubleshooting.md
index a3b433da2..df725ad7e 100644
--- a/docs/java/local-development/troubleshooting.md
+++ b/docs/java/local-development/troubleshooting.md
@@ -38,7 +38,7 @@ Ensure the dependency version matches an available release:
io.mcp-mesh
mcp-mesh-spring-boot-starter
- 3.5.1
+ 3.5.2
```
diff --git a/docs/java/spring-boot-integration.md b/docs/java/spring-boot-integration.md
index 9a1d1982b..197f920cd 100644
--- a/docs/java/spring-boot-integration.md
+++ b/docs/java/spring-boot-integration.md
@@ -23,7 +23,7 @@ MCP Mesh provides the `@MeshRoute` annotation for Spring Boot REST controllers t
io.mcp-mesh
mcp-mesh-spring-boot-starter
- 3.5.1
+ 3.5.2
org.springframework.boot
diff --git a/docs/python/getting-started/prerequisites.md b/docs/python/getting-started/prerequisites.md
index 758ce1290..c7159c632 100644
--- a/docs/python/getting-started/prerequisites.md
+++ b/docs/python/getting-started/prerequisites.md
@@ -97,17 +97,17 @@ docker compose version
| Image | Description |
| -------------------------------- | --------------------------- |
-| `mcpmesh/registry:3.5.1` | Registry service |
-| `mcpmesh/python-runtime:3.5.1` | Python runtime with SDK |
-| `mcpmesh/java-runtime:3.5.1` | Java runtime with SDK |
-| `mcpmesh/typescript-runtime:3.5.1` | TypeScript runtime with SDK |
+| `mcpmesh/registry:3.5.2` | Registry service |
+| `mcpmesh/python-runtime:3.5.2` | Python runtime with SDK |
+| `mcpmesh/java-runtime:3.5.2` | Java runtime with SDK |
+| `mcpmesh/typescript-runtime:3.5.2` | TypeScript runtime with SDK |
```bash
# Pull images
-docker pull mcpmesh/registry:3.5.1
-docker pull mcpmesh/python-runtime:3.5.1
-docker pull mcpmesh/java-runtime:3.5.1
-docker pull mcpmesh/typescript-runtime:3.5.1
+docker pull mcpmesh/registry:3.5.2
+docker pull mcpmesh/python-runtime:3.5.2
+docker pull mcpmesh/java-runtime:3.5.2
+docker pull mcpmesh/typescript-runtime:3.5.2
```
### Generate Docker Compose
@@ -145,12 +145,12 @@ Available from OCI registry (no `helm repo add` needed):
```bash
# Install core infrastructure
helm install mcp-core oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-core \
- --version 3.5.1 \
+ --version 3.5.2 \
-n mcp-mesh --create-namespace
# Deploy an agent
helm install my-agent oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-agent \
- --version 3.5.1 \
+ --version 3.5.2 \
-n mcp-mesh \
-f helm-values.yaml
```
diff --git a/docs/tutorial/day-08-docker-compose.md b/docs/tutorial/day-08-docker-compose.md
index 4b2ad0edf..ba7077f96 100644
--- a/docs/tutorial/day-08-docker-compose.md
+++ b/docs/tutorial/day-08-docker-compose.md
@@ -379,7 +379,7 @@ $ docker compose down -v
## Troubleshooting
**Docker build fails with missing requirements.** The compose file uses
-`mcpmesh/python-runtime:3.5.1` images with a dev-mode entrypoint that
+`mcpmesh/python-runtime:3.5.2` images with a dev-mode entrypoint that
installs `requirements.txt` on startup. If an agent has dependencies not
in the base image, check that `requirements.txt` exists in the agent
directory and lists all dependencies.
diff --git a/docs/tutorial/day-09-kubernetes.md b/docs/tutorial/day-09-kubernetes.md
index e3eb2e03e..bd34660e3 100644
--- a/docs/tutorial/day-09-kubernetes.md
+++ b/docs/tutorial/day-09-kubernetes.md
@@ -212,7 +212,7 @@ and Grafana as a single Helm release:
```shell
$ helm install mcp-core oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-core \
- --version 3.5.1 \
+ --version 3.5.2 \
-n trip-planner \
-f helm/values-core.yaml \
--wait --timeout 5m
@@ -250,7 +250,7 @@ $ for agent in "${AGENTS[@]}"; do
echo "Installing $agent..."
helm install "$agent" \
oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-agent \
- --version 3.5.1 \
+ --version 3.5.2 \
-n trip-planner \
-f "helm/values-${agent}.yaml"
done
diff --git a/docs/typescript/examples.md b/docs/typescript/examples.md
index 8f3e9c5fb..22ef3f67b 100644
--- a/docs/typescript/examples.md
+++ b/docs/typescript/examples.md
@@ -127,7 +127,7 @@ describe("Agent Integration", () => {
# docker-compose.test.yml
services:
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
ports:
- "8000:8000"
healthcheck:
diff --git a/docs/typescript/getting-started/prerequisites.md b/docs/typescript/getting-started/prerequisites.md
index b7db3fc33..bd9f8280a 100644
--- a/docs/typescript/getting-started/prerequisites.md
+++ b/docs/typescript/getting-started/prerequisites.md
@@ -85,17 +85,17 @@ docker compose version
| Image | Description |
| -------------------------------- | --------------------------- |
-| `mcpmesh/registry:3.5.1` | Registry service |
-| `mcpmesh/python-runtime:3.5.1` | Python runtime with SDK |
-| `mcpmesh/java-runtime:3.5.1` | Java runtime with SDK |
-| `mcpmesh/typescript-runtime:3.5.1` | TypeScript runtime with SDK |
+| `mcpmesh/registry:3.5.2` | Registry service |
+| `mcpmesh/python-runtime:3.5.2` | Python runtime with SDK |
+| `mcpmesh/java-runtime:3.5.2` | Java runtime with SDK |
+| `mcpmesh/typescript-runtime:3.5.2` | TypeScript runtime with SDK |
```bash
# Pull images
-docker pull mcpmesh/registry:3.5.1
-docker pull mcpmesh/python-runtime:3.5.1
-docker pull mcpmesh/java-runtime:3.5.1
-docker pull mcpmesh/typescript-runtime:3.5.1
+docker pull mcpmesh/registry:3.5.2
+docker pull mcpmesh/python-runtime:3.5.2
+docker pull mcpmesh/java-runtime:3.5.2
+docker pull mcpmesh/typescript-runtime:3.5.2
```
### Generate Docker Compose
diff --git a/examples/docker-examples/agents/claude-provider/Dockerfile b/examples/docker-examples/agents/claude-provider/Dockerfile
index 9125cbea6..b0b631263 100644
--- a/examples/docker-examples/agents/claude-provider/Dockerfile
+++ b/examples/docker-examples/agents/claude-provider/Dockerfile
@@ -1,5 +1,5 @@
# Dockerfile for claude-provider MCP Mesh LLM provider
-FROM mcpmesh/python-runtime:3.5.1
+FROM mcpmesh/python-runtime:3.5.2
WORKDIR /app
diff --git a/examples/docker-examples/agents/claude-provider/helm-values.yaml b/examples/docker-examples/agents/claude-provider/helm-values.yaml
index ee07d8d39..2600dcf62 100644
--- a/examples/docker-examples/agents/claude-provider/helm-values.yaml
+++ b/examples/docker-examples/agents/claude-provider/helm-values.yaml
@@ -1,6 +1,6 @@
# Helm values for deploying claude-provider with mcp-mesh-agent chart
# Usage: helm install claude-provider oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-agent \
-# --version 3.5.1 -f helm-values.yaml
+# --version 3.5.2 -f helm-values.yaml
image:
repository: your-registry/claude-provider
diff --git a/examples/docker-examples/agents/claude-provider/requirements.txt b/examples/docker-examples/agents/claude-provider/requirements.txt
index fd777fa9e..da315ceac 100644
--- a/examples/docker-examples/agents/claude-provider/requirements.txt
+++ b/examples/docker-examples/agents/claude-provider/requirements.txt
@@ -1,5 +1,5 @@
# MCP Mesh SDK
-mcp-mesh>=3.5.1
+mcp-mesh>=3.5.2
# FastMCP for MCP server
fastmcp>=3.0.0,<4.0.0
diff --git a/examples/docker-examples/agents/openai-provider/Dockerfile b/examples/docker-examples/agents/openai-provider/Dockerfile
index 7f68a4554..7adad0083 100644
--- a/examples/docker-examples/agents/openai-provider/Dockerfile
+++ b/examples/docker-examples/agents/openai-provider/Dockerfile
@@ -1,5 +1,5 @@
# Dockerfile for openai-provider MCP Mesh LLM provider
-FROM mcpmesh/python-runtime:3.5.1
+FROM mcpmesh/python-runtime:3.5.2
WORKDIR /app
diff --git a/examples/docker-examples/agents/openai-provider/helm-values.yaml b/examples/docker-examples/agents/openai-provider/helm-values.yaml
index ab6d7d06f..21b165930 100644
--- a/examples/docker-examples/agents/openai-provider/helm-values.yaml
+++ b/examples/docker-examples/agents/openai-provider/helm-values.yaml
@@ -1,6 +1,6 @@
# Helm values for deploying openai-provider with mcp-mesh-agent chart
# Usage: helm install openai-provider oci://ghcr.io/dhyansraj/mcp-mesh/mcp-mesh-agent \
-# --version 3.5.1 -f helm-values.yaml
+# --version 3.5.2 -f helm-values.yaml
image:
repository: your-registry/openai-provider
diff --git a/examples/docker-examples/agents/openai-provider/requirements.txt b/examples/docker-examples/agents/openai-provider/requirements.txt
index fd777fa9e..da315ceac 100644
--- a/examples/docker-examples/agents/openai-provider/requirements.txt
+++ b/examples/docker-examples/agents/openai-provider/requirements.txt
@@ -1,5 +1,5 @@
# MCP Mesh SDK
-mcp-mesh>=3.5.1
+mcp-mesh>=3.5.2
# FastMCP for MCP server
fastmcp>=3.0.0,<4.0.0
diff --git a/examples/docker-examples/docker-compose.llm-delegation.yml b/examples/docker-examples/docker-compose.llm-delegation.yml
index e6e9d0da9..94d6c171d 100644
--- a/examples/docker-examples/docker-compose.llm-delegation.yml
+++ b/examples/docker-examples/docker-compose.llm-delegation.yml
@@ -53,7 +53,7 @@ services:
- mcp-mesh-llm-delegation-test
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
container_name: mcp-mesh-registry-llm-delegation-test
ports:
- "8002:8000"
@@ -78,7 +78,7 @@ services:
# Test PT-008: LLM Provider Registration
test-pt-008-provider:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-pt-008-provider
profiles:
- test-pt-008
@@ -116,7 +116,7 @@ services:
# Test PT-009: Basic Mesh Delegation - Provider
test-pt-009-provider:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-pt-009-provider
profiles:
- test-pt-009
@@ -154,7 +154,7 @@ services:
# Test PT-009: Basic Mesh Delegation - Consumer
test-pt-009-consumer:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-pt-009-consumer
profiles:
- test-pt-009
diff --git a/examples/docker-examples/docker-compose.llm-tests.yml b/examples/docker-examples/docker-compose.llm-tests.yml
index d3dc8946c..dade90b0b 100644
--- a/examples/docker-examples/docker-compose.llm-tests.yml
+++ b/examples/docker-examples/docker-compose.llm-tests.yml
@@ -64,7 +64,7 @@ services:
# MCP Mesh Registry
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
container_name: mcp-mesh-registry-llm-test
ports:
- "8000:8000"
@@ -105,7 +105,7 @@ services:
# System Agent - provides date_service, info, uptime_info capabilities
system-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-system-agent-llm-test
hostname: system-agent
ports:
@@ -160,7 +160,7 @@ services:
# Test 1: Basic LLM Agent (no tools)
test-001-basic-llm:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-001-basic-llm
hostname: test-001-basic-llm
ports:
@@ -216,7 +216,7 @@ services:
# Test 2: LLM Agent with Time Tools
test-002-chat-with-time:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-002-chat-with-time
hostname: test-002-chat-with-time
ports:
@@ -272,7 +272,7 @@ services:
# Test 3: Multi-Tool Chat Agent
test-003-multi-tool:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-003-multi-tool
hostname: test-003-multi-tool
ports:
@@ -328,7 +328,7 @@ services:
# Test 4a: System Analyst LLM Agent (specialist)
test-004-analyst:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-004-analyst
hostname: test-004-analyst
ports:
@@ -384,7 +384,7 @@ services:
# Test 4b: Orchestrator LLM Agent (coordinator)
test-004-orchestrator:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-004-orchestrator
hostname: test-004-orchestrator
ports:
diff --git a/examples/docker-examples/docker-compose.multi-agent-poc.yml b/examples/docker-examples/docker-compose.multi-agent-poc.yml
index 9da7413d1..0c68e1d21 100644
--- a/examples/docker-examples/docker-compose.multi-agent-poc.yml
+++ b/examples/docker-examples/docker-compose.multi-agent-poc.yml
@@ -39,7 +39,7 @@ services:
- mcp-mesh-ma-poc
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
container_name: mcp-mesh-registry-ma-poc
ports:
- "8003:8000"
@@ -64,7 +64,7 @@ services:
# Executor Agent - Provides basic tools (bash, write_file, read_file, grep_files)
executor-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-executor-agent
environment:
MCP_MESH_REGISTRY_URL: http://registry:8000
@@ -101,7 +101,7 @@ services:
# Claude Provider - LLM provider for specialist agents (Preferred)
claude-provider:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-claude-provider
environment:
MCP_MESH_REGISTRY_URL: http://registry:8000
@@ -137,7 +137,7 @@ services:
# OpenAI Provider - LLM provider for specialist agents (Fallback)
openai-provider:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-openai-provider
environment:
MCP_MESH_REGISTRY_URL: http://registry:8000
@@ -173,7 +173,7 @@ services:
# Developer Agent - Software development specialist using mesh delegation
developer-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-developer-agent
environment:
MCP_MESH_REGISTRY_URL: http://registry:8000
@@ -213,7 +213,7 @@ services:
# QA Agent - Quality Assurance specialist
qa-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-qa-agent
environment:
MCP_MESH_REGISTRY_URL: http://registry:8000
@@ -253,7 +253,7 @@ services:
# Intent Agent - Conversational orchestrator
intent-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-intent-agent
environment:
MCP_MESH_REGISTRY_URL: http://registry:8000
diff --git a/examples/docker-examples/docker-compose.prompt-templates.yml b/examples/docker-examples/docker-compose.prompt-templates.yml
index bdbb67db8..b3f88ab93 100644
--- a/examples/docker-examples/docker-compose.prompt-templates.yml
+++ b/examples/docker-examples/docker-compose.prompt-templates.yml
@@ -54,7 +54,7 @@ services:
- mcp-mesh-prompt-template-test
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
container_name: mcp-mesh-registry-prompt-template-test
ports:
- "8002:8000" # Different port
@@ -79,7 +79,7 @@ services:
# System agent (provides base tools for tests)
system-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-system-agent-prompt-template-test
environment:
MCP_MESH_REGISTRY_URL: http://registry:8000
@@ -111,7 +111,7 @@ services:
# Test PT-001: Basic Template with Dict Context
test-pt-001-basic-template:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-pt-001-basic-template
profiles:
- test-pt-001
@@ -149,7 +149,7 @@ services:
# Test PT-002: MeshContextModel with Field Descriptions
test-pt-002-context-model:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-pt-002-context-model
profiles:
- test-pt-002
@@ -189,7 +189,7 @@ services:
# Test PT-003: Convention-Based Context Detection
test-pt-003-convention:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-pt-003-convention
profiles:
- test-pt-003
@@ -227,7 +227,7 @@ services:
# Test PT-004: Control Structures
test-pt-004-control-structures:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-pt-004-control-structures
profiles:
- test-pt-004
@@ -267,7 +267,7 @@ services:
# Test PT-005: Hierarchical Context Models
test-pt-005-hierarchical:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-pt-005-hierarchical
profiles:
- test-pt-005
@@ -307,7 +307,7 @@ services:
# Test PT-006: LLM Chain - Analyzer
test-pt-006-analyzer:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-pt-006-analyzer
profiles:
- test-pt-006
@@ -345,7 +345,7 @@ services:
# Test PT-006: LLM Chain - Orchestrator
test-pt-006-orchestrator:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-pt-006-orchestrator
profiles:
- test-pt-006
@@ -385,7 +385,7 @@ services:
# Test PT-007: Dual Injection (LLM + MCP Agent)
test-pt-007-dual-injection:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-test-pt-007-dual-injection
profiles:
- test-pt-007
diff --git a/examples/docker-examples/docker-compose.yml b/examples/docker-examples/docker-compose.yml
index c6693d369..e09824e1a 100644
--- a/examples/docker-examples/docker-compose.yml
+++ b/examples/docker-examples/docker-compose.yml
@@ -2,12 +2,12 @@
# Demonstrates Go registry + Python agents architecture using published Docker images
#
# Services:
-# - registry: Go-based registry with SQLite storage (mcpmesh/registry:3.5.1)
-# - hello-world-agent: Python agent with greeting capabilities (mcpmesh/python-runtime:3.5.1)
-# - system-agent: Python agent with system monitoring capabilities (mcpmesh/python-runtime:3.5.1)
-# - fastmcp-agent: FastMCP service with mesh integration (mcpmesh/python-runtime:3.5.1)
-# - dependent-agent: Service that depends on fastmcp-agent (mcpmesh/python-runtime:3.5.1)
-# - fastapi-app: FastAPI application with mesh integration (mcpmesh/python-runtime:3.5.1)
+# - registry: Go-based registry with SQLite storage (mcpmesh/registry:3.5.2)
+# - hello-world-agent: Python agent with greeting capabilities (mcpmesh/python-runtime:3.5.2)
+# - system-agent: Python agent with system monitoring capabilities (mcpmesh/python-runtime:3.5.2)
+# - fastmcp-agent: FastMCP service with mesh integration (mcpmesh/python-runtime:3.5.2)
+# - dependent-agent: Service that depends on fastmcp-agent (mcpmesh/python-runtime:3.5.2)
+# - fastapi-app: FastAPI application with mesh integration (mcpmesh/python-runtime:3.5.2)
#
# Usage:
# docker-compose up
@@ -69,7 +69,7 @@ services:
# Go-based registry service (built locally)
registry:
- image: mcpmesh/registry:3.5.1
+ image: mcpmesh/registry:3.5.2
container_name: mcp-mesh-registry
ports:
- "8000:8000"
@@ -115,7 +115,7 @@ services:
# Hello World Python agent - built locally
hello-world-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-hello-world
hostname: hello-world-agent
ports:
@@ -168,7 +168,7 @@ services:
# System Agent Python service - built locally
system-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-system-agent
hostname: system-agent
ports:
@@ -221,7 +221,7 @@ services:
# FastMCP Agent with mesh integration - built locally
fastmcp-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-fastmcp-agent
hostname: fastmcp-agent
ports:
@@ -274,7 +274,7 @@ services:
# Dependent Agent that uses FastMCP agent's time service - built locally
dependent-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-dependent-agent
hostname: dependent-agent
ports:
@@ -327,7 +327,7 @@ services:
# FastAPI App with mesh integration - built locally
fastapi-app:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-fastapi-app
hostname: fastapi-app
ports:
@@ -380,7 +380,7 @@ services:
# Simple FastAPI Router App (Maya-style APIRouter pattern) - built locally
simple-router-app:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-simple-router-app
hostname: simple-router-app
ports:
@@ -433,7 +433,7 @@ services:
# LLM With Deps Agent - demonstrates both static dependencies AND LLM provider
llm-with-deps-agent:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-llm-with-deps
hostname: llm-with-deps-agent
ports:
@@ -485,7 +485,7 @@ services:
# OpenAI LLM Provider - Provides OpenAI GPT API access to mesh
openai-provider:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-openai-provider
hostname: openai-provider
ports:
@@ -539,7 +539,7 @@ services:
# Claude LLM Provider - Provides Anthropic Claude API access to mesh
claude-provider:
- image: mcpmesh/python-runtime:3.5.1
+ image: mcpmesh/python-runtime:3.5.2
container_name: mcp-mesh-claude-provider
hostname: claude-provider
ports:
diff --git a/examples/java/basic-tool-agent/pom.xml b/examples/java/basic-tool-agent/pom.xml
index 3dce308cd..bb448ffe8 100644
--- a/examples/java/basic-tool-agent/pom.xml
+++ b/examples/java/basic-tool-agent/pom.xml
@@ -21,7 +21,7 @@
17
- 3.5.1
+ 3.5.2
- 3.5.1
+ 3.5.2
diff --git a/tests/integration/suites/uc04_llm_integration/tc47_max_iterations_cross_runtime_java_py/artifacts/max-iterations-java/pom.xml b/tests/integration/suites/uc04_llm_integration/tc47_max_iterations_cross_runtime_java_py/artifacts/max-iterations-java/pom.xml
index d4014ae75..495ded45d 100644
--- a/tests/integration/suites/uc04_llm_integration/tc47_max_iterations_cross_runtime_java_py/artifacts/max-iterations-java/pom.xml
+++ b/tests/integration/suites/uc04_llm_integration/tc47_max_iterations_cross_runtime_java_py/artifacts/max-iterations-java/pom.xml
@@ -22,7 +22,7 @@
17
- 3.5.1
+ 3.5.2
diff --git a/tests/integration/suites/uc04_llm_integration/tc49_max_iterations_ts_forwarding_py/artifacts/ticket-consumer-ts/package.json b/tests/integration/suites/uc04_llm_integration/tc49_max_iterations_ts_forwarding_py/artifacts/ticket-consumer-ts/package.json
index 0c733308b..095bed1a7 100644
--- a/tests/integration/suites/uc04_llm_integration/tc49_max_iterations_ts_forwarding_py/artifacts/ticket-consumer-ts/package.json
+++ b/tests/integration/suites/uc04_llm_integration/tc49_max_iterations_ts_forwarding_py/artifacts/ticket-consumer-ts/package.json
@@ -12,7 +12,7 @@
"dev": "tsx watch src/index.ts"
},
"dependencies": {
- "@mcpmesh/sdk": "^3.5.1",
+ "@mcpmesh/sdk": "^3.5.2",
"zod": "^3.24.0"
},
"devDependencies": {
diff --git a/tests/integration/suites/uc04_llm_integration/tc50_max_iterations_streaming_java_py/artifacts/stream-gateway-java/pom.xml b/tests/integration/suites/uc04_llm_integration/tc50_max_iterations_streaming_java_py/artifacts/stream-gateway-java/pom.xml
index 52552778f..9a0b38693 100644
--- a/tests/integration/suites/uc04_llm_integration/tc50_max_iterations_streaming_java_py/artifacts/stream-gateway-java/pom.xml
+++ b/tests/integration/suites/uc04_llm_integration/tc50_max_iterations_streaming_java_py/artifacts/stream-gateway-java/pom.xml
@@ -22,7 +22,7 @@
17
- 3.5.1
+ 3.5.2
diff --git a/tests/integration/suites/uc05_meshctl/artifacts/java-non-mesh-app/pom.xml b/tests/integration/suites/uc05_meshctl/artifacts/java-non-mesh-app/pom.xml
index 5ee34107c..dba4ffa81 100644
--- a/tests/integration/suites/uc05_meshctl/artifacts/java-non-mesh-app/pom.xml
+++ b/tests/integration/suites/uc05_meshctl/artifacts/java-non-mesh-app/pom.xml
@@ -21,7 +21,7 @@
17
- 3.5.1
+ 3.5.2