@@ -14,15 +14,45 @@ The Everything Server is an open-source reference implementation that showcases:
1414
1515This server serves as both primarily as a learning resource, and an example implementation of a scalable remote MCP server.
1616
17+ ## Quick Start
18+
19+ Get the server running in 5 minutes:
20+
21+ ``` bash
22+ # 1. Prerequisites
23+ brew install orbstack # macOS: Install OrbStack (skip if already installed)
24+ orbctl start # macOS: Start OrbStack daemon
25+ # OR install Docker Desktop and start it (Windows/Linux/macOS alternative)
26+
27+ # 2. Setup
28+ git clone https://github.com/modelcontextprotocol/example-remote-server.git
29+ cd example-remote-server
30+ npm install
31+ cp .env.integrated .env # Configure for integrated mode (see Authentication Modes for details)
32+
33+ # 3. Start services
34+ docker compose up -d # Start Redis
35+ npm run dev # Start server
36+
37+ # 4. Test with Inspector
38+ npx -y @modelcontextprotocol/inspector
39+ # Connect to http://localhost:3232/mcp
40+ ```
41+
42+ For detailed instructions, see [ Installation] ( #installation ) .
43+
1744## Table of Contents
1845
46+ - [ Quick Start] ( #quick-start )
1947- [ Features] ( #features )
2048- [ Installation] ( #installation )
2149- [ Configuration] ( #configuration )
2250- [ Authentication Modes] ( #authentication-modes )
2351- [ Development] ( #development )
52+ - [ Testing with MCP Inspector] ( #testing-with-mcp-inspector )
2453 - [ Automated End-to-End Testing] ( #automated-end-to-end-testing )
2554 - [ Interactive Testing] ( #interactive-testing )
55+ - [ Troubleshooting] ( #troubleshooting )
2656- [ Architecture & Technical Details] ( #architecture--technical-details )
2757- [ API Reference] ( #api-reference )
2858- [ Security] ( #security )
@@ -59,47 +89,66 @@ This server serves as both primarily as a learning resource, and an example impl
5989
6090### Prerequisites
6191- Node.js >= 16
62- - Redis server (see Redis setup below)
6392- npm or yarn
93+ - Docker runtime (for Redis)
6494
65- ### Redis Setup
66- The server requires Redis for session management and message routing.
67-
68- ** Option 1: Docker Compose (Recommended)**
69-
70- Install a Docker runtime:
71- - ** macOS** : [ OrbStack] ( https://orbstack.dev/ ) - Fast, lightweight, and free
72- ``` bash
73- brew install orbstack
74- # Or download from https://orbstack.dev/download
75- ```
76- - ** Windows/Linux** : [ Docker Desktop] ( https://www.docker.com/products/docker-desktop )
95+ ### Step 1: Install Docker Runtime
96+ Choose one option:
7797
78- Start Redis:
98+ ** macOS (Recommended: OrbStack) **
7999``` bash
80- # see docker-compose.yml
81- docker compose up -d
100+ brew install orbstack
101+ # Start OrbStack daemon (required before using Docker commands)
102+ orbctl start
103+ # Or download from https://orbstack.dev/download
82104```
83105
84- ** Option 2: Local Installation**
106+ ** Windows/Linux: Docker Desktop**
107+ - Download from https://www.docker.com/products/docker-desktop
108+ - Start Docker Desktop after installation
109+
110+ ** Alternative: Local Redis Installation**
85111``` bash
86112# macOS
87113brew install redis && brew services start redis
88114
89- # Ubuntu/Debian
115+ # Ubuntu/Debian
90116sudo apt-get install redis-server && sudo systemctl start redis
91117```
92118
93- ### Setup
119+ ### Step 2: Clone and Install Dependencies
94120``` bash
95- # Clone the repository
96121git clone https://github.com/modelcontextprotocol/example-remote-server.git
97122cd example-remote-server
98-
99- # Install dependencies
100123npm install
101124```
102125
126+ ### Step 3: Configure Environment
127+ ``` bash
128+ # Use integrated mode (default, simpler setup)
129+ cp .env.integrated .env
130+
131+ # OR use separate mode (for testing external auth)
132+ cp .env.separate .env
133+ ```
134+
135+ ### Step 4: Start Redis
136+ ``` bash
137+ # Ensure Docker/OrbStack is running first!
138+ docker compose up -d
139+
140+ # Verify Redis is running
141+ docker compose ps
142+ ```
143+
144+ ### Step 5: Verify Installation
145+ ``` bash
146+ # Run the development server
147+ npm run dev
148+
149+ # Server should start on http://localhost:3232
150+ ```
151+
103152## Configuration
104153
105154Environment variables (` .env ` file):
@@ -164,9 +213,18 @@ In production, the separate authorization server would typically be replaced wit
164213
165214## Development
166215
167- ### Commands
216+ ### Quick Start
217+ If you've completed installation, you're ready to develop:
168218
169- #### Development
219+ ``` bash
220+ # Integrated mode (MCP server handles auth)
221+ npm run dev:integrated
222+
223+ # Separate mode (external auth server)
224+ npm run dev:with-separate-auth
225+ ```
226+
227+ ### Development Commands
170228``` bash
171229# Start development server with hot reload
172230npm run dev
@@ -214,36 +272,35 @@ npm run test:e2e:separate # Test separate mode OAuth + features
214272
215273### Testing with MCP Inspector
216274
217- The MCP Inspector is a web-based tool for testing MCP servers:
218- ``` bash
219- npx -y @modelcontextprotocol/inspector
220- ```
275+ The MCP Inspector is a web-based tool for testing MCP servers.
276+
277+ #### Prerequisites
278+ 1 . Ensure Docker/OrbStack is running
279+ 2 . Ensure Redis is running: ` docker compose ps `
280+ 3 . Ensure environment is configured: Check ` .env ` file exists
221281
222282#### Test Integrated Mode
223283``` bash
224- # 1. Start Redis
225- docker compose up -d
226-
227- # 2. Start the server
284+ # 1. Start the server (Redis must already be running)
228285npm run dev:integrated
229286
230- # 3. Open MCP Inspector and connect to http://localhost:3232/mcp
231- # 4. Navigate to the Auth tab and complete the OAuth flow
232- # 5. All auth endpoints will be served from :3232
287+ # 2. Launch MCP Inspector in a new terminal
288+ npx -y @modelcontextprotocol/inspector
289+
290+ # 3. Connect to: http://localhost:3232/mcp
291+ # 4. Navigate to Auth tab and complete OAuth flow
233292```
234293
235294#### Test Separate Mode
236295``` bash
237- # 1. Start Redis
238- docker compose up -d
239-
240- # 2. Start both servers
296+ # 1. Start both servers (Redis must already be running)
241297npm run dev:with-separate-auth
242298
243- # 3. Open MCP Inspector and connect to http://localhost:3232/mcp
244- # 4. Navigate to the Auth tab
245- # 5. The auth flow will redirect to :3001 for authentication
246- # 6. After auth, tokens from :3001 will be used on :3232
299+ # 2. Launch MCP Inspector in a new terminal
300+ npx -y @modelcontextprotocol/inspector
301+
302+ # 3. Connect to: http://localhost:3232/mcp
303+ # 4. Auth flow will redirect to :3001 for authentication
247304```
248305
249306### Running Tests
@@ -295,6 +352,38 @@ The npm scripts automatically start required servers, run tests, and clean up. M
295352### Interactive Testing
296353Use the MCP Inspector for interactive testing and debugging of OAuth flows, tool execution, and resource access.
297354
355+ ## Troubleshooting
356+
357+ ### Common Issues
358+
359+ ** "Cannot connect to Docker daemon"**
360+ - Ensure Docker Desktop or OrbStack daemon is running
361+ - macOS with OrbStack: ` orbctl start ` (verify with ` orbctl status ` )
362+ - Windows/Linux/macOS with Docker Desktop: Start Docker Desktop application
363+
364+ ** "Redis connection refused"**
365+ - Check Redis is running: ` docker compose ps `
366+ - If not running: ` docker compose up -d `
367+ - Ensure Docker/OrbStack is started first
368+
369+ ** "Missing .env file"**
370+ - Run ` cp .env.integrated .env ` for default setup
371+ - Or ` cp .env.separate .env ` for separate auth mode
372+
373+ ** "Port already in use"**
374+ - Check for existing processes: ` lsof -i :3232 ` or ` lsof -i :3001 `
375+ - Kill existing processes or change PORT in .env
376+
377+ ** "npm install fails"**
378+ - Ensure Node.js >= 16 is installed: ` node --version `
379+ - Clear npm cache: ` npm cache clean --force `
380+ - Delete node_modules and package-lock.json, then retry
381+
382+ ** "Authentication flow fails"**
383+ - Check the server logs for error messages
384+ - Ensure Redis is running and accessible
385+ - Verify .env configuration matches your setup mode
386+
298387## Architecture & Technical Details
299388
300389### Authentication Architecture
0 commit comments