tools/call Server advertises tool names, descriptions, and input schemas. Claude chooses a tool and supplies validated arguments. Claude chooses the tool. The server executes it.
in Java. CLAUDE DESKTOP CloudMcpServer.java REST → LAMBDA MCP over stdio Java MCP SDK API Gateway HttpClient TemperatureLambda Claude → Java JAR → HTTP GET → Lambda
Java process and talks over stdio. "mcpServers": { "csc5100": { "command": "/usr/bin/java", "args": ["-jar", ".../mcp/target/mcp-1.0.jar"] } } f a a a a ~/Libr ry/Applic tion Support/Cl ude/cl ude_desktop_con ig.json
→ dish. 1 Claude discovers convert_temperature 2 Claude calls with 86, F, C 3 Java callback sends HTTP GET 4 Lambda returns result: 30.0 5 Claude answers “30°C”
names, then retried. FIRST CALL RETRY from = "fahrenheit" from = "F" to = "celsius" to = "C" REST API → HTTP 400 REST API → 30.0 Better schemas: enum [F, C] avoids guessing.
2026 Copyright. These slides may be used only as study material for CSC 5100 within the California State University system. They may not be distributed or used for any other purpose.