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 5d7b7ce0a8c3c6dc57de0628efa8abbf138e3308
Author: Robert Lazarski <[email protected]>
AuthorDate: Thu Apr 9 06:13:33 2026 -1000

    Move MCP docs into Maven site and add TOC entries
    
    Move MCP.md and MCP_EXAMPLES.md from project root to
    src/site/markdown/docs/ so they render as part of the Axis2 website.
    Strip YAML frontmatter from mcp-architecture.md (not valid for site).
    
    Add TOC entries at sections 23.5 (MCP Architecture — Multi-Protocol
    Design) and 23.6 (MCP Examples — Financial Services Benchmarks) with
    sub-section links, following the existing json-rpc-mcp-guide at 23.4.
    
    Also update MCP.md: remove 'staging' references, fix dates to 2026-04-09,
    replace BLUF with Summary, update inputSchema example to show populated
    schemas, add WildFly 32 reference implementation, mark mcpInputSchema
    as Done in Track A remaining table.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
---
 .../site/markdown/docs/mcp-architecture.md         | 47 +++++++++++++---------
 .../site/markdown/docs/mcp-examples.md             |  0
 src/site/xdoc/docs/toc.xml                         | 18 +++++++++
 3 files changed, 47 insertions(+), 18 deletions(-)

diff --git a/MCP.md b/src/site/markdown/docs/mcp-architecture.md
similarity index 87%
rename from MCP.md
rename to src/site/markdown/docs/mcp-architecture.md
index 50fb1e14cb..0e8e435b33 100644
--- a/MCP.md
+++ b/src/site/markdown/docs/mcp-architecture.md
@@ -1,13 +1,6 @@
----
-type: architecture
-created: 2026-04-06
-last-verified: 2026-04-06
-status: Active — A1/A2/A3 complete, mTLS validated
----
-
 # MCP Support for Apache Axis2/Java
 
-**BLUF**: Axis2/Java gains MCP (Model Context Protocol) support in two phases. 
Phase A
+**Summary**: Axis2/Java gains MCP (Model Context Protocol) support in two 
phases. Phase A
 (practical, immediate) wraps an existing Axis2 deployment with a bridge that 
reads
 `/openapi-mcp.json` and proxies MCP `tools/call` to Axis2 over HTTPS+mTLS. 
Phase B (native,
 novel Apache contribution) implements `axis2-transport-mcp` so Axis2 speaks MCP
@@ -20,7 +13,7 @@ modelcontextprotocol.io.
 
 ---
 
-## Current State (2026-04-06)
+## Current State (2026-04-09)
 
 ### What exists today
 
@@ -37,13 +30,18 @@ modelcontextprotocol.io.
 | A4 HTTP/SSE transport | ❌ Not started | Post-demo, deferred |
 | `axis2-transport-mcp` native | ❌ Not started | Track B — novel Apache 
contribution |
 
-### Reference implementation
+### Reference implementations
 
 ```
 springbootdemo-tomcat11 base URL: https://localhost:8443/axis2-json-api
-Services deployed:
   - LoginService      (auth, port 8080 only)
   - BigDataH2Service  (streaming/multiplexing demo, accessible via mTLS on 
8443)
+
+springbootdemo-wildfly base URL: http://localhost:8080/axis2-json-api
+  - LoginService                (JWT auth)
+  - FinancialBenchmarkService   (portfolioVariance, monteCarlo, 
scenarioAnalysis)
+  - BigDataH2Service            (HTTP/2 streaming)
+  Deployed and validated on WildFly 32.0.1 (2026-04-09)
 ```
 
 `BigDataH2Service` request format (confirmed working via MCP bridge):
