Enables running the MCP server in a containerized environment with Docker, allowing for isolated and portable deployment of the MCP Everything test server.
Extracted from the modelcontextprotocol/servers GitHub repository to create a standalone implementation, with source code available on GitHub.
Supports installation and distribution through npm, including global installation and execution via npx commands.
MCP Everything
Note: This project was extracted from https://github.com/modelcontextprotocol/servers/tree/main/src/everything to create a standalone implementation.
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.
Installation
Local Installation
Global Installation
Docker
Related MCP server: MCP Test Server
Usage with Claude Desktop
Add to your claude_desktop_config.json:
Components
Tools
echoSimple tool to echo back input messages
Input:
message(string): Message to echo back
Returns: Text content with echoed message
addAdds two numbers together
Inputs:
a(number): First numberb(number): Second number
Returns: Text result of the addition
longRunningOperationDemonstrates progress notifications for long operations
Inputs:
duration(number, default: 10): Duration in secondssteps(number, default: 5): Number of progress steps
Returns: Completion message with duration and steps
Sends progress notifications during execution
sampleLLMDemonstrates LLM sampling capability using MCP sampling feature
Inputs:
prompt(string): The prompt to send to the LLMmaxTokens(number, default: 100): Maximum tokens to generate
Returns: Generated LLM response
getTinyImageReturns a small test image
No inputs required
Returns: Base64 encoded PNG image data
printEnvPrints all environment variables
Useful for debugging MCP server configuration
No inputs required
Returns: JSON string of all environment variables
annotatedMessageDemonstrates how annotations can be used to provide metadata about content
Inputs:
messageType(enum: "error" | "success" | "debug"): Type of message to demonstrate different annotation patternsincludeImage(boolean, default: false): Whether to include an example image
Returns: Content with varying annotations
Resources
The server provides 100 test resources in two formats:
Even numbered resources:
Plaintext format
URI pattern:
test://static/resource/{even_number}Content: Simple text description
Odd numbered resources:
Binary blob format
URI pattern:
test://static/resource/{odd_number}Content: Base64 encoded binary data
Resource features:
Supports pagination (10 items per page)
Allows subscribing to resource updates
Demonstrates resource templates
Auto-updates subscribed resources every 5 seconds
Prompts
simple_promptBasic prompt without arguments
Returns: Single message exchange
complex_promptAdvanced prompt demonstrating argument handling
Required arguments:
temperature(number): Temperature setting
Optional arguments:
style(string): Output style preference
Returns: Multi-turn conversation with images
Logging
The server sends random-leveled log messages every 15 seconds to demonstrate the logging capabilities of MCP.