Skip to content

Latest commit

 

History

History
135 lines (98 loc) · 5.59 KB

File metadata and controls

135 lines (98 loc) · 5.59 KB

Everything MCP Server

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.

Tools, Resources, Prompts, and Other Features

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"
      ]
    }
  }
}

Usage with VS Code

For quick installation, use of of the one-click install buttons below...

Install with NPX in VS Code Install with NPX in VS Code Insiders

Install with Docker in VS Code Install with Docker in VS Code Insiders

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.

NPX

{
  "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:sse

Run from source with Streamable HTTP Transport

cd src/everything
npm install
npm run start:streamableHttp

Running as an installed package

Install

npm install -g @modelcontextprotocol/server-everything@latest

Run the default (stdio) server

npx @modelcontextprotocol/server-everything

Or specify stdio explicitly

npx @modelcontextprotocol/server-everything stdio

Run the SSE server

npx @modelcontextprotocol/server-everything sse

Run the streamable HTTP server

npx @modelcontextprotocol/server-everything streamableHttp

Environment Variables

DISABLE_SSE_RESUMABILITY

Set 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 streamableHttp

PORT

Set the port for the HTTP servers (SSE and Streamable HTTP). Default: 3001

PORT=8080 npx @modelcontextprotocol/server-everything streamableHttp