MCP server that exercises all the features of the MCP protocol
4853 stars51 watching531 forks
Everything MCP Server
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.
Components
Tools
-
echo
- Simple tool to echo back input messages
- Input:
message
(string): Message to echo back
- Returns: Text content with echoed message
-
add
- Adds two numbers together
- Inputs:
a
(number): First numberb
(number): Second number
- Returns: Text result of the addition
-
longRunningOperation
- Demonstrates 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
-
sampleLLM
- Demonstrates 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
-
getTinyImage
- Returns a small test image
- No inputs required
- Returns: Base64 encoded PNG image data
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_prompt
- Basic prompt without arguments
- Returns: Single message exchange
-
complex_prompt
- Advanced prompt demonstrating argument handling
- Required arguments:
temperature
(number): Temperature setting
- Optional arguments:
style
(string): Output style preference
- Returns: Multi-turn conversation with images
Usage with Claude Desktop
Add to your claude_desktop_config.json
:
{
"mcpServers": {
"everything": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-everything"
]
}
}
}
Features
Protocol features
Testing
Documentation
Category
Other Tools