@@ -314,8 +314,8 @@ public void testGenerateMcpCatalogWithNullRequestDoesNotThrow() throws Exception
314314 /**
315315 * The catalog root must carry a {@code _meta} object so MCP clients know
316316 * the Axis2 JSON-RPC transport contract without reading separate docs.
317- * Mirrors the pattern in rapi-mcp (Python) where API conventions are
318- * embedded in the tool catalog for client self-sufficiency .
317+ * API conventions are embedded in the tool catalog so MCP clients are
318+ * self-sufficient without requiring separate documentation .
319319 */
320320 public void testCatalogHasMetaObject () throws Exception {
321321 JsonNode root = MAPPER .readTree (generator .generateMcpCatalogJson (mockRequest ));
@@ -361,8 +361,8 @@ public void testMetaHasTokenEndpoint() throws Exception {
361361 * know to wrap bare JSON params in the Axis2 JSON-RPC envelope:
362362 * {@code {"operationName":[{"arg0":{...}}]}}.
363363 *
364- * <p>This is the primary challenge from pyRapi: MCP clients calling Axis2
365- * services must use this wrapping format or the call fails silently.
364+ * <p>MCP clients calling Axis2 services must use this wrapping format or
365+ * the call fails silently.
366366 */
367367 public void testToolHasPayloadTemplateField () throws Exception {
368368 addService ("TestService" , "testOp" );
@@ -433,8 +433,7 @@ public void testPayloadTemplatesDistinctAcrossOperations() throws Exception {
433433
434434 /**
435435 * Non-login services must declare {@code x-requiresAuth: true} so MCP
436- * clients know to acquire a Bearer token via loginService first — matching
437- * the auth flow pyRapi implements in pyrapi/auth.py.
436+ * clients know to acquire a Bearer token via loginService first.
438437 */
439438 public void testNonLoginServiceRequiresAuth () throws Exception {
440439 addService ("testws" , "doTestws" );
@@ -476,7 +475,7 @@ public void testBigDataServiceRequiresAuth() throws Exception {
476475 /**
477476 * Tools must carry MCP 2025 {@code annotations} for client-side safety
478477 * hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint).
479- * Matches the annotations pattern in internal-alpha-theory-mcp .
478+ * Follows the MCP 2025-03-26 specification for tool annotations .
480479 */
481480 public void testToolHasAnnotationsField () throws Exception {
482481 addService ("TestService" , "testOp" );
@@ -571,18 +570,18 @@ public void testTickerResolveEndpointAbsentWhenNotConfigured() throws Exception
571570 * This is the primary way to make tool descriptions useful to LLMs.
572571 */
573572 public void testOperationLevelMcpDescriptionOverridesDefault () throws Exception {
574- AxisService svc = new AxisService ("GetAssetCalculationsService " );
573+ AxisService svc = new AxisService ("CalculationService " );
575574 AxisOperation op = new InOutAxisOperation ();
576- op .setName (QName .valueOf ("getAssetCalculations " ));
575+ op .setName (QName .valueOf ("getCalculations " ));
577576 op .addParameter (new org .apache .axis2 .description .Parameter (
578577 "mcpDescription" ,
579- "Get calculated portfolio metrics (OPS, PWR, Kelly) for assets in a fund ." ));
578+ "Get calculated metrics for items in a dataset ." ));
580579 svc .addOperation (op );
581580 axisConfig .addService (svc );
582581
583582 JsonNode tool = getCatalogTools ().get (0 );
584583 assertEquals ("Operation-level mcpDescription must be used as tool description" ,
585- "Get calculated portfolio metrics (OPS, PWR, Kelly) for assets in a fund ." ,
584+ "Get calculated metrics for items in a dataset ." ,
586585 tool .path ("description" ).asText ());
587586 }
588587
@@ -642,14 +641,14 @@ public void testDescriptionFallsBackToAutoGeneratedWhenNoMcpDescriptionParam() t
642641 /**
643642 * When a service sets {@code mcpReadOnly=true}, the catalog must publish
644643 * {@code readOnlyHint: true} for all its operations. Read-only services
645- * (GetAsset*, Search*) should set this so MCP hosts can safely auto-approve
646- * them without human confirmation.
644+ * should set this so MCP hosts can safely auto-approve them without human
645+ * confirmation.
647646 */
648647 public void testServiceLevelMcpReadOnlySetsTrueOnAnnotation () throws Exception {
649- AxisService svc = new AxisService ("GetAssetCalculationsService " );
648+ AxisService svc = new AxisService ("ReadOnlyDataService " );
650649 svc .addParameter (new org .apache .axis2 .description .Parameter ("mcpReadOnly" , "true" ));
651650 AxisOperation op = new InOutAxisOperation ();
652- op .setName (QName .valueOf ("getAssetCalculations " ));
651+ op .setName (QName .valueOf ("getData " ));
653652 svc .addOperation (op );
654653 axisConfig .addService (svc );
655654
0 commit comments