MCP Everything
A demonstration server for the Model Context Protocol (MCP) showcasing various features like tools, resources, and prompts in TypeScript and Python.
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
-
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
-
printEnv- Prints all environment variables
- Useful for debugging MCP server configuration
- No inputs required
- Returns: JSON string of all environment variables
-
annotatedMessage- Demonstrates 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_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
Logging
The server sends random-leveled log messages every 15 seconds to demonstrate the logging capabilities of MCP.
TypeScript Implementation
Location: typescript/
Installation
Local Development
# Clone the repository (if not already done)
# git clone https://github.com/modelcontextprotocol/mcp-everything.git
# cd mcp-everything
# Navigate to the TypeScript directory from the repository root
cd typescript
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start
Global Installation
# Navigate to the TypeScript directory:
# cd path/to/mcp-everything/typescript
# Then install globally from the local package:
npm install -g .
# Run the server
# (The command name will depend on the 'bin' field in typescript/package.json,
# e.g., 'mcp-everything-ts' or 'mcp-everything' if modified)
# Example:
# mcp-everything-ts
Note: Global installation functionality and the exact command depend on the bin configuration within typescript/package.json.
Docker
# Build the Docker image from the repository root
# (Assumes Dockerfile is updated to handle APP_DIR build argument or typescript context)
docker build -t mcp-everything-ts -f Dockerfile . --build-arg APP_DIR=typescript
# Run the container
docker run -it mcp-everything-ts
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):
{
"mcpServers": {
"everything-ts-npx": {
"command": "npx",
"args": [
"-y",
"mcp-everything-ts"
// Replace 'mcp-everything-ts' with the actual package name if different
]
}
}
}
If running from a local build (ensure cwd is the typescript directory):
{
"mcpServers": {
"everything-ts-local": {
"command": "npm",
"args": [
"start"
],
// Ensure 'cwd' points to the 'typescript' directory of this project.
"cwd": "path/to/mcp-everything/typescript"
}
}
}
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\activate - Install dependencies:
pip install -r requirements.txt
Running the Server
From within the python directory (and with the virtual environment activated if used):
python mcp_server.py
The server listens for MCP messages over stdio.
Usage with MCP Clients (e.g., Claude Desktop)
Example configuration:
{
"mcpServers": {
"everything-py": {
"command": "python", // Or "path/to/python/venv/bin/python"
"args": ["mcp_server.py"],
"cwd": "path/to/mcp-everything/python" // Ensure this is the correct path
}
}
}
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
관련 서버
Scout Monitoring MCP
스폰서Put performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
스폰서Access financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
GodotIQ
The intelligent MCP server for AI-assisted Godot 4 development. 35 tools for spatial intelligence, code understanding, flow tracing, and visual debugging. 22 free, full suite $19.
Swap API
Free token swaps for AI agents. No API keys. Returns executable transaction calldata for 40+ EVM chains.
Generic API MCP Server
A generic server to interact with any REST API, allowing you to query data, create items, and call methods.
MCP Devkit
A persistent development partner that prevents context drift and maintains project memory across all development sessions.
IdeaJarvis
IdeaJarvis is an idea workspace for product builders. Use AI to structure brainstorming into detailed PRDs, conduct comprehensive market research, build prototypes, and gather real community feedback—turning "what if" into "ready to launch.
Crypto HFT MCP Server
Integrate AI with high-frequency cryptocurrency trading systems.
MCP-Think
A Think Tool for LLMs to record and retrieve their thinking processes during reasoning.
MCP with Claude
A Spring Boot MCP server that provides company details, requiring the Claude Desktop application to function.
Modellix Docs
Search the Modellix knowledge base to quickly find relevant technical information, code examples, and API references. Retrieve implementation details and official guides to solve development queries efficiently. Access direct links to documentation for deeper context on specific features and tools.
Agent Engineering Bootcamp MCP
A server providing setup guidance for students learning agent development, with support for both Python and TypeScript.