diff --git a/src/everything/README.md b/src/everything/README.md index 0f6ca498..69281a06 100644 --- a/src/everything/README.md +++ b/src/everything/README.md @@ -1,3 +1,85 @@ -# Everything server +# 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. +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 + +1. `echo` + - Simple tool to echo back input messages + - Input: + - `message` (string): Message to echo back + - Returns: Text content with echoed message + +2. `add` + - Adds two numbers together + - Inputs: + - `a` (number): First number + - `b` (number): Second number + - Returns: Text result of the addition + +3. `longRunningOperation` + - Demonstrates progress notifications for long operations + - Inputs: + - `duration` (number, default: 10): Duration in seconds + - `steps` (number, default: 5): Number of progress steps + - Returns: Completion message with duration and steps + - Sends progress notifications during execution + +4. `sampleLLM` + - Demonstrates LLM sampling capability using MCP sampling feature + - Inputs: + - `prompt` (string): The prompt to send to the LLM + - `maxTokens` (number, default: 100): Maximum tokens to generate + - Returns: Generated LLM response + +5. `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 + +1. `simple_prompt` + - Basic prompt without arguments + - Returns: Single message exchange + +2. `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`: + +```json +{ + "everything": { + "command": "npx", + "args": ["-y", "@modelcontextprotocol/server-everything"] + } +}