32 lines
1.4 KiB
Plaintext
32 lines
1.4 KiB
Plaintext
=== FINAL QA SUMMARY ===
|
|
Date: 2026-03-10
|
|
Server: sage-x3-mcp v1.0.0
|
|
|
|
TEST 1: stdio initialization + tools/list
|
|
- Initialize: PASS (serverInfo.name=sage-x3-mcp, version=1.0.0, protocolVersion=2024-11-05)
|
|
- tools/list count: 9/9 PASS
|
|
- Tool names match: PASS (sage_health, sage_query, sage_read, sage_search, sage_list_entities, sage_get_context, sage_soap_read, sage_soap_query, sage_describe_entity)
|
|
- readOnlyHint: 9/9 PASS (all tools have readOnlyHint: true)
|
|
|
|
TEST 2: Tool invocation (sage_list_entities)
|
|
- JSON-RPC response received: PASS (id:3)
|
|
- Response structure valid: PASS (result.content[0].type=text, result.isError=true)
|
|
- Error expected with fake URL: "fetch failed" — correct behavior
|
|
|
|
TEST 3: HTTP transport
|
|
- Server starts on configured port: PASS (port 13579)
|
|
- Initialize via HTTP POST /mcp: PASS (SSE response with serverInfo)
|
|
- tools/list via HTTP: PASS (9 tools returned)
|
|
- 404 for wrong path: PASS (HTTP 404)
|
|
- Requires Accept header: PASS (application/json, text/event-stream)
|
|
|
|
TEST 4: Missing env vars
|
|
- Error message: "FATAL: Missing required environment variable: SAGE_X3_URL"
|
|
- Exit code: 1 (non-zero)
|
|
- Result: PASS
|
|
|
|
NOTE: MCP SDK uses NDJSON framing (newline-delimited JSON), NOT LSP-style Content-Length headers.
|
|
HTTP transport uses SSE (Server-Sent Events) response format.
|
|
|
|
Scenarios [4/4 pass] | Tools [9/9 registered] | Transports [2/2] | VERDICT: APPROVE
|