-
Notifications
You must be signed in to change notification settings - Fork 671
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
de43ca3
commit 4c0d9f1
Showing
1 changed file
with
84 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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"] | ||
} | ||
} |