- Add roots list capability to allow servers to understand filesystem boundaries - Move architecture diagram and add detailed documentation for transports and sessions - Enhance client capabilities with roots and sampling features - Rename withRequestTimeout to requestTimeout for better API consistency - Add tests for roots list functionality Resolves #8
1 line
No EOL
28 KiB
XML
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" height="936px" preserveAspectRatio="none" style="width:946px;height:936px;background:#FFFFFF;" version="1.1" viewBox="0 0 946 936" width="946px" zoomAndPan="magnify"><defs/><g><!--class McpTransport--><g id="elem_McpTransport"><rect codeLine="1" fill="#F1F1F1" height="129.4844" id="McpTransport" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="446.0342" x="394.9" y="642.5"/><ellipse cx="565.4601" cy="658.5" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M561.3819,654.2656 L561.3819,652.1094 L568.7726,652.1094 L568.7726,654.2656 L566.3038,654.2656 L566.3038,662.3438 L568.7726,662.3438 L568.7726,664.5 L561.3819,664.5 L561.3819,662.3438 L563.8507,662.3438 L563.8507,654.2656 L561.3819,654.2656 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="96.4141" x="585.9601" y="663.3467">McpTransport</text><line style="stroke:#181818;stroke-width:0.5;" x1="395.9" x2="839.9342" y1="674.5" y2="674.5"/><line style="stroke:#181818;stroke-width:0.5;" x1="395.9" x2="839.9342" y1="682.5" y2="682.5"/><ellipse cx="405.9" cy="696.1484" 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="420.0342" x="414.9" y="699.4951">Mono<Void> connect(Function<Mono<JSONRPCMessage>,</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="260.4697" x="414.9" y="715.792">Mono<JSONRPCMessage>> handler)</text><ellipse cx="405.9" cy="728.7422" 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="414.9" y="732.0889">Mono<Void> sendMessage()</text><ellipse cx="405.9" cy="745.0391" 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="414.9" y="748.3857">void close()</text><ellipse cx="405.9" cy="761.3359" 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="414.9" y="764.6826">Mono<Void> closeGracefully()</text></g><!--class McpSession--><g id="elem_McpSession"><rect codeLine="9" fill="#F1F1F1" height="113.1875" id="McpSession" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="709.833" x="229.9" y="213"/><ellipse cx="539.527" cy="229" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M535.4488,224.7656 L535.4488,222.6094 L542.8395,222.6094 L542.8395,224.7656 L540.3707,224.7656 L540.3707,232.8438 L542.8395,232.8438 L542.8395,235 L535.4488,235 L535.4488,232.8438 L537.9176,232.8438 L537.9176,224.7656 L535.4488,224.7656 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="82.0791" x="560.027" y="233.8467">McpSession</text><line style="stroke:#181818;stroke-width:0.5;" x1="230.9" x2="938.733" y1="245" y2="245"/><line style="stroke:#181818;stroke-width:0.5;" x1="230.9" x2="938.733" y1="253" y2="253"/><ellipse cx="240.9" cy="266.6484" 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="683.833" x="249.9" y="269.9951"><T> Mono<T> sendRequest(String method, Object requestParams, TypeReference<T> typeRef)</text><ellipse cx="240.9" cy="282.9453" 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="537.4961" x="249.9" y="286.292">Mono<Void> sendNotification(String method, Map<String, Object> params)</text><ellipse cx="240.9" cy="299.2422" 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="249.9" y="302.5889">Mono<Void> closeGracefully()</text><ellipse cx="240.9" cy="315.5391" 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="46.9834" x="249.9" y="318.8857">close()</text></g><!--class DefaultMcpSession--><g id="elem_DefaultMcpSession"><rect codeLine="16" fill="#F1F1F1" height="80.5938" id="DefaultMcpSession" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="224.7891" x="472.4" y="443.5"/><ellipse cx="514.2005" cy="459.5" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M517.1692,465.1406 Q516.5911,465.4375 515.9505,465.5781 Q515.3099,465.7344 514.6067,465.7344 Q512.1067,465.7344 510.7786,464.0938 Q509.4661,462.4375 509.4661,459.3125 Q509.4661,456.1875 510.7786,454.5313 Q512.1067,452.875 514.6067,452.875 Q515.3099,452.875 515.9505,453.0313 Q516.6067,453.1875 517.1692,453.4844 L517.1692,456.2031 Q516.5442,455.625 515.9505,455.3594 Q515.3567,455.0781 514.7317,455.0781 Q513.388,455.0781 512.7005,456.1563 Q512.013,457.2188 512.013,459.3125 Q512.013,461.4063 512.7005,462.4844 Q513.388,463.5469 514.7317,463.5469 Q515.3567,463.5469 515.9505,463.2813 Q516.5442,463 517.1692,462.4219 L517.1692,465.1406 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133.2324" x="534.1562" y="464.3467">DefaultMcpSession</text><line style="stroke:#181818;stroke-width:0.5;" x1="473.4" x2="696.1891" y1="475.5" y2="475.5"/><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="480.4" y="486.1484"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="165.5527" x="492.4" y="492.4951">McpTransport transport</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="480.4" y="502.4453"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="198.7891" x="492.4" y="508.792">ObjectMapper objectMapper</text><line style="stroke:#181818;stroke-width:0.5;" x1="473.4" x2="696.1891" y1="516.0938" y2="516.0938"/></g><!--class McpClient--><g id="elem_McpClient"><rect codeLine="21" fill="#F1F1F1" height="80.5938" id="McpClient" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="101.1934" x="56.4" y="229"/><ellipse cx="71.4" cy="245" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M74.3688,250.6406 Q73.7906,250.9375 73.15,251.0781 Q72.5094,251.2344 71.8063,251.2344 Q69.3063,251.2344 67.9781,249.5938 Q66.6656,247.9375 66.6656,244.8125 Q66.6656,241.6875 67.9781,240.0313 Q69.3063,238.375 71.8063,238.375 Q72.5094,238.375 73.15,238.5313 Q73.8063,238.6875 74.3688,238.9844 L74.3688,241.7031 Q73.7438,241.125 73.15,240.8594 Q72.5563,240.5781 71.9313,240.5781 Q70.5875,240.5781 69.9,241.6563 Q69.2125,242.7188 69.2125,244.8125 Q69.2125,246.9063 69.9,247.9844 Q70.5875,249.0469 71.9313,249.0469 Q72.5563,249.0469 73.15,248.7813 Q73.7438,248.5 74.3688,247.9219 L74.3688,250.6406 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69.1934" x="85.4" y="249.8467">McpClient</text><line style="stroke:#181818;stroke-width:0.5;" x1="57.4" x2="156.5934" y1="261" y2="261"/><line style="stroke:#181818;stroke-width:0.5;" x1="57.4" x2="156.5934" y1="269" y2="269"/><ellipse cx="67.4" cy="282.6484" 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="76.4" y="285.9951">async()</text><ellipse cx="67.4" cy="298.9453" 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="76.4" y="302.292">sync()</text></g><!--class McpAsyncClient--><g id="elem_McpAsyncClient"><rect codeLine="26" fill="#F1F1F1" height="162.0781" id="McpAsyncClient" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="344.7256" x="15.4" y="626"/><ellipse cx="128.0528" cy="642" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M131.0216,647.6406 Q130.4435,647.9375 129.8028,648.0781 Q129.1622,648.2344 128.4591,648.2344 Q125.9591,648.2344 124.631,646.5938 Q123.3185,644.9375 123.3185,641.8125 Q123.3185,638.6875 124.631,637.0313 Q125.9591,635.375 128.4591,635.375 Q129.1622,635.375 129.8028,635.5313 Q130.4591,635.6875 131.0216,635.9844 L131.0216,638.7031 Q130.3966,638.125 129.8028,637.8594 Q129.2091,637.5781 128.5841,637.5781 Q127.2403,637.5781 126.5528,638.6563 Q125.8653,639.7188 125.8653,641.8125 Q125.8653,643.9063 126.5528,644.9844 Q127.2403,646.0469 128.5841,646.0469 Q129.2091,646.0469 129.8028,645.7813 Q130.3966,645.5 131.0216,644.9219 L131.0216,647.6406 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="110.9199" x="148.5528" y="646.8467">McpAsyncClient</text><line style="stroke:#181818;stroke-width:0.5;" x1="16.4" x2="359.1256" y1="658" y2="658"/><line style="stroke:#181818;stroke-width:0.5;" x1="16.4" x2="359.1256" y1="666" y2="666"/><ellipse cx="26.4" cy="679.6484" 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="35.4" y="682.9951">Mono<InitializeResult> initialize()</text><ellipse cx="26.4" cy="695.9453" 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="35.4" y="699.292">Mono<CallToolResult> callTool()</text><ellipse cx="26.4" cy="712.2422" 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="35.4" y="715.5889">Mono<ListToolsResult> listTools()</text><ellipse cx="26.4" cy="728.5391" 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="35.4" y="731.8857">Mono<ListResourcesResult> listResources()</text><ellipse cx="26.4" cy="744.8359" 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="35.4" y="748.1826">Mono<ReadResourceResult> readResource()</text><ellipse cx="26.4" cy="761.1328" 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="35.4" y="764.4795">Mono<ListPromptsResult> listPrompts()</text><ellipse cx="26.4" cy="777.4297" 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="35.4" y="780.7764">Mono<GetPromptResult> getPrompt()</text></g><!--class McpSyncClient--><g id="elem_McpSyncClient"><rect codeLine="36" fill="#F1F1F1" height="162.0781" id="McpSyncClient" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="283.1816" x="102.4" y="403"/><ellipse cx="188.273" cy="419" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M191.2418,424.6406 Q190.6637,424.9375 190.023,425.0781 Q189.3824,425.2344 188.6793,425.2344 Q186.1793,425.2344 184.8512,423.5938 Q183.5387,421.9375 183.5387,418.8125 Q183.5387,415.6875 184.8512,414.0313 Q186.1793,412.375 188.6793,412.375 Q189.3824,412.375 190.023,412.5313 Q190.6793,412.6875 191.2418,412.9844 L191.2418,415.7031 Q190.6168,415.125 190.023,414.8594 Q189.4293,414.5781 188.8043,414.5781 Q187.4605,414.5781 186.773,415.6563 Q186.0855,416.7188 186.0855,418.8125 Q186.0855,420.9063 186.773,421.9844 Q187.4605,423.0469 188.8043,423.0469 Q189.4293,423.0469 190.023,422.7813 Q190.6168,422.5 191.2418,421.9219 L191.2418,424.6406 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="102.9355" x="208.773" y="423.8467">McpSyncClient</text><line style="stroke:#181818;stroke-width:0.5;" x1="103.4" x2="384.5816" y1="435" y2="435"/><line style="stroke:#181818;stroke-width:0.5;" x1="103.4" x2="384.5816" y1="443" y2="443"/><ellipse cx="113.4" cy="456.6484" 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="122.4" y="459.9951">InitializeResult initialize()</text><ellipse cx="113.4" cy="472.9453" 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="122.4" y="476.292">CallToolResult callTool()</text><ellipse cx="113.4" cy="489.2422" 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="122.4" y="492.5889">ListToolsResult listTools()</text><ellipse cx="113.4" cy="505.5391" 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="122.4" y="508.8857">ListResourcesResult listResources()</text><ellipse cx="113.4" cy="521.8359" 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="122.4" y="525.1826">ReadResourceResult readResource()</text><ellipse cx="113.4" cy="538.1328" 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="122.4" y="541.4795">ListPromptsResult listPrompts()</text><ellipse cx="113.4" cy="554.4297" 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="122.4" y="557.7764">GetPromptResult getPrompt()</text></g><!--class StdioClientTransport--><g id="elem_StdioClientTransport"><rect codeLine="46" fill="#F1F1F1" height="80.5938" id="StdioClientTransport" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="238.3242" x="378.9" y="849"/><ellipse cx="421.9463" cy="865" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M424.9151,870.6406 Q424.337,870.9375 423.6963,871.0781 Q423.0557,871.2344 422.3526,871.2344 Q419.8526,871.2344 418.5245,869.5938 Q417.212,867.9375 417.212,864.8125 Q417.212,861.6875 418.5245,860.0313 Q419.8526,858.375 422.3526,858.375 Q423.0557,858.375 423.6963,858.5313 Q424.3526,858.6875 424.9151,858.9844 L424.9151,861.7031 Q424.2901,861.125 423.6963,860.8594 Q423.1026,860.5781 422.4776,860.5781 Q421.1338,860.5781 420.4463,861.6563 Q419.7588,862.7188 419.7588,864.8125 Q419.7588,866.9063 420.4463,867.9844 Q421.1338,869.0469 422.4776,869.0469 Q423.1026,869.0469 423.6963,868.7813 Q424.2901,868.5 424.9151,867.9219 L424.9151,870.6406 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="143.999" x="442.1789" y="869.8467">StdioClientTransport</text><line style="stroke:#181818;stroke-width:0.5;" x1="379.9" x2="616.2242" y1="881" y2="881"/><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="386.9" y="891.6484"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="156.0918" x="398.9" y="897.9951">Process serverProcess</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="386.9" y="907.9453"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="212.3242" x="398.9" y="914.292">ServerParameters parameters</text><line style="stroke:#181818;stroke-width:0.5;" x1="379.9" x2="616.2242" y1="921.5938" y2="921.5938"/></g><!--class SseClientTransport--><g id="elem_SseClientTransport"><rect codeLine="51" fill="#F1F1F1" height="64.2969" id="SseClientTransport" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="171.8037" x="651.9" y="857.5"/><ellipse cx="669.9278" cy="873.5" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M672.8966,879.1406 Q672.3185,879.4375 671.6778,879.5781 Q671.0372,879.7344 670.3341,879.7344 Q667.8341,879.7344 666.506,878.0938 Q665.1935,876.4375 665.1935,873.3125 Q665.1935,870.1875 666.506,868.5313 Q667.8341,866.875 670.3341,866.875 Q671.0372,866.875 671.6778,867.0313 Q672.3341,867.1875 672.8966,867.4844 L672.8966,870.2031 Q672.2716,869.625 671.6778,869.3594 Q671.0841,869.0781 670.4591,869.0781 Q669.1153,869.0781 668.4278,870.1563 Q667.7403,871.2188 667.7403,873.3125 Q667.7403,875.4063 668.4278,876.4844 Q669.1153,877.5469 670.4591,877.5469 Q671.0841,877.5469 671.6778,877.2813 Q672.2716,877 672.8966,876.4219 L672.8966,879.1406 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133.0752" x="684.6007" y="878.3467">SseClientTransport</text><line style="stroke:#181818;stroke-width:0.5;" x1="652.9" x2="822.7037" y1="889.5" y2="889.5"/><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="659.9" y="900.1484"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="145.8037" x="671.9" y="906.4951">WebClient webClient</text><line style="stroke:#181818;stroke-width:0.5;" x1="652.9" x2="822.7037" y1="913.7969" y2="913.7969"/></g><!--class McpSchema--><g id="elem_McpSchema"><rect codeLine="55" fill="#F1F1F1" height="129.4844" id="McpSchema" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="221.002" x="367.4" y="7"/><ellipse cx="431.1759" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M434.1446,28.6406 Q433.5665,28.9375 432.9259,29.0781 Q432.2853,29.2344 431.5821,29.2344 Q429.0821,29.2344 427.754,27.5938 Q426.4415,25.9375 426.4415,22.8125 Q426.4415,19.6875 427.754,18.0313 Q429.0821,16.375 431.5821,16.375 Q432.2853,16.375 432.9259,16.5313 Q433.5821,16.6875 434.1446,16.9844 L434.1446,19.7031 Q433.5196,19.125 432.9259,18.8594 Q432.3321,18.5781 431.7071,18.5781 Q430.3634,18.5781 429.6759,19.6563 Q428.9884,20.7188 428.9884,22.8125 Q428.9884,24.9063 429.6759,25.9844 Q430.3634,27.0469 431.7071,27.0469 Q432.3321,27.0469 432.9259,26.7813 Q433.5196,26.5 434.1446,25.9219 L434.1446,28.6406 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84.9502" x="451.6759" y="27.8467">McpSchema</text><line style="stroke:#181818;stroke-width:0.5;" x1="368.4" x2="587.402" y1="39" y2="39"/><ellipse cx="378.4" 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="387.4" y="55.9951">class ErrorCodes</text><ellipse cx="378.4" 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="387.4" y="72.292">interface Request</text><ellipse cx="378.4" 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="387.4" y="88.5889">interface JSONRPCMessage</text><ellipse cx="378.4" 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="387.4" y="104.8857">interface ResourceContents</text><ellipse cx="378.4" 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="387.4" y="121.1826">interface Content</text><line style="stroke:#181818;stroke-width:0.5;" x1="368.4" x2="587.402" y1="128.4844" y2="128.4844"/></g><!--class McpError--><g id="elem_McpError"><rect codeLine="63" fill="#F1F1F1" height="80.5938" id="McpError" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="135.1494" x="623.4" y="31"/><ellipse cx="656.3134" cy="47" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M659.2822,52.6406 Q658.7041,52.9375 658.0634,53.0781 Q657.4228,53.2344 656.7197,53.2344 Q654.2197,53.2344 652.8916,51.5938 Q651.5791,49.9375 651.5791,46.8125 Q651.5791,43.6875 652.8916,42.0313 Q654.2197,40.375 656.7197,40.375 Q657.4228,40.375 658.0634,40.5313 Q658.7197,40.6875 659.2822,40.9844 L659.2822,43.7031 Q658.6572,43.125 658.0634,42.8594 Q657.4697,42.5781 656.8447,42.5781 Q655.5009,42.5781 654.8134,43.6563 Q654.1259,44.7188 654.1259,46.8125 Q654.1259,48.9063 654.8134,49.9844 Q655.5009,51.0469 656.8447,51.0469 Q657.4697,51.0469 658.0634,50.7813 Q658.6572,50.5 659.2822,49.9219 L659.2822,52.6406 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63.3418" x="674.2942" y="51.8467">McpError</text><line style="stroke:#181818;stroke-width:0.5;" x1="624.4" x2="757.5494" y1="63" y2="63"/><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="631.4" y="73.6484"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56.4648" x="643.4" y="79.9951">int code</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="631.4" y="89.9453"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109.1494" x="643.4" y="96.292">String message</text><line style="stroke:#181818;stroke-width:0.5;" x1="624.4" x2="757.5494" y1="103.5938" y2="103.5938"/></g><!--reverse link McpTransport to StdioClientTransport--><g id="link_McpTransport_StdioClientTransport"><path codeLine="68" d="M565.6256,786.6304 C548.5556,812.3104 539.35,826.15 524.32,848.76 " fill="none" id="McpTransport-backto-StdioClientTransport" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="575.59,771.64,560.6288,783.3089,570.6224,789.9518,575.59,771.64" style="stroke:#181818;stroke-width:1;"/></g><!--reverse link McpTransport to SseClientTransport--><g id="link_McpTransport_SseClientTransport"><path codeLine="69" d="M670.1755,786.6296 C689.4755,815.6596 701.49,833.73 717.13,857.26 " fill="none" id="McpTransport-backto-SseClientTransport" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="660.21,771.64,665.179,789.9514,675.1721,783.3078,660.21,771.64" style="stroke:#181818;stroke-width:1;"/></g><!--reverse link McpSession to DefaultMcpSession--><g id="link_McpSession_DefaultMcpSession"><path codeLine="70" d="M584.9,344.05 C584.9,380.82 584.9,410.17 584.9,443.2 " fill="none" id="McpSession-backto-DefaultMcpSession" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="584.9,326.05,578.9,344.05,590.9,344.05,584.9,326.05" style="stroke:#181818;stroke-width:1;"/></g><!--link DefaultMcpSession to McpAsyncClient--><g id="link_DefaultMcpSession_McpAsyncClient"><path codeLine="71" d="M513.92,524.51 C463.41,552.63 404.2649,585.5534 342.3249,620.0334 " fill="none" id="DefaultMcpSession-to-McpAsyncClient" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="331.84,625.87,339.028,626.4467,342.3249,620.0334,335.1369,619.4567,331.84,625.87" style="stroke:#181818;stroke-width:1;"/></g><!--link McpClient to McpAsyncClient--><g id="link_McpClient_McpAsyncClient"><path codeLine="72" d="M78.58,310.07 C62.29,335.33 43.41,369.51 34.9,403 C17.17,472.78 6,499.06 34.9,565 C44.76,587.5 56.0162,603.6699 73.3362,621.6399 " fill="none" id="McpClient-to-McpAsyncClient" style="stroke:#181818;stroke-width:1;stroke-dasharray:7.0,7.0;"/><polygon fill="#181818" points="77.5,625.96,74.1343,616.7041,74.0302,622.36,68.3743,622.2558,77.5,625.96" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="48.3247" x="35.9" y="488.5669">creates</text></g><!--link McpClient to McpSyncClient--><g id="link_McpClient_McpSyncClient"><path codeLine="73" d="M132.67,310.47 C149.41,336.44 168.569,366.1571 188.889,397.6771 " fill="none" id="McpClient-to-McpSyncClient" style="stroke:#181818;stroke-width:1;stroke-dasharray:7.0,7.0;"/><polygon fill="#181818" points="192.14,402.72,190.6254,392.9883,189.4308,398.5176,183.9015,397.323,192.14,402.72" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="48.3247" x="172.9" y="369.0669">creates</text></g><!--reverse link McpSyncClient to McpAsyncClient--><g id="link_McpSyncClient_McpAsyncClient"><path codeLine="74" d="M220.6563,576.7334 C215.6563,596.4934 213.23,606.03 208.22,625.8 " fill="none" id="McpSyncClient-backto-McpAsyncClient" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="223.6,565.1,218.2504,569.9355,220.6563,576.7334,226.006,571.8979,223.6,565.1" style="stroke:#181818;stroke-width:1;"/></g><!--reverse link DefaultMcpSession to McpTransport--><g id="link_DefaultMcpSession_McpTransport"><path codeLine="75" d="M592.5739,536.3782 C597.4539,569.0282 602.69,604.16 608.37,642.14 " fill="none" id="DefaultMcpSession-backto-McpTransport" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="590.8,524.51,587.7309,531.0354,592.5739,536.3782,595.643,529.8528,590.8,524.51" style="stroke:#181818;stroke-width:1;"/></g><!--reverse link McpSchema to McpSession--><g id="link_McpSchema_McpSession"><path codeLine="76" d="M515.516,141.4058 C529.006,166.1058 541.43,188.88 554.48,212.77 " fill="none" id="McpSchema-backto-McpSession" style="stroke:#181818;stroke-width:1;stroke-dasharray:7.0,7.0;"/><polygon fill="#181818" points="512.64,136.14,513.4434,145.956,515.0366,140.5282,520.4645,142.1214,512.64,136.14" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="29.7832" x="538.9" y="179.0669">uses</text></g><!--link McpError to McpSession--><g id="link_McpError_McpSession"><path codeLine="77" d="M669.45,112.16 C653.78,141.13 635.1847,175.5226 617.8047,207.6526 " fill="none" id="McpError-to-McpSession" style="stroke:#181818;stroke-width:1;stroke-dasharray:7.0,7.0;"/><polygon fill="#181818" points="614.95,212.93,622.7503,206.917,617.3289,208.5322,615.7138,203.1108,614.95,212.93" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="44.04" x="638.9" y="179.0669">throws</text></g><!--SRC=[XLNHRjiW57ttL_3OgN4-eB8iJTbQRLhQA8wsPufl4YO27k1MMTT_txM11B2dvGdEFTnxxi7SS6b1xoa3icRTJbDfEgKjUIi8kLqhgQhlYhSrOKfAOFRclfVCSYMhCVQrUNhSRbPhC8OUe5uGF3NxcsFNv4XbAq1_o6ePaAqdtOon5uG94yhuVQnhG1yqwj_tGfmn_buKFEwfmKmes7LKxMgdPUVARE5N3yRUD5PpUI0di4VLBiZJyqzibcWNtL1DJsP1TkSEjh073PB1aC4wO4x_ex9ypnaTlCgphsbNEIXKgaatrlX_TnWFHc2ZJ51Zo2VOqrxOhDSokKyRLaF45KKP7MYYeiqr9nvU2GxIVmblnc8hx9rGSvRCwRXW7ehFVXomEC7Or1V9BQU2_qRN32gk2RyWqSskg10xfKGWCR-FAD-uiGDa0aS482DXNFMQGKAyW15v2xGDUE3g2CloRhGwTJR9wg68-00U3BH303AxciojtAY9Jwb5cKEPERatCxRCkJ8rPCQFYHLJ9p8JvZreRCkLSo2TGILoKPB1HwLVGFlT46WSCBmRmETkt1CQbr5U0xDPVy2pz_irhD8BOKSuKNSP3loijT8hrS9G_FOwOVm4IS5qqkK7d84hXP2qMJgF9cB6qaut4d4Kjp0Q4AQAAu8daXTV_IdBML_dQ1ERYcYQZ9J9a2ccOwSiLVRuY-iSMIxhV3BS4OQVb4LB9xJc7wm8LwWggpQLv4bfN-vog-Ko_d-u8xrnDPpVGSWbR8zQlPg_]--></g></svg> |