@@ -69,6 +69,36 @@ Servers provide specialized context and capabilities:
6969- Must respect security constraints
7070- Can be local processes or remote services
7171
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+
72102## Message Types
73103MCP defines three core message types based on [ JSON-RPC 2.0] ( https://www.jsonrpc.org/specification ) :
74104
0 commit comments