# mcp-advanced The half of MCP beyond tools: **resources**, **prompts**, **sampling** and **elicitation**, on Spring Boot 4.1.2, Spring AI 2.0.2 and MCP Java SDK 2.1.0 (Java 25). The server is an "incident desk"; the tests drive it with a plain MCP SDK client so the transcripts show what is on the wire. | Piece | File | |---|---| | Resources + a template | `src/main/java/com/ankurm/mcpadvanced/IncidentResources.java` | | Prompt | `.../IncidentPrompts.java` | | Tools that call back into the client (sampling, elicitation) | `.../IncidentTools.java`, `.../RestartApproval.java` | | Test client + transcript writer | `src/test/java/com/ankurm/mcpadvanced/` | ## Run ```bash ./scripts/run-all.sh # tests (they write output/01..09) + curl wire demo (output/10, 11) mvn spring-boot:run # the server on :8089/mcp ``` `output/` holds the captured results the article quotes. Request and session ids in the two wire transcripts change on every run; the one timing line in `07` is indicative only. There is deliberately no `docs/` folder: the explanation lives in the article, in collapsible sections next to the code it describes.