@@ -69,6 +69,36 @@ Servers provide specialized context and capabilities:
69
69
- Must respect security constraints
70
70
- Can be local processes or remote services
71
71
72
+ ## Design Principles
73
+
74
+ MCP is built on several key design principles that inform its architecture and implementation:
75
+
76
+ 1 . ** Servers should be extremely easy to build**
77
+ - Clients handle complex orchestration responsibilities
78
+ - Servers focus on specific, well-defined capabilities
79
+ - Simple interfaces minimize implementation overhead
80
+ - Clear separation enables maintainable code
81
+
82
+ 2 . ** Servers should be highly composable**
83
+ - Each server provides focused functionality in isolation
84
+ - Multiple servers can be combined seamlessly
85
+ - Shared protocol enables interoperability
86
+ - Modular design supports extensibility
87
+
88
+ 3 . ** Servers should not be able to read the whole conversation, nor "see into" other servers**
89
+ - Servers receive only necessary contextual information
90
+ - Full conversation history stays with client/host
91
+ - Each server connection maintains isolation
92
+ - Cross-server interactions are client-controlled
93
+ - Host process enforces security boundaries
94
+
95
+ 4 . ** Features can be added to servers and clients progressively**
96
+ - Core protocol provides minimal required functionality
97
+ - Additional capabilities can be negotiated as needed
98
+ - Servers and clients evolve independently
99
+ - Protocol designed for future extensibility
100
+ - Backwards compatibility is maintained
101
+
72
102
## Message Types
73
103
MCP defines three core message types based on [ JSON-RPC 2.0] ( https://www.jsonrpc.org/specification ) :
74
104
0 commit comments