Skip to content

Commit bd488e5

Browse files
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) <noreply@anthropic.com>
1 parent 64ba311 commit bd488e5

1 file changed

Lines changed: 19 additions & 14 deletions

File tree

AXIS2_MODERNIZATION_PLAN.md

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
type: architecture
33
created: 2026-04-06
4-
updated: 2026-05-04
4+
updated: 2026-05-16
55
status: Active
66
---
77

@@ -35,7 +35,7 @@ entirely. No other Java framework can do all three from the same service deploym
3535
| Phase B — MCP Schema Completion | **DONE** | Java type introspection for request/response schemas in both OpenAPI and MCP catalog. mcpAuthScope, mcpStreaming parameters. |
3636
| Phase 2 — OpenAPI Annotation Bridge | PARTIAL | POJO introspection done. springdoc @Operation/@Parameter annotation processing not yet started. |
3737
| Phase 3 — REST Transport | NOT STARTED | Dual-protocol JSON-RPC + REST from same service |
38-
| Phase 4 — MCP Bridge | NOT STARTED | OpenAPI-driven MCP wrapper |
38+
| Phase 4 — MCP Bridge | **DONE** | `axis2-mcp-bridge` stdio JAR in `modules/mcp-bridge/` |
3939
| Phase 5 — HTTP/2 Publication | NOT STARTED | transport-h2 graduation to supported module |
4040
| Phase 6 — Native MCP Transport | DEFERRED | Bridge approach sufficient; prove MCP catalog adoption first |
4141
| Phase 7 — Community | NOT STARTED | Blog post, migration guide |
@@ -339,9 +339,9 @@ generic type erasure.
339339

340340
### Key files
341341

342-
- `modules/json/src/org/apache/axis2/json/gson/rpc/PaginatedResponse.java`
343-
- `modules/json/src/org/apache/axis2/json/gson/rpc/PaginationRequest.java`
344-
- `modules/json/test/org/apache/axis2/json/gson/rpc/PaginatedResponseTest.java` (22 tests)
342+
- `modules/json/src/org/apache/axis2/json/rpc/PaginatedResponse.java`
343+
- `modules/json/src/org/apache/axis2/json/rpc/PaginationRequest.java`
344+
- `modules/json/test/org/apache/axis2/json/rpc/PaginatedResponseTest.java` (22 tests)
345345

346346
### Dependency
347347

@@ -384,10 +384,11 @@ Axis2/C implementation — tracked separately in axis-axis2-c-core repo.
384384

385385
Axis2/C implementation — tracked separately.
386386

387-
### Step D3 — Populate `mcpInputSchema` in all 5 financial benchmark operations
387+
### Step D3 — Populate `mcpInputSchema` in all services
388388

389-
**DONE.** All three Java financial benchmark operations have explicit `mcpInputSchema`
390-
in services.xml with full JSON Schema definitions.
389+
**DONE.** All five MCP-exposed operations (doLogin, portfolioVariance, monteCarlo,
390+
scenarioAnalysis, processBigDataSet) have explicit `mcpInputSchema` in services.xml
391+
with full JSON Schema definitions.
391392

392393
---
393394

@@ -448,12 +449,16 @@ Phase 1 (starter), Phase 2 (REST paths in OpenAPI spec).
448449

449450
---
450451

451-
## Phase 4 — MCP Path 1: OpenAPI-Driven MCP Wrapper
452+
## Phase 4 — MCP Bridge (`axis2-mcp-bridge`)
452453

453-
**Status: NOT STARTED.**
454+
**Status: DONE.**
454455

455-
Thin Spring Boot app that reads `/openapi-mcp.json` and implements MCP protocol
456-
(initialize, tools/list, tools/call). Forwards calls to Axis2 endpoints.
456+
Standalone stdio JAR (`modules/mcp-bridge/`) that reads `/openapi-mcp.json` at startup
457+
and implements MCP protocol (initialize, tools/list, tools/call). Forwards calls to
458+
Axis2 endpoints over HTTPS. Supports both mTLS (Tomcat) and JWT (WildFly) auth.
459+
No MCP SDK dependency — JSON-RPC 2.0 implemented directly with Jackson + Java stdlib
460+
HttpClient (Apache 2.0 license constraint). End-to-end validated with Claude Desktop.
461+
See `mcp-architecture.md` for full details.
457462

458463
### Dependency
459464
Phase 2 (requires `/openapi-mcp.json` endpoint — **satisfied**).
@@ -502,7 +507,7 @@ Apache blog post, migration guide, reference implementation documentation.
502507
| **TX** | Transaction demarcation .mar module | PLANNED |
503508
| **2** | OpenAPI annotation bridge (springdoc) | PARTIAL |
504509
| **3** | REST transport + dual-protocol | NOT STARTED |
505-
| **4** | MCP bridge wrapper | NOT STARTED |
510+
| **4** | MCP bridge (`axis2-mcp-bridge` stdio JAR) | **DONE** |
506511
| **5** | HTTP/2 transport publication | NOT STARTED |
507512
| **6** | Native MCP transport | DEFERRED |
508513
| **7** | Community posts, migration guide | NOT STARTED |
@@ -514,7 +519,7 @@ Apache blog post, migration guide, reference implementation documentation.
514519
A single Axis2 service deployment, configured once, serves:
515520

516521
```
517-
Claude Desktop / AI agent → MCP (bridge Phase 4, or native Phase 6)
522+
Claude Desktop / AI agent → MCP (axis2-mcp-bridge, done)
518523
519524
Data API / React frontend → REST (Phase 3) ──► Axis2 Service
520525
↑ (one implementation)

0 commit comments

Comments
 (0)