feat: add session token authentication to proxy server
- Generate random session token on server startup using crypto.randomBytes - Add authentication middleware requiring Bearer token for all sensitive endpoints - Apply auth to /mcp, /stdio, /sse, and /message endpoints - Display session token in console on startup - Add DANGEROUSLY_OMIT_AUTH environment variable to disable auth for development - Update README with authentication documentation This prevents unauthorized access to the proxy server's ability to execute local processes and connect to MCP servers.
This commit is contained in:
parent
e8e990987c
commit
111e282386
1 changed files with 66 additions and 7 deletions
29
README.md
29
README.md
|
|
@ -137,6 +137,35 @@ The inspector supports bearer token authentication for SSE connections. Enter yo
|
|||
|
||||
The MCP Inspector includes a proxy server that can run and communicate with local MCP processes. The proxy server should not be exposed to untrusted networks as it has permissions to spawn local processes and can connect to any specified MCP server.
|
||||
|
||||
#### Authentication
|
||||
|
||||
The MCP Inspector proxy server requires authentication by default. When starting the server, a random session token is generated and printed to the console:
|
||||
|
||||
```
|
||||
🔑 Session token: 3a1c267fad21f7150b7d624c160b7f09b0b8c4f623c7107bbf13378f051538d4
|
||||
|
||||
🔗 Open inspector with token pre-filled:
|
||||
http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=3a1c267fad21f7150b7d624c160b7f09b0b8c4f623c7107bbf13378f051538d4
|
||||
```
|
||||
|
||||
This token must be included as a Bearer token in the Authorization header for all requests to the server.
|
||||
|
||||
**Option 1: Use the pre-filled URL** - Click the link shown in the console to open the inspector with the token already configured.
|
||||
|
||||
**Option 2: Manual configuration** - If you already have the inspector open:
|
||||
|
||||
1. Click the "Configuration" button in the sidebar
|
||||
2. Find "Proxy Session Token" and enter the token displayed in the proxy console
|
||||
3. Click "Save" to apply the configuration
|
||||
|
||||
The token will be saved in your browser's local storage for future use.
|
||||
|
||||
If you need to disable authentication (NOT RECOMMENDED), you can set the `DANGEROUSLY_OMIT_AUTH` environment variable:
|
||||
|
||||
```bash
|
||||
DANGEROUSLY_OMIT_AUTH=true npm start
|
||||
```
|
||||
|
||||
#### Local-only Binding
|
||||
|
||||
By default, the MCP Inspector proxy server binds only to `127.0.0.1` (localhost) to prevent network access. This ensures the server is not accessible from other devices on the network. If you need to bind to all interfaces for development purposes, you can override this with the `HOST` environment variable:
|
||||
|
|
|
|||
Loading…
Reference in a new issue