Architecture | Project Structure | Startup Process | Server Features | Extension Points | How It Works
This MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.
A complete list of the registered MCP primitives and other protocol features demonstrated can be found in the Server Features document.
Usage with Claude Desktop (uses stdio Transport)
Add to your claude_desktop_config.json:
{
"mcpServers": {
"everything": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-everything"
]
}
}
}For quick installation, use of of the one-click install buttons below...
For manual installation, you can configure the MCP server using one of these methods:
Method 1: User Configuration (Recommended)
Add the configuration to your user-level MCP configuration file. Open the Command Palette (Ctrl + Shift + P) and run MCP: Open User Configuration. This will open your user mcp.json file where you can add the server configuration.
Method 2: Workspace Configuration
Alternatively, you can add the configuration to a file called .vscode/mcp.json in your workspace. This will allow you to share the configuration with others.
For more details about MCP configuration in VS Code, see the official VS Code MCP documentation.
{
"servers": {
"everything": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-everything"]
}
}
}Running from source with HTTP+SSE Transport (deprecated as of 2025-03-26)
cd src/everything
npm install
npm run start:sseRun from source with Streamable HTTP Transport
cd src/everything
npm install
npm run start:streamableHttpnpm install -g @modelcontextprotocol/server-everything@latestnpx @modelcontextprotocol/server-everythingnpx @modelcontextprotocol/server-everything stdionpx @modelcontextprotocol/server-everything ssenpx @modelcontextprotocol/server-everything streamableHttpSet to true to disable SSE resumability (eventStore). This prevents the server from sending the priming event (empty SSE event with an ID) that is required by SEP-1699 for protocol version 2025-11-25+.
Note: This is a workaround for clients that don't properly handle empty SSE data events as specified by the SSE standard. The proper fix is to update the client to handle empty SSE events correctly.
When resumability is disabled:
- SSE streams cannot be resumed after network failures
- Server cannot use polling mode (must keep connections open)
- Event replay is not available
# Disable SSE resumability
DISABLE_SSE_RESUMABILITY=true npx @modelcontextprotocol/server-everything streamableHttp
# Or with Docker
docker run -e DISABLE_SSE_RESUMABILITY=true -p 3001:3001 mcp/everything streamableHttpSet the port for the HTTP servers (SSE and Streamable HTTP). Default: 3001
PORT=8080 npx @modelcontextprotocol/server-everything streamableHttp