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