▶ MCP SDK FOUNDATION
Use MCP SDKs (Python, Go, Java) to expose tools with minimal boilerplate
# Everything Server Example
from mcp import Server
from mcp.server import stdio_server
server = Server("everything-server")
@server.tool()
async def echo(message: str) -> str:
"""Echo back the input message."""
return f"Echo: {message}"
▶ DESIGN PRINCIPLES
🎯 MODULAR DESIGN
One domain per server - focused, composable toolboxes
🔄 STATELESS FUNCTIONS
Idempotent tool functions - predictable, reliable operations
🚀 TRANSPORT OPTIONS
stdio vs HTTP/SSE - choose based on deployment needs
▶ EVERYTHING SERVER ARCHITECTURE
┌─────────────────────────────────────────────────────────────┐
│ EVERYTHING MCP SERVER │
├─────────────────────────────────────────────────────────────┤
│ TOOLS │ RESOURCES │ PROMPTS │ SAMPLING│
│ ├─ echo │ ├─ static/42 │ ├─ simple │ ├─ llm │
│ ├─ add │ ├─ dynamic │ ├─ resource │ └─ comp │
│ ├─ longOp │ └─ subscribe │ └─ complex │ │
│ └─ annotated │ │ │ │
├─────────────────────────────────────────────────────────────┤
│ MCP Protocol Layer (stdio/HTTP transport) │
└─────────────────────────────────────────────────────────────┘
🎮 LIVE DEMO SETUP
DEMONSTRATION: Everything Server's add & echo tools - minimal schema, fast feedback
$ npx -y @modelcontextprotocol/server-everything
[DEMO] Launch Everything Server
[INSPECT] Examine tool definitions and schemas
[TEST] Call echo and add tools directly
[OBSERVE] Response structure and metadata
Key Observations:
- Fast feedback loop - immediate tool response
- Minimal schema - clear, focused tool definitions
- Error handling - graceful failure modes
- Metadata structure - consistent response format