This is an automated email from the ASF dual-hosted git repository.

robertlazarski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-core.git

commit bd488e5f01fe4616476f1fc9679af8393da4d914
Author: Robert Lazarski <[email protected]>
AuthorDate: Sat May 16 06:17:01 2026 -1000

    docs: Fix stale statuses in modernization plan
    
    Phase 4 MCP Bridge was NOT STARTED but modules/mcp-bridge/ is fully
    implemented and validated — update to DONE. Fix PaginatedResponse file
    paths (wrong package: gson/rpc -> rpc). Fix D3 operation count and
    list all five MCP-exposed operations by name. Update end state diagram.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
---
 AXIS2_MODERNIZATION_PLAN.md | 33 +++++++++++++++++++--------------
 1 file changed, 19 insertions(+), 14 deletions(-)

diff --git a/AXIS2_MODERNIZATION_PLAN.md b/AXIS2_MODERNIZATION_PLAN.md
index 1bf96ff04d..317e239293 100644
--- a/AXIS2_MODERNIZATION_PLAN.md
+++ b/AXIS2_MODERNIZATION_PLAN.md
@@ -1,7 +1,7 @@
 ---
 type: architecture
 created: 2026-04-06
-updated: 2026-05-04
+updated: 2026-05-16
 status: Active
 ---
 
@@ -35,7 +35,7 @@ entirely. No other Java framework can do all three from the 
same service deploym
 | Phase B — MCP Schema Completion | **DONE** | Java type introspection for 
request/response schemas in both OpenAPI and MCP catalog. mcpAuthScope, 
mcpStreaming parameters. |
 | Phase 2 — OpenAPI Annotation Bridge | PARTIAL | POJO introspection done. 
springdoc @Operation/@Parameter annotation processing not yet started. |
 | Phase 3 — REST Transport | NOT STARTED | Dual-protocol JSON-RPC + REST from 
same service |
-| Phase 4 — MCP Bridge | NOT STARTED | OpenAPI-driven MCP wrapper |
+| Phase 4 — MCP Bridge | **DONE** | `axis2-mcp-bridge` stdio JAR in 
`modules/mcp-bridge/` |
 | Phase 5 — HTTP/2 Publication | NOT STARTED | transport-h2 graduation to 
supported module |
 | Phase 6 — Native MCP Transport | DEFERRED | Bridge approach sufficient; 
prove MCP catalog adoption first |
 | Phase 7 — Community | NOT STARTED | Blog post, migration guide |
@@ -339,9 +339,9 @@ generic type erasure.
 
 ### Key files
 
-- `modules/json/src/org/apache/axis2/json/gson/rpc/PaginatedResponse.java`
-- `modules/json/src/org/apache/axis2/json/gson/rpc/PaginationRequest.java`
-- 
`modules/json/test/org/apache/axis2/json/gson/rpc/PaginatedResponseTest.java` 
(22 tests)
+- `modules/json/src/org/apache/axis2/json/rpc/PaginatedResponse.java`
+- `modules/json/src/org/apache/axis2/json/rpc/PaginationRequest.java`
+- `modules/json/test/org/apache/axis2/json/rpc/PaginatedResponseTest.java` (22 
tests)
 
 ### Dependency
 
@@ -384,10 +384,11 @@ Axis2/C implementation — tracked separately in 
axis-axis2-c-core repo.
 
 Axis2/C implementation — tracked separately.
 
-### Step D3 — Populate `mcpInputSchema` in all 5 financial benchmark operations
+### Step D3 — Populate `mcpInputSchema` in all services
 
-**DONE.** All three Java financial benchmark operations have explicit 
`mcpInputSchema`
-in services.xml with full JSON Schema definitions.
+**DONE.** All five MCP-exposed operations (doLogin, portfolioVariance, 
monteCarlo,
+scenarioAnalysis, processBigDataSet) have explicit `mcpInputSchema` in 
services.xml
+with full JSON Schema definitions.
 
 ---
 
@@ -448,12 +449,16 @@ Phase 1 (starter), Phase 2 (REST paths in OpenAPI spec).
 
 ---
 
-## Phase 4 — MCP Path 1: OpenAPI-Driven MCP Wrapper
+## Phase 4 — MCP Bridge (`axis2-mcp-bridge`)
 
-**Status: NOT STARTED.**
+**Status: DONE.**
 
-Thin Spring Boot app that reads `/openapi-mcp.json` and implements MCP protocol
-(initialize, tools/list, tools/call). Forwards calls to Axis2 endpoints.
+Standalone stdio JAR (`modules/mcp-bridge/`) that reads `/openapi-mcp.json` at 
startup
+and implements MCP protocol (initialize, tools/list, tools/call). Forwards 
calls to
+Axis2 endpoints over HTTPS. Supports both mTLS (Tomcat) and JWT (WildFly) auth.
+No MCP SDK dependency — JSON-RPC 2.0 implemented directly with Jackson + Java 
stdlib
+HttpClient (Apache 2.0 license constraint). End-to-end validated with Claude 
Desktop.
+See `mcp-architecture.md` for full details.
 
 ### Dependency
 Phase 2 (requires `/openapi-mcp.json` endpoint — **satisfied**).
@@ -502,7 +507,7 @@ Apache blog post, migration guide, reference implementation 
documentation.
 | **TX** | Transaction demarcation .mar module | PLANNED |
 | **2** | OpenAPI annotation bridge (springdoc) | PARTIAL |
 | **3** | REST transport + dual-protocol | NOT STARTED |
-| **4** | MCP bridge wrapper | NOT STARTED |
+| **4** | MCP bridge (`axis2-mcp-bridge` stdio JAR) | **DONE** |
 | **5** | HTTP/2 transport publication | NOT STARTED |
 | **6** | Native MCP transport | DEFERRED |
 | **7** | Community posts, migration guide | NOT STARTED |
@@ -514,7 +519,7 @@ Apache blog post, migration guide, reference implementation 
documentation.
 A single Axis2 service deployment, configured once, serves:
 
 ```
-Claude Desktop / AI agent  →  MCP (bridge Phase 4, or native Phase 6)
+Claude Desktop / AI agent  →  MCP (axis2-mcp-bridge, done)
                                          ↓
 Data API / React frontend  →  REST (Phase 3)    ──►  Axis2 Service
                                          ↑           (one implementation)

Reply via email to