java-sdk/mcp-core/docs/spring-ai-mcp-uml-classdiagram.svg
Christian Tzolov a922b1aa7a Add doc diagrams
2024-12-11 00:51:24 +01:00

1 line
No EOL
28 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" data-diagram-type="CLASS" height="1095px" preserveAspectRatio="none" style="width:748px;height:1095px;background:#FFFFFF;" version="1.1" viewBox="0 0 748 1095" width="748px" zoomAndPan="magnify"><defs/><g><!--class McpTransport--><g id="elem_McpTransport"><rect codeLine="2" fill="#F1F1F1" height="145.7813" id="McpTransport" rx="3.5" ry="3.5" style="stroke:#181818;stroke-width:0.5;" width="257.0957" x="448.69" y="618.6"/><ellipse cx="524.7808" cy="634.6" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M520.7027,630.3656 L520.7027,628.2094 L528.0933,628.2094 L528.0933,630.3656 L525.6246,630.3656 L525.6246,638.4437 L528.0933,638.4437 L528.0933,640.6 L520.7027,640.6 L520.7027,638.4437 L523.1714,638.4437 L523.1714,630.3656 L520.7027,630.3656 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="96.4141" x="545.2808" y="639.4467">McpTransport</text><line style="stroke:#181818;stroke-width:0.5;" x1="449.69" x2="704.7857" y1="650.6" y2="650.6"/><line style="stroke:#181818;stroke-width:0.5;" x1="449.69" x2="704.7857" y1="658.6" y2="658.6"/><ellipse cx="459.69" cy="672.2484" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="77.6084" x="468.69" y="675.5951">void start()</text><ellipse cx="459.69" cy="688.5453" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81.0605" x="468.69" y="691.892">void close()</text><ellipse cx="459.69" cy="704.8422" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="215.2568" x="468.69" y="708.1889">Mono&lt;Void&gt; closeGracefully()</text><ellipse cx="459.69" cy="721.1391" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="231.0957" x="468.69" y="724.4857">void setInboudMessageHandler()</text><ellipse cx="459.69" cy="737.4359" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="213.2881" x="468.69" y="740.7826">void setInboundErrorHandler()</text><ellipse cx="459.69" cy="753.7328" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="202.8633" x="468.69" y="757.0795">Mono&lt;Void&gt; sendMessage()</text></g><!--class AbstractMcpTransport--><g id="elem_AbstractMcpTransport"><rect codeLine="11" fill="#F1F1F1" height="113.1875" id="AbstractMcpTransport" rx="3.5" ry="3.5" style="stroke:#181818;stroke-width:0.5;" width="224.7891" x="464.84" y="833.53"/><ellipse cx="496.7629" cy="849.53" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M496.8723,844.8738 L495.716,849.9519 L498.0442,849.9519 L496.8723,844.8738 Z M495.3879,842.6394 L498.3723,842.6394 L501.7317,855.03 L499.2785,855.03 L498.5129,851.9675 L495.2317,851.9675 L494.4817,855.03 L492.0442,855.03 L495.3879,842.6394 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="155.1826" x="514.5235" y="854.3767">AbstractMcpTransport</text><line style="stroke:#181818;stroke-width:0.5;" x1="465.84" x2="688.6291" y1="865.53" y2="865.53"/><polygon fill="none" points="475.84,874.1784,479.84,878.1784,475.84,882.1784,471.84,878.1784" style="stroke:#B38D22;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="198.7891" x="484.84" y="882.5251">ObjectMapper objectMapper</text><line style="stroke:#181818;stroke-width:0.5;" x1="465.84" x2="688.6291" y1="889.8269" y2="889.8269"/><polygon fill="#FFFF44" points="475.84,898.4753,479.84,902.4753,475.84,906.4753,471.84,902.4753" style="stroke:#B38D22;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120.7568" x="484.84" y="906.822">getInboundSink()</text><polygon fill="#FFFF44" points="475.84,914.7722,479.84,918.7722,475.84,922.7722,471.84,918.7722" style="stroke:#B38D22;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133.1367" x="484.84" y="923.1189">getOutboundSink()</text><polygon fill="#FFFF44" points="475.84,931.0691,479.84,935.0691,475.84,939.0691,471.84,935.0691" style="stroke:#B38D22;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98.3486" x="484.84" y="939.4157">getErrorSink()</text></g><!--class McpSession--><g id="elem_McpSession"><rect codeLine="18" fill="#F1F1F1" height="96.8906" id="McpSession" rx="3.5" ry="3.5" style="stroke:#181818;stroke-width:0.5;" width="247.833" x="444.32" y="213.48"/><ellipse cx="522.947" cy="229.48" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M518.8688,225.2456 L518.8688,223.0894 L526.2595,223.0894 L526.2595,225.2456 L523.7907,225.2456 L523.7907,233.3237 L526.2595,233.3237 L526.2595,235.48 L518.8688,235.48 L518.8688,233.3237 L521.3376,233.3237 L521.3376,225.2456 L518.8688,225.2456 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="82.0791" x="543.447" y="234.3267">McpSession</text><line style="stroke:#181818;stroke-width:0.5;" x1="445.32" x2="691.153" y1="245.48" y2="245.48"/><line style="stroke:#181818;stroke-width:0.5;" x1="445.32" x2="691.153" y1="253.48" y2="253.48"/><ellipse cx="455.32" cy="267.1284" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="213.0967" x="464.32" y="270.4751">&lt;T&gt; Mono&lt;T&gt; sendRequest()</text><ellipse cx="455.32" cy="283.4253" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="221.833" x="464.32" y="286.772">Mono&lt;Void&gt; sendNotification()</text><ellipse cx="455.32" cy="299.7222" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="215.2568" x="464.32" y="303.0689">Mono&lt;Void&gt; closeGracefully()</text></g><!--class DefaultMcpSession--><g id="elem_DefaultMcpSession"><rect codeLine="24" fill="#F1F1F1" height="80.5938" id="DefaultMcpSession" rx="3.5" ry="3.5" style="stroke:#181818;stroke-width:0.5;" width="224.7891" x="455.84" y="428.11"/><ellipse cx="497.6405" cy="444.11" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M500.6092,449.7506 Q500.0311,450.0475 499.3905,450.1881 Q498.7499,450.3444 498.0467,450.3444 Q495.5467,450.3444 494.2186,448.7037 Q492.9061,447.0475 492.9061,443.9225 Q492.9061,440.7975 494.2186,439.1412 Q495.5467,437.485 498.0467,437.485 Q498.7499,437.485 499.3905,437.6412 Q500.0467,437.7975 500.6092,438.0944 L500.6092,440.8131 Q499.9842,440.235 499.3905,439.9694 Q498.7967,439.6881 498.1717,439.6881 Q496.828,439.6881 496.1405,440.7662 Q495.453,441.8287 495.453,443.9225 Q495.453,446.0162 496.1405,447.0944 Q496.828,448.1569 498.1717,448.1569 Q498.7967,448.1569 499.3905,447.8912 Q499.9842,447.61 500.6092,447.0319 L500.6092,449.7506 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133.2324" x="517.5962" y="448.9567">DefaultMcpSession</text><line style="stroke:#181818;stroke-width:0.5;" x1="456.84" x2="679.6291" y1="460.11" y2="460.11"/><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="463.84" y="470.7584"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="165.5527" x="475.84" y="477.1051">McpTransport transport</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="463.84" y="487.0553"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="198.7891" x="475.84" y="493.402">ObjectMapper objectMapper</text><line style="stroke:#181818;stroke-width:0.5;" x1="456.84" x2="679.6291" y1="500.7037" y2="500.7037"/></g><!--class McpClient--><g id="elem_McpClient"><rect codeLine="29" fill="#F1F1F1" height="80.5938" id="McpClient" rx="3.5" ry="3.5" style="stroke:#181818;stroke-width:0.5;" width="101.1934" x="50.64" y="221.63"/><ellipse cx="65.64" cy="237.63" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M68.6088,243.2706 Q68.0306,243.5675 67.39,243.7081 Q66.7494,243.8644 66.0463,243.8644 Q63.5463,243.8644 62.2181,242.2238 Q60.9056,240.5675 60.9056,237.4425 Q60.9056,234.3175 62.2181,232.6613 Q63.5463,231.005 66.0463,231.005 Q66.7494,231.005 67.39,231.1613 Q68.0463,231.3175 68.6088,231.6144 L68.6088,234.3331 Q67.9838,233.755 67.39,233.4894 Q66.7963,233.2081 66.1713,233.2081 Q64.8275,233.2081 64.14,234.2863 Q63.4525,235.3488 63.4525,237.4425 Q63.4525,239.5363 64.14,240.6144 Q64.8275,241.6769 66.1713,241.6769 Q66.7963,241.6769 67.39,241.4113 Q67.9838,241.13 68.6088,240.5519 L68.6088,243.2706 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69.1934" x="79.64" y="242.4767">McpClient</text><line style="stroke:#181818;stroke-width:0.5;" x1="51.64" x2="150.8334" y1="253.63" y2="253.63"/><line style="stroke:#181818;stroke-width:0.5;" x1="51.64" x2="150.8334" y1="261.63" y2="261.63"/><ellipse cx="61.64" cy="275.2784" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="51.6523" x="70.64" y="278.6251">async()</text><ellipse cx="61.64" cy="291.5753" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="43.0732" x="70.64" y="294.922">sync()</text></g><!--class McpAsyncClient--><g id="elem_McpAsyncClient"><rect codeLine="34" fill="#F1F1F1" height="162.0781" id="McpAsyncClient" rx="3.5" ry="3.5" style="stroke:#181818;stroke-width:0.5;" width="344.7256" x="68.87" y="610.45"/><ellipse cx="181.5228" cy="626.45" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M184.4916,632.0906 Q183.9135,632.3875 183.2728,632.5281 Q182.6322,632.6844 181.9291,632.6844 Q179.4291,632.6844 178.101,631.0437 Q176.7885,629.3875 176.7885,626.2625 Q176.7885,623.1375 178.101,621.4812 Q179.4291,619.825 181.9291,619.825 Q182.6322,619.825 183.2728,619.9812 Q183.9291,620.1375 184.4916,620.4344 L184.4916,623.1531 Q183.8666,622.575 183.2728,622.3094 Q182.6791,622.0281 182.0541,622.0281 Q180.7103,622.0281 180.0228,623.1062 Q179.3353,624.1687 179.3353,626.2625 Q179.3353,628.3562 180.0228,629.4344 Q180.7103,630.4969 182.0541,630.4969 Q182.6791,630.4969 183.2728,630.2312 Q183.8666,629.95 184.4916,629.3719 L184.4916,632.0906 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="110.9199" x="202.0228" y="631.2967">McpAsyncClient</text><line style="stroke:#181818;stroke-width:0.5;" x1="69.87" x2="412.5956" y1="642.45" y2="642.45"/><line style="stroke:#181818;stroke-width:0.5;" x1="69.87" x2="412.5956" y1="650.45" y2="650.45"/><ellipse cx="79.87" cy="664.0984" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="237.7471" x="88.87" y="667.4451">Mono&lt;InitializeResult&gt; initialize()</text><ellipse cx="79.87" cy="680.3953" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="230.1387" x="88.87" y="683.742">Mono&lt;CallToolResult&gt; callTool()</text><ellipse cx="79.87" cy="696.6922" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="239.5723" x="88.87" y="700.0389">Mono&lt;ListToolsResult&gt; listTools()</text><ellipse cx="79.87" cy="712.9891" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="310.707" x="88.87" y="716.3357">Mono&lt;ListResourcesResult&gt; listResources()</text><ellipse cx="79.87" cy="729.2859" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="318.7256" x="88.87" y="732.6326">Mono&lt;ReadResourceResult&gt; readResource()</text><ellipse cx="79.87" cy="745.5828" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="281.9824" x="88.87" y="748.9295">Mono&lt;ListPromptsResult&gt; listPrompts()</text><ellipse cx="79.87" cy="761.8797" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="270.2998" x="88.87" y="765.2264">Mono&lt;GetPromptResult&gt; getPrompt()</text></g><!--class McpSyncClient--><g id="elem_McpSyncClient"><rect codeLine="44" fill="#F1F1F1" height="162.0781" id="McpSyncClient" rx="3.5" ry="3.5" style="stroke:#181818;stroke-width:0.5;" width="283.1816" x="114.65" y="387.37"/><ellipse cx="200.523" cy="403.37" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M203.4918,409.0106 Q202.9137,409.3075 202.273,409.4481 Q201.6324,409.6044 200.9293,409.6044 Q198.4293,409.6044 197.1012,407.9637 Q195.7887,406.3075 195.7887,403.1825 Q195.7887,400.0575 197.1012,398.4012 Q198.4293,396.745 200.9293,396.745 Q201.6324,396.745 202.273,396.9012 Q202.9293,397.0575 203.4918,397.3544 L203.4918,400.0731 Q202.8668,399.495 202.273,399.2294 Q201.6793,398.9481 201.0543,398.9481 Q199.7105,398.9481 199.023,400.0262 Q198.3355,401.0887 198.3355,403.1825 Q198.3355,405.2762 199.023,406.3544 Q199.7105,407.4169 201.0543,407.4169 Q201.6793,407.4169 202.273,407.1512 Q202.8668,406.87 203.4918,406.2919 L203.4918,409.0106 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="102.9355" x="221.023" y="408.2167">McpSyncClient</text><line style="stroke:#181818;stroke-width:0.5;" x1="115.65" x2="396.8316" y1="419.37" y2="419.37"/><line style="stroke:#181818;stroke-width:0.5;" x1="115.65" x2="396.8316" y1="427.37" y2="427.37"/><ellipse cx="125.65" cy="441.0184" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="176.2031" x="134.65" y="444.3651">InitializeResult initialize()</text><ellipse cx="125.65" cy="457.3153" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="168.5947" x="134.65" y="460.662">CallToolResult callTool()</text><ellipse cx="125.65" cy="473.6122" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="178.0283" x="134.65" y="476.9589">ListToolsResult listTools()</text><ellipse cx="125.65" cy="489.9091" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="249.1631" x="134.65" y="493.2557">ListResourcesResult listResources()</text><ellipse cx="125.65" cy="506.2059" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="257.1816" x="134.65" y="509.5526">ReadResourceResult readResource()</text><ellipse cx="125.65" cy="522.5028" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="220.4385" x="134.65" y="525.8495">ListPromptsResult listPrompts()</text><ellipse cx="125.65" cy="538.7997" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="208.7559" x="134.65" y="542.1464">GetPromptResult getPrompt()</text></g><!--class StdioServerTransport--><g id="elem_StdioServerTransport"><rect codeLine="54" fill="#F1F1F1" height="80.5938" id="StdioServerTransport" rx="3.5" ry="3.5" style="stroke:#181818;stroke-width:0.5;" width="238.3242" x="458.07" y="1007.72"/><ellipse cx="498.6954" cy="1023.72" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M501.6641,1029.3606 Q501.086,1029.6575 500.4454,1029.7981 Q499.8048,1029.9544 499.1016,1029.9544 Q496.6016,1029.9544 495.2735,1028.3137 Q493.961,1026.6575 493.961,1023.5325 Q493.961,1020.4075 495.2735,1018.7512 Q496.6016,1017.095 499.1016,1017.095 Q499.8048,1017.095 500.4454,1017.2512 Q501.1016,1017.4075 501.6641,1017.7044 L501.6641,1020.4231 Q501.0391,1019.845 500.4454,1019.5794 Q499.8516,1019.2981 499.2266,1019.2981 Q497.8829,1019.2981 497.1954,1020.3762 Q496.5079,1021.4387 496.5079,1023.5325 Q496.5079,1025.6262 497.1954,1026.7044 Q497.8829,1027.7669 499.2266,1027.7669 Q499.8516,1027.7669 500.4454,1027.5012 Q501.0391,1027.22 501.6641,1026.6419 L501.6641,1029.3606 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="149.3789" x="518.3899" y="1028.5667">StdioServerTransport</text><line style="stroke:#181818;stroke-width:0.5;" x1="459.07" x2="695.3942" y1="1039.72" y2="1039.72"/><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="466.07" y="1050.3684"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="156.0918" x="478.07" y="1056.7151">Process serverProcess</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="466.07" y="1066.6653"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="212.3242" x="478.07" y="1073.012">ServerParameters parameters</text><line style="stroke:#181818;stroke-width:0.5;" x1="459.07" x2="695.3942" y1="1080.3137" y2="1080.3137"/></g><!--class McpSchema--><g id="elem_McpSchema"><rect codeLine="59" fill="#F1F1F1" height="129.4844" id="McpSchema" rx="3.5" ry="3.5" style="stroke:#181818;stroke-width:0.5;" width="221.002" x="350.74" y="7"/><ellipse cx="414.5159" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M417.4846,28.6406 Q416.9065,28.9375 416.2659,29.0781 Q415.6253,29.2344 414.9221,29.2344 Q412.4221,29.2344 411.094,27.5938 Q409.7815,25.9375 409.7815,22.8125 Q409.7815,19.6875 411.094,18.0313 Q412.4221,16.375 414.9221,16.375 Q415.6253,16.375 416.2659,16.5313 Q416.9221,16.6875 417.4846,16.9844 L417.4846,19.7031 Q416.8596,19.125 416.2659,18.8594 Q415.6721,18.5781 415.0471,18.5781 Q413.7034,18.5781 413.0159,19.6563 Q412.3284,20.7188 412.3284,22.8125 Q412.3284,24.9063 413.0159,25.9844 Q413.7034,27.0469 415.0471,27.0469 Q415.6721,27.0469 416.2659,26.7813 Q416.8596,26.5 417.4846,25.9219 L417.4846,28.6406 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84.9502" x="435.0159" y="27.8467">McpSchema</text><line style="stroke:#181818;stroke-width:0.5;" x1="351.74" x2="570.742" y1="39" y2="39"/><ellipse cx="361.74" cy="52.6484" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="117.0176" x="370.74" y="55.9951">class ErrorCodes</text><ellipse cx="361.74" cy="68.9453" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="124.3867" x="370.74" y="72.292">interface Request</text><ellipse cx="361.74" cy="85.2422" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="190.7021" x="370.74" y="88.5889">interface JSONRPCMessage</text><ellipse cx="361.74" cy="101.5391" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="195.002" x="370.74" y="104.8857">interface ResourceContents</text><ellipse cx="361.74" cy="117.8359" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="122.5684" x="370.74" y="121.1826">interface Content</text><line style="stroke:#181818;stroke-width:0.5;" x1="351.74" x2="570.742" y1="128.4844" y2="128.4844"/></g><!--class McpError--><g id="elem_McpError"><rect codeLine="67" fill="#F1F1F1" height="80.5938" id="McpError" rx="3.5" ry="3.5" style="stroke:#181818;stroke-width:0.5;" width="135.1494" x="606.66" y="31.44"/><ellipse cx="639.5734" cy="47.44" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M642.5422,53.0806 Q641.9641,53.3775 641.3234,53.5181 Q640.6828,53.6744 639.9797,53.6744 Q637.4797,53.6744 636.1516,52.0338 Q634.8391,50.3775 634.8391,47.2525 Q634.8391,44.1275 636.1516,42.4713 Q637.4797,40.815 639.9797,40.815 Q640.6828,40.815 641.3234,40.9713 Q641.9797,41.1275 642.5422,41.4244 L642.5422,44.1431 Q641.9172,43.565 641.3234,43.2994 Q640.7297,43.0181 640.1047,43.0181 Q638.7609,43.0181 638.0734,44.0963 Q637.3859,45.1588 637.3859,47.2525 Q637.3859,49.3463 638.0734,50.4244 Q638.7609,51.4869 640.1047,51.4869 Q640.7297,51.4869 641.3234,51.2213 Q641.9172,50.94 642.5422,50.3619 L642.5422,53.0806 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63.3418" x="657.5542" y="52.2867">McpError</text><line style="stroke:#181818;stroke-width:0.5;" x1="607.66" x2="740.8094" y1="63.44" y2="63.44"/><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="614.66" y="74.0884"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56.4648" x="626.66" y="80.4351">int code</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="614.66" y="90.3853"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109.1494" x="626.66" y="96.732">String message</text><line style="stroke:#181818;stroke-width:0.5;" x1="607.66" x2="740.8094" y1="104.0338" y2="104.0338"/></g><!--reverse link McpTransport to AbstractMcpTransport--><g id="link_McpTransport_AbstractMcpTransport"><path codeLine="72" d="M577.24,782.87 C577.24,805.43 577.24,811.95 577.24,833.2 " fill="none" id="McpTransport-backto-AbstractMcpTransport" style="stroke:#454645;stroke-width:1;stroke-dasharray:7.0,7.0;"/><polygon fill="none" points="577.24,764.87,571.24,782.87,583.24,782.87,577.24,764.87" style="stroke:#454645;stroke-width:1;"/></g><!--reverse link AbstractMcpTransport to StdioServerTransport--><g id="link_AbstractMcpTransport_StdioServerTransport"><path codeLine="73" d="M577.24,964.96 C577.24,985.06 577.24,989.29 577.24,1007.68 " fill="none" id="AbstractMcpTransport-backto-StdioServerTransport" style="stroke:#454645;stroke-width:1;"/><polygon fill="none" points="577.24,946.96,571.24,964.96,583.24,964.96,577.24,946.96" style="stroke:#454645;stroke-width:1;"/></g><!--reverse link McpSession to DefaultMcpSession--><g id="link_McpSession_DefaultMcpSession"><path codeLine="74" d="M568.24,328.87 C568.24,364.4 568.24,394.26 568.24,427.67 " fill="none" id="McpSession-backto-DefaultMcpSession" style="stroke:#454645;stroke-width:1;stroke-dasharray:7.0,7.0;"/><polygon fill="none" points="568.24,310.87,562.24,328.87,574.24,328.87,568.24,310.87" style="stroke:#454645;stroke-width:1;"/></g><!--reverse link DefaultMcpSession to McpAsyncClient--><g id="link_DefaultMcpSession_McpAsyncClient"><path codeLine="75" d="M494.487,519.2698 C453.017,547.2998 410.98,575.73 360.22,610.05 " fill="none" id="DefaultMcpSession-backto-McpAsyncClient" style="stroke:#454645;stroke-width:1;"/><polygon fill="none" points="509.4,509.19,491.1271,514.2988,497.847,524.2408,509.4,509.19" style="stroke:#454645;stroke-width:1;"/></g><!--link McpClient to McpAsyncClient--><g id="link_McpClient_McpAsyncClient"><path codeLine="76" d="M78.6,302.7 C49.14,360.19 6,468.49 47.24,549.45 C59.05,572.64 72.1461,588.9572 92.0161,606.3572 " fill="none" id="McpClient-to-McpAsyncClient" style="stroke:#454645;stroke-width:1;stroke-dasharray:7.0,7.0;"/><polygon fill="#454645" points="96.53,610.31,92.3943,601.3715,92.7684,607.016,87.1239,607.3901,96.53,610.31" style="stroke:#454645;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="48.3247" x="48.24" y="472.9769">creates</text></g><!--link McpClient to McpSyncClient--><g id="link_McpClient_McpSyncClient"><path codeLine="77" d="M131.12,302.35 C149.33,326.38 169.6456,353.1784 191.6956,382.2684 " fill="none" id="McpClient-to-McpSyncClient" style="stroke:#454645;stroke-width:1;stroke-dasharray:7.0,7.0;"/><polygon fill="#454645" points="195.32,387.05,193.0711,377.4613,192.2997,383.0653,186.6957,382.2939,195.32,387.05" style="stroke:#454645;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="48.3247" x="171.24" y="353.4369">creates</text></g><!--reverse link McpSyncClient to McpAsyncClient--><g id="link_McpSyncClient_McpAsyncClient"><path codeLine="78" d="M249.9688,561.8226 C248.6388,581.4526 248.02,590.48 246.69,610.11 " fill="none" id="McpSyncClient-backto-McpAsyncClient" style="stroke:#454645;stroke-width:1;"/><polygon fill="none" points="250.78,549.85,246.3836,555.5659,249.9688,561.8226,254.3653,556.1067,250.78,549.85" style="stroke:#454645;stroke-width:1;"/></g><!--reverse link DefaultMcpSession to McpTransport--><g id="link_DefaultMcpSession_McpTransport"><path codeLine="79" d="M570.3462,521.1801 C571.5762,551.5101 572.83,582.12 574.3,618.4 " fill="none" id="DefaultMcpSession-backto-McpTransport" style="stroke:#454645;stroke-width:1;"/><polygon fill="none" points="569.86,509.19,566.1064,515.3472,570.3462,521.1801,574.0998,515.023,569.86,509.19" style="stroke:#454645;stroke-width:1;"/></g><!--reverse link McpSchema to McpSession--><g id="link_McpSchema_McpSession"><path codeLine="80" d="M500.7267,142.1952 C514.8967,167.1052 527.87,189.92 541,213.02 " fill="none" id="McpSchema-backto-McpSession" style="stroke:#454645;stroke-width:1;stroke-dasharray:7.0,7.0;"/><polygon fill="#454645" points="497.76,136.98,498.7332,146.7807,500.2322,141.326,505.6869,142.8251,497.76,136.98" style="stroke:#454645;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="29.7832" x="522.24" y="179.5469">uses</text></g><!--link McpError to McpSession--><g id="link_McpError_McpSession"><path codeLine="81" d="M652.02,112.19 C635.44,141.61 615.6638,176.7218 598.0738,207.9618 " fill="none" id="McpError-to-McpSession" style="stroke:#454645;stroke-width:1;stroke-dasharray:7.0,7.0;"/><polygon fill="#454645" points="595.13,213.19,603.0312,207.3102,597.5832,208.8332,596.0602,203.3852,595.13,213.19" style="stroke:#454645;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="44.04" x="622.24" y="179.5469">throws</text></g><!--SRC=[ZPHDRjim48NtEWMBRbe4zW42mq3W1ccAEZOietkQ6ZjiQL8bHoxI97VlIAGKabA0xip7n_dvv9aF-0XdO1Tvi5nZ8JM2FN81R2tgFKckDXRPSy7OrSN8YZda5Zzz7iv26GV-l3RQB7wGkFJgdQKunqQffyZl0E_rmJJL6fpZ9_ZATQN0JZXqTMkjiOaXIk50zp7exhKe-C4XPKHApfrZD-4uwkFZvl0JIETr3PQPwD1UdeRifTI_kgojjcbmB7Rr1OKAIDYLL9eqsfDRx9UiAttlwzx1xmOSJlRqO50UfU18h_-3A-Nr_Nw18syKPgbdIVlO_sfltiSmnAJ7AoL1Xp_0CtrybEALSVUaXIzkq88KlxrfjJX0ryczbYYvadzX1uugNZ8vA573AwxKtXZLcqGuHvRlqc4hkTwZUY4pqRrfh834E8YHUGUywlNUQoCjYxkrvbnZ4ZL8aV4EWjZRJhsGuIepMZce4QSKKKOeWvEpcS0oHMKCP8B72CMOH0PXca69bJGbs0lOT6HdvAMI70r8UnbExOLtRxdbPw3fSwmUVgPi1QqvxhbwiHlUbQcWZNFrDhjXDbFnMxbvs6rNOT_a3poBbI59OnOkg4anNMhV61cPe2AwNj1AVMBda8HU9CExU9dF9xTQCRdg5Y-psIJH8beHNSpHvYZ6kwIBbevqyROTvlDbFk_NJD0V1Odko5Q-uufqCyushYcOqiRyTrvGMv7pcZNEv_3e-qA6Qtoqve_x1m00]--></g></svg>