Skip to content
This repository was archived by the owner on Feb 14, 2025. It is now read-only.

Commit bc75b27

Browse files
committed
docs(mcp) add class diagram
1 parent 347f86f commit bc75b27

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

mcp/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ The SDK follows a layered architecture with clear separation of concerns:
4242
- **Session Layer (McpSession)**: Manages communication patterns and state using DefaultMcpSession implementation.
4343
- **Client/Server Layer**: Both use McpSession for sync/async operations, with McpClient handling client-side protocol operations and McpServer managing server-side protocol operations.
4444

45+
Following class diagram illustrates the layered architecture of the MCP SDK, showing the relationships between core interfaces (McpTransport, McpSession), their implementations, and the client/server components. It highlights how the transport layer connects to sessions, which in turn support both synchronous and asynchronous client/server implementations.
46+
47+
<img src="../docs/spring-ai-mcp-uml-classdiagram.svg" width="600"/>
48+
4549
### Key Interactions
4650

4751
- **Client/Server Initialization**: Transport setup, protocol compatibility check, capability negotiation, and implementation details exchange.
@@ -50,6 +54,7 @@ The SDK follows a layered architecture with clear separation of concerns:
5054
- **Prompt System**: Discovery, parameter-based retrieval, change notifications, and content management.
5155
- **Tool Execution**: Discovery, parameter validation, timeout-aware execution, and result processing.
5256

57+
5358
## Client Usage Examples
5459

5560
### MCP Client (Sync API)

0 commit comments

Comments
 (0)