@@ -142,15 +140,28 @@ Client presents cert → Tomcat TLS handshake 
(certificateVerification=required)
 {
   "tools": [
     {
-      "name": "processBigDataSet",
-      "description": "BigDataH2Service: processBigDataSet",
-      "inputSchema": { "type": "object", "properties": {}, "required": [] },
-      "endpoint": "POST /services/BigDataH2Service/processBigDataSet"
+      "name": "portfolioVariance",
+      "description": "Calculate portfolio variance using O(n²) covariance 
matrix...",
+      "inputSchema": {
+        "type": "object",
+        "required": ["nAssets", "weights", "covarianceMatrix"],
+        "properties": {
+          "nAssets":          {"type": "integer", "minimum": 2, "maximum": 
2000},
+          "weights":          {"type": "array", "items": {"type": "number"}},
+          "covarianceMatrix": {"type": "array", "items": {"type": "array", 
"items": {"type": "number"}}},
+          "normalizeWeights": {"type": "boolean", "default": false},
+          "nPeriodsPerYear":  {"type": "integer", "default": 252}
+        }
+      },
+      "endpoint": "POST /services/FinancialBenchmarkService/portfolioVariance"
     }
   ]
 }
 ```
 
+Tool schemas are populated via `mcpInputSchema` parameters in
+`services.xml` — parsed by `generateMcpCatalogJson()` at runtime.
+
 **Routing**: `OpenApiServlet.java` dispatches 
`uri.endsWith("/openapi-mcp.json")` to
 `handler.handleMcpCatalogRequest()`. `Axis2WebAppInitializer.java` maps the 
path.
 `Axis2Application.java` `OPENAPI_PATHS` array includes `/openapi-mcp.json` so 
the
@@ -329,7 +340,7 @@ See `docs/MCP.md` in the `axis-axis2-c-core` repo for the 
full C implementation
 
 | Step | Work | Notes |
 |------|------|-------|
-| `@McpTool` annotation | Richer `inputSchema` in `/openapi-mcp.json` | 
Currently all tools return empty properties `{}` |
+| `mcpInputSchema` in services.xml | ✅ Done | All financial benchmark tools + 
login have full parameter schemas |
 | A4 HTTP/SSE | Persistent bridge server mode | Required for production, 
additive |
 
 ### Track B
@@ -338,9 +349,9 @@ See `docs/MCP.md` in the `axis-axis2-c-core` repo for the 
full C implementation
 2. stdio transport first (B1) — validates JSON-RPC 2.0 ↔ MessageContext 
translation
 3. HTTP/SSE transport (B2) — reuses Axis2 HTTP infrastructure
 
-### Penguin demo
+### Axis2/C deployment
 
-`build_financial_service.sh` in `axis-axis2-c-core` needs to be run on the 
Penguin
+`build_financial_service.sh` in `axis-axis2-c-core` needs to be run on the 
target
 host after Axis2/C is installed. The service is committed and compiles clean — 
the
 script is the only remaining deployment step.
 
diff --git a/MCP_EXAMPLES.md b/src/site/markdown/docs/mcp-examples.md
similarity index 100%
rename from MCP_EXAMPLES.md
rename to src/site/markdown/docs/mcp-examples.md
diff --git a/src/site/xdoc/docs/toc.xml b/src/site/xdoc/docs/toc.xml
index 480f7f43ba..582879d5f6 100644
--- a/src/site/xdoc/docs/toc.xml
+++ b/src/site/xdoc/docs/toc.xml
@@ -158,6 +158,24 @@ Support</a></li>
         <li><a href="json-rpc-mcp-guide.html#python_compat">Python MCP 
Compatibility Notes</a></li>
     </ul>
     </li>
+    <li><strong>23.5 <a href="mcp-architecture.html">MCP Architecture — 
Multi-Protocol Design</a></strong>
+    <ul>
+        <li><a href="mcp-architecture.html#current-state-2026-04-09">Current 
State</a></li>
+        <li><a 
href="mcp-architecture.html#track-a--openapi-driven-mcp-bridge">Track A: 
OpenAPI-Driven MCP Bridge</a></li>
+        <li><a 
href="mcp-architecture.html#track-b--native-mcp-transport-axis2-transport-mcp">Track
 B: Native MCP Transport</a></li>
+        <li><a href="mcp-architecture.html#security-architecture">Security 
Architecture (mTLS + X.509)</a></li>
+        <li><a href="mcp-architecture.html#key-design-decisions">Key Design 
Decisions</a></li>
+    </ul>
+    </li>
+    <li><strong>23.6 <a href="mcp-examples.html">MCP Examples — Financial 
Services Benchmarks</a></strong>
+    <ul>
+        <li><a 
href="mcp-examples.html#live-examples-tested-on-wildfly-32-0-1-final-2026-04-08">Live
 Examples (WildFly 32)</a></li>
+        <li><a 
href="mcp-examples.html#demo-1-stress-test--what-if-correlations-spike">Demo 1: 
Stress Test</a></li>
+        <li><a 
href="mcp-examples.html#demo-2-pre-trade-risk--should-i-add-this-name">Demo 2: 
Pre-Trade Risk</a></li>
+        <li><a 
href="mcp-examples.html#demo-3-convergence--how-much-compute-do-i-actually-need">Demo
 3: Convergence</a></li>
+        <li><a href="mcp-examples.html#full-performance-summary">Full 
Performance Summary (C vs Java)</a></li>
+    </ul>
+    </li>
 </ul>
 </li>
 <li><a href="corba-deployer.html">Exposing CORBA Services as Web 
Services</a></li>

Reply via email to