File size: 41,448 Bytes
b929261
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.43.0 (0)
 -->
<!-- Title: ConceptMap Pages: 1 -->
<svg width="1607pt" height="671pt"
 viewBox="0.00 0.00 1606.50 671.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(36 635)">
<title>ConceptMap</title>
<polygon fill="white" stroke="transparent" points="-36,36 -36,-635 1570.5,-635 1570.5,36 -36,36"/>
<!-- central -->
<g id="node1" class="node">
<title>central</title>
<path fill="#19191a" stroke="black" d="M831.5,-599C831.5,-599 587.5,-599 587.5,-599 581.5,-599 575.5,-593 575.5,-587 575.5,-587 575.5,-575 575.5,-575 575.5,-569 581.5,-563 587.5,-563 587.5,-563 831.5,-563 831.5,-563 837.5,-563 843.5,-569 843.5,-575 843.5,-575 843.5,-587 843.5,-587 843.5,-593 837.5,-599 831.5,-599"/>
<text text-anchor="middle" x="709.5" y="-577.2" font-family="Times,serif" font-size="16.00" fill="white">Model Context Protocol (MCP)</text>
</g>
<!-- communication_layer -->
<g id="node2" class="node">
<title>communication_layer</title>
<path fill="#343435" stroke="black" d="M411,-517C411,-517 284,-517 284,-517 278,-517 272,-511 272,-505 272,-505 272,-493 272,-493 272,-487 278,-481 284,-481 284,-481 411,-481 411,-481 417,-481 423,-487 423,-493 423,-493 423,-505 423,-505 423,-511 417,-517 411,-517"/>
<text text-anchor="middle" x="347.5" y="-495.9" font-family="Times,serif" font-size="12.00" fill="white">Communication Layer</text>
</g>
<!-- central&#45;&gt;communication_layer -->
<g id="edge1" class="edge">
<title>central&#45;&gt;communication_layer</title>
<path fill="none" stroke="#4a4a4a" d="M575.48,-581C472.41,-581 347.5,-581 347.5,-581 347.5,-581 347.5,-527.2 347.5,-527.2"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="351,-527.2 347.5,-517.2 344,-527.2 351,-527.2"/>
<text text-anchor="middle" x="451.5" y="-537.8" font-family="Times,serif" font-size="9.00" fill="#4a4a4a">establishes</text>
</g>
<!-- resource_management -->
<g id="node8" class="node">
<title>resource_management</title>
<path fill="#343435" stroke="black" d="M608,-517C608,-517 477,-517 477,-517 471,-517 465,-511 465,-505 465,-505 465,-493 465,-493 465,-487 471,-481 477,-481 477,-481 608,-481 608,-481 614,-481 620,-487 620,-493 620,-493 620,-505 620,-505 620,-511 614,-517 608,-517"/>
<text text-anchor="middle" x="542.5" y="-495.9" font-family="Times,serif" font-size="12.00" fill="white">Resource Management</text>
</g>
<!-- central&#45;&gt;resource_management -->
<g id="edge7" class="edge">
<title>central&#45;&gt;resource_management</title>
<path fill="none" stroke="#4a4a4a" d="M597.75,-562.8C597.75,-562.8 597.75,-527.15 597.75,-527.15"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="601.25,-527.15 597.75,-517.15 594.25,-527.15 601.25,-527.15"/>
<text text-anchor="middle" x="618" y="-537.8" font-family="Times,serif" font-size="9.00" fill="#4a4a4a">handles</text>
</g>
<!-- context_integration -->
<g id="node18" class="node">
<title>context_integration</title>
<path fill="#343435" stroke="black" d="M764.5,-517C764.5,-517 654.5,-517 654.5,-517 648.5,-517 642.5,-511 642.5,-505 642.5,-505 642.5,-493 642.5,-493 642.5,-487 648.5,-481 654.5,-481 654.5,-481 764.5,-481 764.5,-481 770.5,-481 776.5,-487 776.5,-493 776.5,-493 776.5,-505 776.5,-505 776.5,-511 770.5,-517 764.5,-517"/>
<text text-anchor="middle" x="709.5" y="-495.9" font-family="Times,serif" font-size="12.00" fill="white">Context Integration</text>
</g>
<!-- central&#45;&gt;context_integration -->
<g id="edge17" class="edge">
<title>central&#45;&gt;context_integration</title>
<path fill="none" stroke="#4a4a4a" d="M709.5,-562.8C709.5,-562.8 709.5,-527.15 709.5,-527.15"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="713,-527.15 709.5,-517.15 706,-527.15 713,-527.15"/>
<text text-anchor="middle" x="732.5" y="-537.8" font-family="Times,serif" font-size="9.00" fill="#4a4a4a">facilitates</text>
</g>
<!-- security_framework -->
<g id="node25" class="node">
<title>security_framework</title>
<path fill="#343435" stroke="black" d="M990.5,-517C990.5,-517 872.5,-517 872.5,-517 866.5,-517 860.5,-511 860.5,-505 860.5,-505 860.5,-493 860.5,-493 860.5,-487 866.5,-481 872.5,-481 872.5,-481 990.5,-481 990.5,-481 996.5,-481 1002.5,-487 1002.5,-493 1002.5,-493 1002.5,-505 1002.5,-505 1002.5,-511 996.5,-517 990.5,-517"/>
<text text-anchor="middle" x="931.5" y="-495.9" font-family="Times,serif" font-size="12.00" fill="white">Security Framework</text>
</g>
<!-- central&#45;&gt;security_framework -->
<g id="edge24" class="edge">
<title>central&#45;&gt;security_framework</title>
<path fill="none" stroke="#4a4a4a" d="M823.5,-562.8C823.5,-538.64 823.5,-499 823.5,-499 823.5,-499 850.37,-499 850.37,-499"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="850.37,-502.5 860.37,-499 850.37,-495.5 850.37,-502.5"/>
<text text-anchor="middle" x="921.5" y="-537.8" font-family="Times,serif" font-size="9.00" fill="#4a4a4a">implements</text>
</g>
<!-- extensibility_model -->
<g id="node32" class="node">
<title>extensibility_model</title>
<path fill="#343435" stroke="black" d="M1312.5,-517C1312.5,-517 1204.5,-517 1204.5,-517 1198.5,-517 1192.5,-511 1192.5,-505 1192.5,-505 1192.5,-493 1192.5,-493 1192.5,-487 1198.5,-481 1204.5,-481 1204.5,-481 1312.5,-481 1312.5,-481 1318.5,-481 1324.5,-487 1324.5,-493 1324.5,-493 1324.5,-505 1324.5,-505 1324.5,-511 1318.5,-517 1312.5,-517"/>
<text text-anchor="middle" x="1258.5" y="-495.9" font-family="Times,serif" font-size="12.00" fill="white">Extensibility Model</text>
</g>
<!-- central&#45;&gt;extensibility_model -->
<g id="edge31" class="edge">
<title>central&#45;&gt;extensibility_model</title>
<path fill="none" stroke="#4a4a4a" d="M843.8,-581C1006.33,-581 1258.5,-581 1258.5,-581 1258.5,-581 1258.5,-527.2 1258.5,-527.2"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1262,-527.2 1258.5,-517.2 1255,-527.2 1262,-527.2"/>
<text text-anchor="middle" x="1135" y="-537.8" font-family="Times,serif" font-size="9.00" fill="#4a4a4a">supports</text>
</g>
<!-- bidirectional_messaging -->
<g id="node3" class="node">
<title>bidirectional_messaging</title>
<path fill="#505050" stroke="black" d="M214.5,-436C214.5,-436 98.5,-436 98.5,-436 92.5,-436 86.5,-430 86.5,-424 86.5,-424 86.5,-412 86.5,-412 86.5,-406 92.5,-400 98.5,-400 98.5,-400 214.5,-400 214.5,-400 220.5,-400 226.5,-406 226.5,-412 226.5,-412 226.5,-424 226.5,-424 226.5,-430 220.5,-436 214.5,-436"/>
<text text-anchor="middle" x="156.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Bidirectional Messaging</text>
</g>
<!-- communication_layer&#45;&gt;bidirectional_messaging -->
<g id="edge2" class="edge">
<title>communication_layer&#45;&gt;bidirectional_messaging</title>
<path fill="none" stroke="#4a4a4a" d="M298,-480.84C298,-458.65 298,-424 298,-424 298,-424 236.84,-424 236.84,-424"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="236.84,-420.5 226.84,-424 236.84,-427.5 236.84,-420.5"/>
<text text-anchor="middle" x="315" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">enables</text>
</g>
<!-- request_response_pattern -->
<g id="node4" class="node">
<title>request_response_pattern</title>
<path fill="#6b6b6c" stroke="black" d="M131.5,-356C131.5,-356 17.5,-356 17.5,-356 11.5,-356 5.5,-350 5.5,-344 5.5,-344 5.5,-332 5.5,-332 5.5,-326 11.5,-320 17.5,-320 17.5,-320 131.5,-320 131.5,-320 137.5,-320 143.5,-326 143.5,-332 143.5,-332 143.5,-344 143.5,-344 143.5,-350 137.5,-356 131.5,-356"/>
<text text-anchor="middle" x="74.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Request&#45;Response Pattern</text>
</g>
<!-- bidirectional_messaging&#45;&gt;request_response_pattern -->
<g id="edge3" class="edge">
<title>bidirectional_messaging&#45;&gt;request_response_pattern</title>
<path fill="none" stroke="#4a4a4a" d="M115,-399.85C115,-399.85 115,-366.08 115,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="118.5,-366.08 115,-356.08 111.5,-366.08 118.5,-366.08"/>
<text text-anchor="middle" x="126.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">follows</text>
</g>
<!-- json_rpc_protocol -->
<g id="node5" class="node">
<title>json_rpc_protocol</title>
<path fill="#878787" stroke="black" d="M115.5,-276C115.5,-276 33.5,-276 33.5,-276 27.5,-276 21.5,-270 21.5,-264 21.5,-264 21.5,-252 21.5,-252 21.5,-246 27.5,-240 33.5,-240 33.5,-240 115.5,-240 115.5,-240 121.5,-240 127.5,-246 127.5,-252 127.5,-252 127.5,-264 127.5,-264 127.5,-270 121.5,-276 115.5,-276"/>
<text text-anchor="middle" x="74.5" y="-255.8" font-family="Times,serif" font-size="9.00" fill="white">JSON&#45;RPC Protocol</text>
</g>
<!-- request_response_pattern&#45;&gt;json_rpc_protocol -->
<g id="edge4" class="edge">
<title>request_response_pattern&#45;&gt;json_rpc_protocol</title>
<path fill="none" stroke="#4a4a4a" d="M74.5,-319.85C74.5,-319.85 74.5,-286.08 74.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="78,-286.08 74.5,-276.08 71,-286.08 78,-286.08"/>
<text text-anchor="middle" x="83" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">uses</text>
</g>
<!-- standardized_format -->
<g id="node6" class="node">
<title>standardized_format</title>
<path fill="#a3a3a3" stroke="black" d="M119.5,-196C119.5,-196 29.5,-196 29.5,-196 23.5,-196 17.5,-190 17.5,-184 17.5,-184 17.5,-172 17.5,-172 17.5,-166 23.5,-160 29.5,-160 29.5,-160 119.5,-160 119.5,-160 125.5,-160 131.5,-166 131.5,-172 131.5,-172 131.5,-184 131.5,-184 131.5,-190 125.5,-196 119.5,-196"/>
<text text-anchor="middle" x="74.5" y="-175.8" font-family="Times,serif" font-size="9.00">Standardized Format</text>
</g>
<!-- json_rpc_protocol&#45;&gt;standardized_format -->
<g id="edge5" class="edge">
<title>json_rpc_protocol&#45;&gt;standardized_format</title>
<path fill="none" stroke="#4a4a4a" d="M74.5,-239.85C74.5,-239.85 74.5,-206.08 74.5,-206.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="78,-206.08 74.5,-196.08 71,-206.08 78,-206.08"/>
<text text-anchor="middle" x="89" y="-216.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">ensures</text>
</g>
<!-- cross_platform_compatibility -->
<g id="node7" class="node">
<title>cross_platform_compatibility</title>
<path fill="#bebebe" stroke="black" d="M137,-116C137,-116 12,-116 12,-116 6,-116 0,-110 0,-104 0,-104 0,-92 0,-92 0,-86 6,-80 12,-80 12,-80 137,-80 137,-80 143,-80 149,-86 149,-92 149,-92 149,-104 149,-104 149,-110 143,-116 137,-116"/>
<text text-anchor="middle" x="74.5" y="-95.8" font-family="Times,serif" font-size="9.00">Cross&#45;Platform Compatibility</text>
</g>
<!-- standardized_format&#45;&gt;cross_platform_compatibility -->
<g id="edge6" class="edge">
<title>standardized_format&#45;&gt;cross_platform_compatibility</title>
<path fill="none" stroke="#4a4a4a" d="M74.5,-159.85C74.5,-159.85 74.5,-126.08 74.5,-126.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="78,-126.08 74.5,-116.08 71,-126.08 78,-126.08"/>
<text text-anchor="middle" x="90" y="-136.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">provides</text>
</g>
<!-- server_capabilities -->
<g id="node9" class="node">
<title>server_capabilities</title>
<path fill="#505050" stroke="black" d="M425,-436C425,-436 336,-436 336,-436 330,-436 324,-430 324,-424 324,-424 324,-412 324,-412 324,-406 330,-400 336,-400 336,-400 425,-400 425,-400 431,-400 437,-406 437,-412 437,-412 437,-424 437,-424 437,-430 431,-436 425,-436"/>
<text text-anchor="middle" x="380.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Server Capabilities</text>
</g>
<!-- resource_management&#45;&gt;server_capabilities -->
<g id="edge8" class="edge">
<title>resource_management&#45;&gt;server_capabilities</title>
<path fill="none" stroke="#4a4a4a" d="M471.25,-480.62C471.25,-456.72 471.25,-418 471.25,-418 471.25,-418 447.2,-418 447.2,-418"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="447.2,-414.5 437.2,-418 447.2,-421.5 447.2,-414.5"/>
<text text-anchor="middle" x="473" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">defines</text>
</g>
<!-- client_requests -->
<g id="node13" class="node">
<title>client_requests</title>
<path fill="#505050" stroke="black" d="M579,-436C579,-436 506,-436 506,-436 500,-436 494,-430 494,-424 494,-424 494,-412 494,-412 494,-406 500,-400 506,-400 506,-400 579,-400 579,-400 585,-400 591,-406 591,-412 591,-412 591,-424 591,-424 591,-430 585,-436 579,-436"/>
<text text-anchor="middle" x="542.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Client Requests</text>
</g>
<!-- resource_management&#45;&gt;client_requests -->
<g id="edge12" class="edge">
<title>resource_management&#45;&gt;client_requests</title>
<path fill="none" stroke="#4a4a4a" d="M542.5,-480.62C542.5,-480.62 542.5,-446.03 542.5,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="546,-446.03 542.5,-436.03 539,-446.03 546,-446.03"/>
<text text-anchor="middle" x="562" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">processes</text>
</g>
<!-- tools_registry -->
<g id="node10" class="node">
<title>tools_registry</title>
<path fill="#6b6b6c" stroke="black" d="M231.5,-356C231.5,-356 173.5,-356 173.5,-356 167.5,-356 161.5,-350 161.5,-344 161.5,-344 161.5,-332 161.5,-332 161.5,-326 167.5,-320 173.5,-320 173.5,-320 231.5,-320 231.5,-320 237.5,-320 243.5,-326 243.5,-332 243.5,-332 243.5,-344 243.5,-344 243.5,-350 237.5,-356 231.5,-356"/>
<text text-anchor="middle" x="202.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Tools Registry</text>
</g>
<!-- server_capabilities&#45;&gt;tools_registry -->
<g id="edge9" class="edge">
<title>server_capabilities&#45;&gt;tools_registry</title>
<path fill="none" stroke="#4a4a4a" d="M323.83,-412C282.98,-412 235,-412 235,-412 235,-412 235,-366.29 235,-366.29"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="238.5,-366.29 235,-356.29 231.5,-366.29 238.5,-366.29"/>
<text text-anchor="middle" x="221" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">maintains</text>
</g>
<!-- resource_catalog -->
<g id="node11" class="node">
<title>resource_catalog</title>
<path fill="#6b6b6c" stroke="black" d="M347.5,-356C347.5,-356 273.5,-356 273.5,-356 267.5,-356 261.5,-350 261.5,-344 261.5,-344 261.5,-332 261.5,-332 261.5,-326 267.5,-320 273.5,-320 273.5,-320 347.5,-320 347.5,-320 353.5,-320 359.5,-326 359.5,-332 359.5,-332 359.5,-344 359.5,-344 359.5,-350 353.5,-356 347.5,-356"/>
<text text-anchor="middle" x="310.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Resource Catalog</text>
</g>
<!-- server_capabilities&#45;&gt;resource_catalog -->
<g id="edge10" class="edge">
<title>server_capabilities&#45;&gt;resource_catalog</title>
<path fill="none" stroke="#4a4a4a" d="M341.75,-399.85C341.75,-399.85 341.75,-366.08 341.75,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="345.25,-366.08 341.75,-356.08 338.25,-366.08 345.25,-366.08"/>
<text text-anchor="middle" x="327.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">manages</text>
</g>
<!-- prompt_templates -->
<g id="node12" class="node">
<title>prompt_templates</title>
<path fill="#6b6b6c" stroke="black" d="M465.5,-356C465.5,-356 389.5,-356 389.5,-356 383.5,-356 377.5,-350 377.5,-344 377.5,-344 377.5,-332 377.5,-332 377.5,-326 383.5,-320 389.5,-320 389.5,-320 465.5,-320 465.5,-320 471.5,-320 477.5,-326 477.5,-332 477.5,-332 477.5,-344 477.5,-344 477.5,-350 471.5,-356 465.5,-356"/>
<text text-anchor="middle" x="427.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Prompt Templates</text>
</g>
<!-- server_capabilities&#45;&gt;prompt_templates -->
<g id="edge11" class="edge">
<title>server_capabilities&#45;&gt;prompt_templates</title>
<path fill="none" stroke="#4a4a4a" d="M407.25,-399.85C407.25,-399.85 407.25,-366.08 407.25,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="410.75,-366.08 407.25,-356.08 403.75,-366.08 410.75,-366.08"/>
<text text-anchor="middle" x="443" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">provides</text>
</g>
<!-- tool_invocation -->
<g id="node14" class="node">
<title>tool_invocation</title>
<path fill="#6b6b6c" stroke="black" d="M571,-356C571,-356 508,-356 508,-356 502,-356 496,-350 496,-344 496,-344 496,-332 496,-332 496,-326 502,-320 508,-320 508,-320 571,-320 571,-320 577,-320 583,-326 583,-332 583,-332 583,-344 583,-344 583,-350 577,-356 571,-356"/>
<text text-anchor="middle" x="539.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Tool Invocation</text>
</g>
<!-- client_requests&#45;&gt;tool_invocation -->
<g id="edge13" class="edge">
<title>client_requests&#45;&gt;tool_invocation</title>
<path fill="none" stroke="#4a4a4a" d="M539.5,-399.85C539.5,-399.85 539.5,-366.08 539.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="543,-366.08 539.5,-356.08 536,-366.08 543,-366.08"/>
<text text-anchor="middle" x="557" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">executes</text>
</g>
<!-- resource_access -->
<g id="node16" class="node">
<title>resource_access</title>
<path fill="#6b6b6c" stroke="black" d="M683.5,-356C683.5,-356 613.5,-356 613.5,-356 607.5,-356 601.5,-350 601.5,-344 601.5,-344 601.5,-332 601.5,-332 601.5,-326 607.5,-320 613.5,-320 613.5,-320 683.5,-320 683.5,-320 689.5,-320 695.5,-326 695.5,-332 695.5,-332 695.5,-344 695.5,-344 695.5,-350 689.5,-356 683.5,-356"/>
<text text-anchor="middle" x="648.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Resource Access</text>
</g>
<!-- client_requests&#45;&gt;resource_access -->
<g id="edge15" class="edge">
<title>client_requests&#45;&gt;resource_access</title>
<path fill="none" stroke="#4a4a4a" d="M587,-399.85C587,-376.24 587,-338 587,-338 587,-338 591.26,-338 591.26,-338"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="591.26,-341.5 601.26,-338 591.26,-334.5 591.26,-341.5"/>
<text text-anchor="middle" x="637.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">controls</text>
</g>
<!-- parameter_validation -->
<g id="node15" class="node">
<title>parameter_validation</title>
<path fill="#878787" stroke="black" d="M566.5,-276C566.5,-276 476.5,-276 476.5,-276 470.5,-276 464.5,-270 464.5,-264 464.5,-264 464.5,-252 464.5,-252 464.5,-246 470.5,-240 476.5,-240 476.5,-240 566.5,-240 566.5,-240 572.5,-240 578.5,-246 578.5,-252 578.5,-252 578.5,-264 578.5,-264 578.5,-270 572.5,-276 566.5,-276"/>
<text text-anchor="middle" x="521.5" y="-255.8" font-family="Times,serif" font-size="9.00" fill="white">Parameter Validation</text>
</g>
<!-- tool_invocation&#45;&gt;parameter_validation -->
<g id="edge14" class="edge">
<title>tool_invocation&#45;&gt;parameter_validation</title>
<path fill="none" stroke="#4a4a4a" d="M537.25,-319.85C537.25,-319.85 537.25,-286.08 537.25,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="540.75,-286.08 537.25,-276.08 533.75,-286.08 540.75,-286.08"/>
<text text-anchor="middle" x="538" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">performs</text>
</g>
<!-- permission_system -->
<g id="node17" class="node">
<title>permission_system</title>
<path fill="#878787" stroke="black" d="M688,-276C688,-276 609,-276 609,-276 603,-276 597,-270 597,-264 597,-264 597,-252 597,-252 597,-246 603,-240 609,-240 609,-240 688,-240 688,-240 694,-240 700,-246 700,-252 700,-252 700,-264 700,-264 700,-270 694,-276 688,-276"/>
<text text-anchor="middle" x="648.5" y="-255.8" font-family="Times,serif" font-size="9.00" fill="white">Permission System</text>
</g>
<!-- resource_access&#45;&gt;permission_system -->
<g id="edge16" class="edge">
<title>resource_access&#45;&gt;permission_system</title>
<path fill="none" stroke="#4a4a4a" d="M648.5,-319.85C648.5,-319.85 648.5,-286.08 648.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="652,-286.08 648.5,-276.08 645,-286.08 652,-286.08"/>
<text text-anchor="middle" x="664" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">enforces</text>
</g>
<!-- dynamic_context_injection -->
<g id="node19" class="node">
<title>dynamic_context_injection</title>
<path fill="#505050" stroke="black" d="M773.5,-436C773.5,-436 645.5,-436 645.5,-436 639.5,-436 633.5,-430 633.5,-424 633.5,-424 633.5,-412 633.5,-412 633.5,-406 639.5,-400 645.5,-400 645.5,-400 773.5,-400 773.5,-400 779.5,-400 785.5,-406 785.5,-412 785.5,-412 785.5,-424 785.5,-424 785.5,-430 779.5,-436 773.5,-436"/>
<text text-anchor="middle" x="709.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Dynamic Context Injection</text>
</g>
<!-- context_integration&#45;&gt;dynamic_context_injection -->
<g id="edge18" class="edge">
<title>context_integration&#45;&gt;dynamic_context_injection</title>
<path fill="none" stroke="#4a4a4a" d="M709.5,-480.62C709.5,-480.62 709.5,-446.03 709.5,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="713,-446.03 709.5,-436.03 706,-446.03 713,-446.03"/>
<text text-anchor="middle" x="727" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">supports</text>
</g>
<!-- real_time_data -->
<g id="node20" class="node">
<title>real_time_data</title>
<path fill="#6b6b6c" stroke="black" d="M787,-356C787,-356 726,-356 726,-356 720,-356 714,-350 714,-344 714,-344 714,-332 714,-332 714,-326 720,-320 726,-320 726,-320 787,-320 787,-320 793,-320 799,-326 799,-332 799,-332 799,-344 799,-344 799,-350 793,-356 787,-356"/>
<text text-anchor="middle" x="756.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Real&#45;time Data</text>
</g>
<!-- dynamic_context_injection&#45;&gt;real_time_data -->
<g id="edge19" class="edge">
<title>dynamic_context_injection&#45;&gt;real_time_data</title>
<path fill="none" stroke="#4a4a4a" d="M749.75,-399.85C749.75,-399.85 749.75,-366.08 749.75,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="753.25,-366.08 749.75,-356.08 746.25,-366.08 753.25,-366.08"/>
<text text-anchor="middle" x="752.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">incorporates</text>
</g>
<!-- live_system_state -->
<g id="node21" class="node">
<title>live_system_state</title>
<path fill="#878787" stroke="black" d="M805,-276C805,-276 730,-276 730,-276 724,-276 718,-270 718,-264 718,-264 718,-252 718,-252 718,-246 724,-240 730,-240 730,-240 805,-240 805,-240 811,-240 817,-246 817,-252 817,-252 817,-264 817,-264 817,-270 811,-276 805,-276"/>
<text text-anchor="middle" x="767.5" y="-255.8" font-family="Times,serif" font-size="9.00" fill="white">Live System State</text>
</g>
<!-- real_time_data&#45;&gt;live_system_state -->
<g id="edge20" class="edge">
<title>real_time_data&#45;&gt;live_system_state</title>
<path fill="none" stroke="#4a4a4a" d="M758.5,-319.85C758.5,-319.85 758.5,-286.08 758.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="762,-286.08 758.5,-276.08 755,-286.08 762,-286.08"/>
<text text-anchor="middle" x="775.5" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">reflects</text>
</g>
<!-- database_queries -->
<g id="node22" class="node">
<title>database_queries</title>
<path fill="#a3a3a3" stroke="black" d="M695.5,-196C695.5,-196 621.5,-196 621.5,-196 615.5,-196 609.5,-190 609.5,-184 609.5,-184 609.5,-172 609.5,-172 609.5,-166 615.5,-160 621.5,-160 621.5,-160 695.5,-160 695.5,-160 701.5,-160 707.5,-166 707.5,-172 707.5,-172 707.5,-184 707.5,-184 707.5,-190 701.5,-196 695.5,-196"/>
<text text-anchor="middle" x="658.5" y="-175.8" font-family="Times,serif" font-size="9.00">Database Queries</text>
</g>
<!-- live_system_state&#45;&gt;database_queries -->
<g id="edge21" class="edge">
<title>live_system_state&#45;&gt;database_queries</title>
<path fill="none" stroke="#4a4a4a" d="M717.9,-258C709.67,-258 703.75,-258 703.75,-258 703.75,-258 703.75,-206.15 703.75,-206.15"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="707.25,-206.15 703.75,-196.15 700.25,-206.15 707.25,-206.15"/>
<text text-anchor="middle" x="674" y="-216.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">includes</text>
</g>
<!-- api_responses -->
<g id="node23" class="node">
<title>api_responses</title>
<path fill="#a3a3a3" stroke="black" d="M797.5,-196C797.5,-196 737.5,-196 737.5,-196 731.5,-196 725.5,-190 725.5,-184 725.5,-184 725.5,-172 725.5,-172 725.5,-166 731.5,-160 737.5,-160 737.5,-160 797.5,-160 797.5,-160 803.5,-160 809.5,-166 809.5,-172 809.5,-172 809.5,-184 809.5,-184 809.5,-190 803.5,-196 797.5,-196"/>
<text text-anchor="middle" x="767.5" y="-175.8" font-family="Times,serif" font-size="9.00">API Responses</text>
</g>
<!-- live_system_state&#45;&gt;api_responses -->
<g id="edge22" class="edge">
<title>live_system_state&#45;&gt;api_responses</title>
<path fill="none" stroke="#4a4a4a" d="M767.5,-239.85C767.5,-239.85 767.5,-206.08 767.5,-206.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="771,-206.08 767.5,-196.08 764,-206.08 771,-206.08"/>
<text text-anchor="middle" x="783" y="-216.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">includes</text>
</g>
<!-- file_system_access -->
<g id="node24" class="node">
<title>file_system_access</title>
<path fill="#a3a3a3" stroke="black" d="M919.5,-196C919.5,-196 839.5,-196 839.5,-196 833.5,-196 827.5,-190 827.5,-184 827.5,-184 827.5,-172 827.5,-172 827.5,-166 833.5,-160 839.5,-160 839.5,-160 919.5,-160 919.5,-160 925.5,-160 931.5,-166 931.5,-172 931.5,-172 931.5,-184 931.5,-184 931.5,-190 925.5,-196 919.5,-196"/>
<text text-anchor="middle" x="879.5" y="-175.8" font-family="Times,serif" font-size="9.00">File System Access</text>
</g>
<!-- live_system_state&#45;&gt;file_system_access -->
<g id="edge23" class="edge">
<title>live_system_state&#45;&gt;file_system_access</title>
<path fill="none" stroke="#4a4a4a" d="M813.25,-239.85C813.25,-216.24 813.25,-178 813.25,-178 813.25,-178 817.3,-178 817.3,-178"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="817.3,-181.5 827.3,-178 817.3,-174.5 817.3,-181.5"/>
<text text-anchor="middle" x="895" y="-216.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">includes</text>
</g>
<!-- authentication_layer -->
<g id="node26" class="node">
<title>authentication_layer</title>
<path fill="#505050" stroke="black" d="M915.5,-436C915.5,-436 815.5,-436 815.5,-436 809.5,-436 803.5,-430 803.5,-424 803.5,-424 803.5,-412 803.5,-412 803.5,-406 809.5,-400 815.5,-400 815.5,-400 915.5,-400 915.5,-400 921.5,-400 927.5,-406 927.5,-412 927.5,-412 927.5,-424 927.5,-424 927.5,-430 921.5,-436 915.5,-436"/>
<text text-anchor="middle" x="865.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Authentication Layer</text>
</g>
<!-- security_framework&#45;&gt;authentication_layer -->
<g id="edge25" class="edge">
<title>security_framework&#45;&gt;authentication_layer</title>
<path fill="none" stroke="#4a4a4a" d="M894,-480.62C894,-480.62 894,-446.03 894,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="897.5,-446.03 894,-436.03 890.5,-446.03 897.5,-446.03"/>
<text text-anchor="middle" x="905.5" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">provides</text>
</g>
<!-- authorization_controls -->
<g id="node28" class="node">
<title>authorization_controls</title>
<path fill="#505050" stroke="black" d="M1065,-436C1065,-436 958,-436 958,-436 952,-436 946,-430 946,-424 946,-424 946,-412 946,-412 946,-406 952,-400 958,-400 958,-400 1065,-400 1065,-400 1071,-400 1077,-406 1077,-412 1077,-412 1077,-424 1077,-424 1077,-430 1071,-436 1065,-436"/>
<text text-anchor="middle" x="1011.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Authorization Controls</text>
</g>
<!-- security_framework&#45;&gt;authorization_controls -->
<g id="edge27" class="edge">
<title>security_framework&#45;&gt;authorization_controls</title>
<path fill="none" stroke="#4a4a4a" d="M974.25,-480.62C974.25,-480.62 974.25,-446.03 974.25,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="977.75,-446.03 974.25,-436.03 970.75,-446.03 977.75,-446.03"/>
<text text-anchor="middle" x="984.5" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">enforces</text>
</g>
<!-- data_isolation -->
<g id="node30" class="node">
<title>data_isolation</title>
<path fill="#505050" stroke="black" d="M1170,-436C1170,-436 1107,-436 1107,-436 1101,-436 1095,-430 1095,-424 1095,-424 1095,-412 1095,-412 1095,-406 1101,-400 1107,-400 1107,-400 1170,-400 1170,-400 1176,-400 1182,-406 1182,-412 1182,-412 1182,-424 1182,-424 1182,-430 1176,-436 1170,-436"/>
<text text-anchor="middle" x="1138.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Data Isolation</text>
</g>
<!-- security_framework&#45;&gt;data_isolation -->
<g id="edge29" class="edge">
<title>security_framework&#45;&gt;data_isolation</title>
<path fill="none" stroke="#4a4a4a" d="M1002.74,-499C1062.62,-499 1138.5,-499 1138.5,-499 1138.5,-499 1138.5,-446.38 1138.5,-446.38"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1142,-446.38 1138.5,-436.38 1135,-446.38 1142,-446.38"/>
<text text-anchor="middle" x="1097" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">ensures</text>
</g>
<!-- token_based_auth -->
<g id="node27" class="node">
<title>token_based_auth</title>
<path fill="#6b6b6c" stroke="black" d="M904,-356C904,-356 829,-356 829,-356 823,-356 817,-350 817,-344 817,-344 817,-332 817,-332 817,-326 823,-320 829,-320 829,-320 904,-320 904,-320 910,-320 916,-326 916,-332 916,-332 916,-344 916,-344 916,-350 910,-356 904,-356"/>
<text text-anchor="middle" x="866.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Token&#45;based Auth</text>
</g>
<!-- authentication_layer&#45;&gt;token_based_auth -->
<g id="edge26" class="edge">
<title>authentication_layer&#45;&gt;token_based_auth</title>
<path fill="none" stroke="#4a4a4a" d="M866.5,-399.85C866.5,-399.85 866.5,-366.08 866.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="870,-366.08 866.5,-356.08 863,-366.08 870,-366.08"/>
<text text-anchor="middle" x="875" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">uses</text>
</g>
<!-- role_based_access -->
<g id="node29" class="node">
<title>role_based_access</title>
<path fill="#6b6b6c" stroke="black" d="M1050,-356C1050,-356 973,-356 973,-356 967,-356 961,-350 961,-344 961,-344 961,-332 961,-332 961,-326 967,-320 973,-320 973,-320 1050,-320 1050,-320 1056,-320 1062,-326 1062,-332 1062,-332 1062,-344 1062,-344 1062,-350 1056,-356 1050,-356"/>
<text text-anchor="middle" x="1011.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Role&#45;based Access</text>
</g>
<!-- authorization_controls&#45;&gt;role_based_access -->
<g id="edge28" class="edge">
<title>authorization_controls&#45;&gt;role_based_access</title>
<path fill="none" stroke="#4a4a4a" d="M1011.5,-399.85C1011.5,-399.85 1011.5,-366.08 1011.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1015,-366.08 1011.5,-356.08 1008,-366.08 1015,-366.08"/>
<text text-anchor="middle" x="1033" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">implements</text>
</g>
<!-- sandboxed_execution -->
<g id="node31" class="node">
<title>sandboxed_execution</title>
<path fill="#6b6b6c" stroke="black" d="M1185,-356C1185,-356 1092,-356 1092,-356 1086,-356 1080,-350 1080,-344 1080,-344 1080,-332 1080,-332 1080,-326 1086,-320 1092,-320 1092,-320 1185,-320 1185,-320 1191,-320 1197,-326 1197,-332 1197,-332 1197,-344 1197,-344 1197,-350 1191,-356 1185,-356"/>
<text text-anchor="middle" x="1138.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Sandboxed Execution</text>
</g>
<!-- data_isolation&#45;&gt;sandboxed_execution -->
<g id="edge30" class="edge">
<title>data_isolation&#45;&gt;sandboxed_execution</title>
<path fill="none" stroke="#4a4a4a" d="M1138.5,-399.85C1138.5,-399.85 1138.5,-366.08 1138.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1142,-366.08 1138.5,-356.08 1135,-366.08 1142,-366.08"/>
<text text-anchor="middle" x="1154" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">provides</text>
</g>
<!-- plugin_architecture -->
<g id="node33" class="node">
<title>plugin_architecture</title>
<path fill="#505050" stroke="black" d="M1304.5,-436C1304.5,-436 1212.5,-436 1212.5,-436 1206.5,-436 1200.5,-430 1200.5,-424 1200.5,-424 1200.5,-412 1200.5,-412 1200.5,-406 1206.5,-400 1212.5,-400 1212.5,-400 1304.5,-400 1304.5,-400 1310.5,-400 1316.5,-406 1316.5,-412 1316.5,-412 1316.5,-424 1316.5,-424 1316.5,-430 1310.5,-436 1304.5,-436"/>
<text text-anchor="middle" x="1258.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Plugin Architecture</text>
</g>
<!-- extensibility_model&#45;&gt;plugin_architecture -->
<g id="edge32" class="edge">
<title>extensibility_model&#45;&gt;plugin_architecture</title>
<path fill="none" stroke="#4a4a4a" d="M1258.5,-480.62C1258.5,-480.62 1258.5,-446.03 1258.5,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1262,-446.03 1258.5,-436.03 1255,-446.03 1262,-446.03"/>
<text text-anchor="middle" x="1274" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">enables</text>
</g>
<!-- standardized_interfaces -->
<g id="node39" class="node">
<title>standardized_interfaces</title>
<path fill="#505050" stroke="black" d="M1462,-436C1462,-436 1347,-436 1347,-436 1341,-436 1335,-430 1335,-424 1335,-424 1335,-412 1335,-412 1335,-406 1341,-400 1347,-400 1347,-400 1462,-400 1462,-400 1468,-400 1474,-406 1474,-412 1474,-412 1474,-424 1474,-424 1474,-430 1468,-436 1462,-436"/>
<text text-anchor="middle" x="1404.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Standardized Interfaces</text>
</g>
<!-- extensibility_model&#45;&gt;standardized_interfaces -->
<g id="edge38" class="edge">
<title>extensibility_model&#45;&gt;standardized_interfaces</title>
<path fill="none" stroke="#4a4a4a" d="M1321,-480.62C1321,-456.72 1321,-418 1321,-418 1321,-418 1324.79,-418 1324.79,-418"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1324.79,-421.5 1334.79,-418 1324.79,-414.5 1324.79,-421.5"/>
<text text-anchor="middle" x="1373" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">defines</text>
</g>
<!-- custom_servers -->
<g id="node34" class="node">
<title>custom_servers</title>
<path fill="#6b6b6c" stroke="black" d="M1292,-356C1292,-356 1227,-356 1227,-356 1221,-356 1215,-350 1215,-344 1215,-344 1215,-332 1215,-332 1215,-326 1221,-320 1227,-320 1227,-320 1292,-320 1292,-320 1298,-320 1304,-326 1304,-332 1304,-332 1304,-344 1304,-344 1304,-350 1298,-356 1292,-356"/>
<text text-anchor="middle" x="1259.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Custom Servers</text>
</g>
<!-- plugin_architecture&#45;&gt;custom_servers -->
<g id="edge33" class="edge">
<title>plugin_architecture&#45;&gt;custom_servers</title>
<path fill="none" stroke="#4a4a4a" d="M1259.5,-399.85C1259.5,-399.85 1259.5,-366.08 1259.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1263,-366.08 1259.5,-356.08 1256,-366.08 1263,-366.08"/>
<text text-anchor="middle" x="1271.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">allows</text>
</g>
<!-- domain_specific_tools -->
<g id="node35" class="node">
<title>domain_specific_tools</title>
<path fill="#878787" stroke="black" d="M1305.5,-276C1305.5,-276 1213.5,-276 1213.5,-276 1207.5,-276 1201.5,-270 1201.5,-264 1201.5,-264 1201.5,-252 1201.5,-252 1201.5,-246 1207.5,-240 1213.5,-240 1213.5,-240 1305.5,-240 1305.5,-240 1311.5,-240 1317.5,-246 1317.5,-252 1317.5,-252 1317.5,-264 1317.5,-264 1317.5,-270 1311.5,-276 1305.5,-276"/>
<text text-anchor="middle" x="1259.5" y="-255.8" font-family="Times,serif" font-size="9.00" fill="white">Domain&#45;specific Tools</text>
</g>
<!-- custom_servers&#45;&gt;domain_specific_tools -->
<g id="edge34" class="edge">
<title>custom_servers&#45;&gt;domain_specific_tools</title>
<path fill="none" stroke="#4a4a4a" d="M1259.5,-319.85C1259.5,-319.85 1259.5,-286.08 1259.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1263,-286.08 1259.5,-276.08 1256,-286.08 1263,-286.08"/>
<text text-anchor="middle" x="1273.5" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">creates</text>
</g>
<!-- business_logic_integration -->
<g id="node36" class="node">
<title>business_logic_integration</title>
<path fill="#a3a3a3" stroke="black" d="M1318,-196C1318,-196 1201,-196 1201,-196 1195,-196 1189,-190 1189,-184 1189,-184 1189,-172 1189,-172 1189,-166 1195,-160 1201,-160 1201,-160 1318,-160 1318,-160 1324,-160 1330,-166 1330,-172 1330,-172 1330,-184 1330,-184 1330,-190 1324,-196 1318,-196"/>
<text text-anchor="middle" x="1259.5" y="-175.8" font-family="Times,serif" font-size="9.00">Business Logic Integration</text>
</g>
<!-- domain_specific_tools&#45;&gt;business_logic_integration -->
<g id="edge35" class="edge">
<title>domain_specific_tools&#45;&gt;business_logic_integration</title>
<path fill="none" stroke="#4a4a4a" d="M1259.5,-239.85C1259.5,-239.85 1259.5,-206.08 1259.5,-206.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1263,-206.08 1259.5,-196.08 1256,-206.08 1263,-206.08"/>
<text text-anchor="middle" x="1278" y="-216.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">facilitates</text>
</g>
<!-- workflow_automation -->
<g id="node37" class="node">
<title>workflow_automation</title>
<path fill="#bebebe" stroke="black" d="M1305.5,-116C1305.5,-116 1213.5,-116 1213.5,-116 1207.5,-116 1201.5,-110 1201.5,-104 1201.5,-104 1201.5,-92 1201.5,-92 1201.5,-86 1207.5,-80 1213.5,-80 1213.5,-80 1305.5,-80 1305.5,-80 1311.5,-80 1317.5,-86 1317.5,-92 1317.5,-92 1317.5,-104 1317.5,-104 1317.5,-110 1311.5,-116 1305.5,-116"/>
<text text-anchor="middle" x="1259.5" y="-95.8" font-family="Times,serif" font-size="9.00">Workflow Automation</text>
</g>
<!-- business_logic_integration&#45;&gt;workflow_automation -->
<g id="edge36" class="edge">
<title>business_logic_integration&#45;&gt;workflow_automation</title>
<path fill="none" stroke="#4a4a4a" d="M1259.5,-159.85C1259.5,-159.85 1259.5,-126.08 1259.5,-126.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1263,-126.08 1259.5,-116.08 1256,-126.08 1263,-126.08"/>
<text text-anchor="middle" x="1274" y="-136.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">enables</text>
</g>
<!-- ai_agent_orchestration -->
<g id="node38" class="node">
<title>ai_agent_orchestration</title>
<path fill="#dadada" stroke="black" d="M1310,-36C1310,-36 1209,-36 1209,-36 1203,-36 1197,-30 1197,-24 1197,-24 1197,-12 1197,-12 1197,-6 1203,0 1209,0 1209,0 1310,0 1310,0 1316,0 1322,-6 1322,-12 1322,-12 1322,-24 1322,-24 1322,-30 1316,-36 1310,-36"/>
<text text-anchor="middle" x="1259.5" y="-15.8" font-family="Times,serif" font-size="9.00">AI Agent Orchestration</text>
</g>
<!-- workflow_automation&#45;&gt;ai_agent_orchestration -->
<g id="edge37" class="edge">
<title>workflow_automation&#45;&gt;ai_agent_orchestration</title>
<path fill="none" stroke="#4a4a4a" d="M1259.5,-79.85C1259.5,-79.85 1259.5,-46.08 1259.5,-46.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1263,-46.08 1259.5,-36.08 1256,-46.08 1263,-46.08"/>
<text text-anchor="middle" x="1275.5" y="-56.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">supports</text>
</g>
<!-- tool_schema -->
<g id="node40" class="node">
<title>tool_schema</title>
<path fill="#6b6b6c" stroke="black" d="M1406.5,-356C1406.5,-356 1356.5,-356 1356.5,-356 1350.5,-356 1344.5,-350 1344.5,-344 1344.5,-344 1344.5,-332 1344.5,-332 1344.5,-326 1350.5,-320 1356.5,-320 1356.5,-320 1406.5,-320 1406.5,-320 1412.5,-320 1418.5,-326 1418.5,-332 1418.5,-332 1418.5,-344 1418.5,-344 1418.5,-350 1412.5,-356 1406.5,-356"/>
<text text-anchor="middle" x="1381.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Tool Schema</text>
</g>
<!-- standardized_interfaces&#45;&gt;tool_schema -->
<g id="edge39" class="edge">
<title>standardized_interfaces&#45;&gt;tool_schema</title>
<path fill="none" stroke="#4a4a4a" d="M1381.5,-399.85C1381.5,-399.85 1381.5,-366.08 1381.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1385,-366.08 1381.5,-356.08 1378,-366.08 1385,-366.08"/>
<text text-anchor="middle" x="1397.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">specifies</text>
</g>
<!-- resource_schema -->
<g id="node41" class="node">
<title>resource_schema</title>
<path fill="#6b6b6c" stroke="black" d="M1522.5,-356C1522.5,-356 1448.5,-356 1448.5,-356 1442.5,-356 1436.5,-350 1436.5,-344 1436.5,-344 1436.5,-332 1436.5,-332 1436.5,-326 1442.5,-320 1448.5,-320 1448.5,-320 1522.5,-320 1522.5,-320 1528.5,-320 1534.5,-326 1534.5,-332 1534.5,-332 1534.5,-344 1534.5,-344 1534.5,-350 1528.5,-356 1522.5,-356"/>
<text text-anchor="middle" x="1485.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Resource Schema</text>
</g>
<!-- standardized_interfaces&#45;&gt;resource_schema -->
<g id="edge40" class="edge">
<title>standardized_interfaces&#45;&gt;resource_schema</title>
<path fill="none" stroke="#4a4a4a" d="M1455.25,-399.85C1455.25,-399.85 1455.25,-366.08 1455.25,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1458.75,-366.08 1455.25,-356.08 1451.75,-366.08 1458.75,-366.08"/>
<text text-anchor="middle" x="1501.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">specifies</text>
</g>
</g>
</svg>