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 project demonstrates various features of the Model Context Protocol (MCP). It includes server implementations in TypeScript and Python, serving as test servers for MCP client builders. Both implementations aim for functional parity, showcasing capabilities like prompts, tools, resources, sampling, logging, and more.
Common Features
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.
Related MCP server: MCP Test Server
TypeScript Implementation
Location: typescript/
Installation
Local Development
Global Installation
Note: Global installation functionality and the exact command depend on the
Docker
Usage with MCP Clients (e.g., Claude Desktop)
Add to your client's MCP server configuration. Paths might need adjustment.
If using npx with a published package (e.g., mcp-everything-ts):
If running from a local build (ensure cwd is the typescript directory):
Replace "path/to/mcp-everything/typescript" with the correct path.
Python Implementation
Location: python/
Installation & Setup
From the repository root, navigate to the Python directory:
cd python(Recommended) Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activateInstall dependencies:
pip install -r requirements.txt
Running the Server
From within the python directory (and with the virtual environment activated if used):
The server listens for MCP messages over stdio.
Usage with MCP Clients (e.g., Claude Desktop)
Example configuration:
Replace "path/to/mcp-everything/python" with the correct path.
Testing the Server via GitHub Actions
Note: Implementation is in progress. The server is not yet fully functional.
Test 1
Test 2