diff --git a/docs/examples/capabilities.txt b/docs/examples/capabilities.txt index 57efdeb..0e9607f 100644 --- a/docs/examples/capabilities.txt +++ b/docs/examples/capabilities.txt @@ -1,10 +1,11 @@ example-servers/everything 1.0.0 -✔ Tools (10) ✔ Prompts (3) ✔ Resources (10) ✔ Logging ✔ Completions ✘ Experimental +✔ Tools (13) ✔ Prompts (3) ✔ Resources (10) ✔ Logging ✔ Completions ✘ Tasks + -🛠️ Tools (10) +🛠️ Tools (13) ───────────── 1. add : Adds two numbers @@ -19,13 +20,19 @@ example-servers/everything 1.0.0 6. getTinyImage : Returns the MCP_TINY_IMAGE -7. longRunningOperation : Demonstrates a long running operation with progress updates +7. listRoots : Lists the current MCP roots provided by the client. Demonstrates the roots protocol capability even though this server doesn't access files. -8. printEnv : Prints all environment variables, helpful for debugging MCP server configuration +8. longRunningOperation : Demonstrates a long running operation with progress updates -9. sampleLLM : Samples from an LLM using MCP's sampling feature +9. printEnv : Prints all environment variables, helpful for debugging MCP server configuration -10. structuredContent : Returns structured content along with an output schema for client data validation +10. sampleLLM : Samples from an LLM using MCP's sampling feature + +11. startElicitation : Elicitation test tool that demonstrates how to request user input with various field types (string, boolean, email, uri, date, integer, number, enum) + +12. structuredContent : Returns structured content along with an output schema for client data validation + +13. zip : Compresses the provided resource files (mapping of name to URI, which can be a data URI) to a zip file, which it returns as a data URI resource link. @@ -68,8 +75,8 @@ example-servers/everything 1.0.0 🧩 Resource Templates (1) ───────────────────────── -1. Static Resource : test://static/resource/{id} +1. Static Resource : test://static/resource/{id} A static resource with a numeric ID -◾ generated by mcp-discovery +◾ generated by mcp-discovery \ No newline at end of file diff --git a/docs/examples/create-md-plain.md b/docs/examples/create-md-plain.md index 71152fa..41dade9 100644 --- a/docs/examples/create-md-plain.md +++ b/docs/examples/create-md-plain.md @@ -1,8 +1,9 @@ ## example-servers/everything 1.0.0 -| ✔ Tools (10) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ✘ Experimental | + +| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | | --- | --- | --- | --- | --- | --- | -## 🛠️ Tools (10) +## 🛠️ Tools (13) - **add** @@ -35,6 +36,9 @@ - **getTinyImage** - Returns the MCP_TINY_IMAGE +- **listRoots** + - Lists the current MCP roots provided by the client. Demonstrates the roots protocol capability even though this server doesn't access files. + - **longRunningOperation** - Demonstrates a long running operation with progress updates - **Inputs:** @@ -50,11 +54,19 @@ - maxTokens : number
- prompt : string
+- **startElicitation** + - Elicitation test tool that demonstrates how to request user input with various field types (string, boolean, email, uri, date, integer, number, enum) + - **structuredContent** - Returns structured content along with an output schema for client data validation - **Inputs:** - location : string
+- **zip** + - Compresses the provided resource files (mapping of name to URI, which can be a data URI) to a zip file, which it returns as a data URI resource link. + - **Inputs:** + - files : unknown
+ ## 📝 Prompts (3) diff --git a/docs/examples/create-md.md b/docs/examples/create-md.md index 78f04d9..4729ceb 100644 --- a/docs/examples/create-md.md +++ b/docs/examples/create-md.md @@ -1,13 +1,15 @@ ## example-servers/everything 1.0.0 -| ✔ Tools (10) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ✘ Experimental | + +| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | | --- | --- | --- | --- | --- | --- | -## 🛠️ Tools (10) +## 🛠️ Tools (13) + @@ -16,6 +18,9 @@ + @@ -29,6 +34,9 @@ + @@ -42,6 +50,9 @@ + @@ -54,6 +65,9 @@ + @@ -66,6 +80,9 @@ + @@ -78,6 +95,9 @@ + @@ -89,6 +109,23 @@ + + + + + + + + @@ -101,7 +138,10 @@ - + + @@ -112,7 +152,10 @@ - + + @@ -125,7 +168,24 @@ - + + + + + + + + + @@ -136,6 +196,21 @@ + + + + + + +
Icon Tool Name Description Inputs
1. + + add
2. + + annotatedMessage
3. + + echo
4. + + getResourceLinks
5. + + getResourceReference
6. + + getTinyImage
7. + + + listRoots + Lists the current MCP roots provided by the client. Demonstrates the roots protocol capability even though this server doesn't access files. +
    +
+
8. + + longRunningOperation
8.9. + + printEnv
9.10. + + sampleLLM
10.11. + + + startElicitation + Elicitation test tool that demonstrates how to request user input with various field types (string, boolean, email, uri, date, integer, number, enum) +
    +
+
12. + + structuredContent
13. + + + zip + Compresses the provided resource files (mapping of name to URI, which can be a data URI) to a zip file, which it returns as a data URI resource link. +
    +
  • files : unknown
  • +
+
@@ -180,6 +255,7 @@ + Icon Resource Name Uri Description @@ -188,6 +264,9 @@ 1. + + + Resource 1 @@ -198,6 +277,9 @@ 2. + + + Resource 2 @@ -208,6 +290,9 @@ 3. + + + Resource 3 @@ -218,6 +303,9 @@ 4. + + + Resource 4 @@ -228,6 +316,9 @@ 5. + + + Resource 5 @@ -238,6 +329,9 @@ 6. + + + Resource 6 @@ -248,6 +342,9 @@ 7. + + + Resource 7 @@ -258,6 +355,9 @@ 8. + + + Resource 8 @@ -268,6 +368,9 @@ 9. + + + Resource 9 @@ -278,6 +381,9 @@ 10. + + + Resource 10 @@ -295,6 +401,7 @@ + Icon Name Uri Template Description @@ -303,6 +410,9 @@ 1. + + + Static Resource diff --git a/docs/examples/json.txt b/docs/examples/json.txt index a0dccfb..e6e3d8a 100644 --- a/docs/examples/json.txt +++ b/docs/examples/json.txt @@ -1,232 +1,481 @@ { - "capabilities": { - "experimental": false, - "logging": true, - "prompts": true, - "resources": true, - "tools": true - }, - "name": "example-servers/everything", - "prompts": [ - { - "description": "A prompt without arguments", - "name": "simple_prompt" - }, - { - "arguments": [ - { - "description": "Temperature setting", - "name": "temperature", - "required": true - }, - { - "description": "Output style", - "name": "style", - "required": false + "capabilities": { + "completions": true, + "experimental": false, + "logging": true, + "prompts": true, + "resources": true, + "task": { + "cancel_task": false, + "list_task": false, + "tool_call_task": false + }, + "tools": true + }, + "name": "example-servers/everything", + "prompts": [ + { + "description": "A prompt without arguments", + "name": "simple_prompt" + }, + { + "arguments": [ + { + "description": "Temperature setting", + "name": "temperature", + "required": true + }, + { + "description": "Output style", + "name": "style", + "required": false + } + ], + "description": "A prompt with arguments", + "name": "complex_prompt" + }, + { + "arguments": [ + { + "description": "Resource ID to include (1-100)", + "name": "resourceId", + "required": true + } + ], + "description": "A prompt that includes an embedded resource reference", + "name": "resource_prompt" + } + ], + "resource_templates": [ + { + "description": "A static resource with a numeric ID", + "name": "Static Resource", + "uriTemplate": "test://static/resource/{id}" + } + ], + "resources": [ + { + "mimeType": "text/plain", + "name": "Resource 1", + "uri": "test://static/resource/1" + }, + { + "mimeType": "application/octet-stream", + "name": "Resource 2", + "uri": "test://static/resource/2" + }, + { + "mimeType": "text/plain", + "name": "Resource 3", + "uri": "test://static/resource/3" + }, + { + "mimeType": "application/octet-stream", + "name": "Resource 4", + "uri": "test://static/resource/4" + }, + { + "mimeType": "text/plain", + "name": "Resource 5", + "uri": "test://static/resource/5" + }, + { + "mimeType": "application/octet-stream", + "name": "Resource 6", + "uri": "test://static/resource/6" + }, + { + "mimeType": "text/plain", + "name": "Resource 7", + "uri": "test://static/resource/7" + }, + { + "mimeType": "application/octet-stream", + "name": "Resource 8", + "uri": "test://static/resource/8" + }, + { + "mimeType": "text/plain", + "name": "Resource 9", + "uri": "test://static/resource/9" + }, + { + "mimeType": "application/octet-stream", + "name": "Resource 10", + "uri": "test://static/resource/10" + } + ], + "title": "Everything Example Server", + "tools": [ + { + "description": "Adds two numbers", + "icons": [], + "input_schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "a": { + "description": "First number", + "type": "number" + }, + "b": { + "description": "Second number", + "type": "number" } + }, + "required": [ + "a", + "b" ], - "description": "A prompt with arguments", - "name": "complex_prompt" + "type": "object" }, - { - "arguments": [ - { - "description": "Resource ID to include (1-100)", - "name": "resourceId", - "required": true + "name": "add", + "params": [ + { + "param_description": "First number", + "param_name": "a", + "param_type": { + "Primitive": "number" + }, + "required": true + }, + { + "param_description": "Second number", + "param_name": "b", + "param_type": { + "Primitive": "number" + }, + "required": true + } + ] + }, + { + "description": "Demonstrates how annotations can be used to provide metadata about content", + "icons": [], + "input_schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "includeImage": { + "default": false, + "description": "Whether to include an example image", + "type": "boolean" + }, + "messageType": { + "description": "Type of message to demonstrate different annotation patterns", + "enum": [ + "error", + "success", + "debug" + ], + "type": "string" } + }, + "required": [ + "messageType" ], - "description": "A prompt that includes an embedded resource reference", - "name": "resource_prompt" - } - ], - "resource_templates": [ - { - "description": "A static resource with a numeric ID", - "name": "Static Resource", - "uriTemplate": "test://static/resource/{id}" - } - ], - "resources": [ - { - "mimeType": "text/plain", - "name": "Resource 1", - "uri": "test://static/resource/1" - }, - { - "mimeType": "application/octet-stream", - "name": "Resource 2", - "uri": "test://static/resource/2" - }, - { - "mimeType": "text/plain", - "name": "Resource 3", - "uri": "test://static/resource/3" + "type": "object" }, - { - "mimeType": "application/octet-stream", - "name": "Resource 4", - "uri": "test://static/resource/4" - }, - { - "mimeType": "text/plain", - "name": "Resource 5", - "uri": "test://static/resource/5" + "name": "annotatedMessage", + "params": [ + { + "param_description": "Whether to include an example image", + "param_name": "includeImage", + "param_type": { + "Primitive": "boolean" + }, + "required": true + }, + { + "param_description": "Type of message to demonstrate different annotation patterns", + "param_name": "messageType", + "param_type": { + "EnumValues": [ + { + "Primitive": "error" + }, + { + "Primitive": "success" + }, + { + "Primitive": "debug" + } + ] + }, + "required": true + } + ] + }, + { + "description": "Echoes back the input", + "icons": [], + "input_schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "message": { + "description": "Message to echo", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" }, - { - "mimeType": "application/octet-stream", - "name": "Resource 6", - "uri": "test://static/resource/6" + "name": "echo", + "params": [ + { + "param_description": "Message to echo", + "param_name": "message", + "param_type": { + "Primitive": "string" + }, + "required": true + } + ] + }, + { + "description": "Returns multiple resource links that reference different types of resources", + "icons": [], + "input_schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "count": { + "default": 3, + "description": "Number of resource links to return (1-10)", + "maximum": 10, + "minimum": 1, + "type": "number" + } + }, + "type": "object" }, - { - "mimeType": "text/plain", - "name": "Resource 7", - "uri": "test://static/resource/7" + "name": "getResourceLinks", + "params": [ + { + "param_description": "Number of resource links to return (1-10)", + "param_name": "count", + "param_type": { + "Primitive": "number" + }, + "required": true + } + ] + }, + { + "description": "Returns a resource reference that can be used by MCP clients", + "icons": [], + "input_schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "resourceId": { + "description": "ID of the resource to reference (1-100)", + "maximum": 100, + "minimum": 1, + "type": "number" + } + }, + "required": [ + "resourceId" + ], + "type": "object" }, - { - "mimeType": "application/octet-stream", - "name": "Resource 8", - "uri": "test://static/resource/8" + "name": "getResourceReference", + "params": [ + { + "param_description": "ID of the resource to reference (1-100)", + "param_name": "resourceId", + "param_type": { + "Primitive": "number" + }, + "required": true + } + ] + }, + { + "description": "Returns the MCP_TINY_IMAGE", + "icons": [], + "input_schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": {}, + "type": "object" }, - { - "mimeType": "text/plain", - "name": "Resource 9", - "uri": "test://static/resource/9" + "name": "getTinyImage", + "params": [] + }, + { + "description": "Lists the current MCP roots provided by the client. Demonstrates the roots protocol capability even though this server doesn't access files.", + "icons": [], + "input_schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": {}, + "type": "object" }, - { - "mimeType": "application/octet-stream", - "name": "Resource 10", - "uri": "test://static/resource/10" - } - ], - "tools": [ - { - "description": "Adds two numbers", - "name": "add", - "params": [ - { - "param_description": "First number", - "param_name": "a", - "param_type": { - "Primitive": "number" - }, - "required": true + "name": "listRoots", + "params": [] + }, + { + "description": "Demonstrates a long running operation with progress updates", + "icons": [], + "input_schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "duration": { + "default": 10, + "description": "Duration of the operation in seconds", + "type": "number" }, - { - "param_description": "Second number", - "param_name": "b", - "param_type": { - "Primitive": "number" - }, - "required": true + "steps": { + "default": 5, + "description": "Number of steps in the operation", + "type": "number" } - ] + }, + "type": "object" }, - { - "description": "Demonstrates how annotations can be used to provide metadata about content", - "name": "annotatedMessage", - "params": [ - { - "param_description": "Whether to include an example image", - "param_name": "includeImage", - "param_type": { - "Primitive": "boolean" - }, - "required": true + "name": "longRunningOperation", + "params": [ + { + "param_description": "Duration of the operation in seconds", + "param_name": "duration", + "param_type": { + "Primitive": "number" }, - { - "param_description": "Type of message to demonstrate different annotation patterns", - "param_name": "messageType", - "param_type": { - "Primitive": "string" - }, - "required": true - } - ] + "required": true + }, + { + "param_description": "Number of steps in the operation", + "param_name": "steps", + "param_type": { + "Primitive": "number" + }, + "required": true + } + ] + }, + { + "description": "Prints all environment variables, helpful for debugging MCP server configuration", + "icons": [], + "input_schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": {}, + "type": "object" }, - { - "description": "Echoes back the input", - "name": "echo", - "params": [ - { - "param_description": "Message to echo", - "param_name": "message", - "param_type": { - "Primitive": "string" - }, - "required": true + "name": "printEnv", + "params": [] + }, + { + "description": "Samples from an LLM using MCP's sampling feature", + "icons": [], + "input_schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "maxTokens": { + "default": 100, + "description": "Maximum number of tokens to generate", + "type": "number" + }, + "prompt": { + "description": "The prompt to send to the LLM", + "type": "string" } - ] + }, + "required": [ + "prompt" + ], + "type": "object" }, - { - "description": "Returns a resource reference that can be used by MCP clients", - "name": "getResourceReference", - "params": [ - { - "param_description": "ID of the resource to reference (1-100)", - "param_name": "resourceId", - "param_type": { - "Primitive": "number" - }, - "required": true - } - ] + "name": "sampleLLM", + "params": [ + { + "param_description": "Maximum number of tokens to generate", + "param_name": "maxTokens", + "param_type": { + "Primitive": "number" + }, + "required": true + }, + { + "param_description": "The prompt to send to the LLM", + "param_name": "prompt", + "param_type": { + "Primitive": "string" + }, + "required": true + } + ] + }, + { + "description": "Elicitation test tool that demonstrates how to request user input with various field types (string, boolean, email, uri, date, integer, number, enum)", + "icons": [], + "input_schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": {}, + "type": "object" }, - { - "description": "Returns the MCP_TINY_IMAGE", - "name": "getTinyImage", - "params": [] + "name": "startElicitation", + "params": [] + }, + { + "description": "Returns structured content along with an output schema for client data validation", + "icons": [], + "input_schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "location": { + "description": "City name or zip code", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "location" + ], + "type": "object" }, - { - "description": "Demonstrates a long running operation with progress updates", - "name": "longRunningOperation", - "params": [ - { - "param_description": "Duration of the operation in seconds", - "param_name": "duration", - "param_type": { - "Primitive": "number" - }, - "required": true + "name": "structuredContent", + "params": [ + { + "param_description": "City name or zip code", + "param_name": "location", + "param_type": { + "Primitive": "string" }, - { - "param_description": "Number of steps in the operation", - "param_name": "steps", - "param_type": { - "Primitive": "number" + "required": true + } + ] + }, + { + "description": "Compresses the provided resource files (mapping of name to URI, which can be a data URI) to a zip file, which it returns as a data URI resource link.", + "icons": [], + "input_schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "files": { + "additionalProperties": { + "description": "URL of the file to include in the zip", + "format": "uri", + "type": "string" }, - "required": true + "description": "Mapping of file names to URLs to include in the zip", + "type": "object" } - ] - }, - { - "description": "Prints all environment variables, helpful for debugging MCP server configuration", - "name": "printEnv", - "params": [] + }, + "required": [ + "files" + ], + "type": "object" }, - { - "description": "Samples from an LLM using MCP's sampling feature", - "name": "sampleLLM", - "params": [ - { - "param_description": "Maximum number of tokens to generate", - "param_name": "maxTokens", - "param_type": { - "Primitive": "number" - }, - "required": true + "name": "zip", + "params": [ + { + "param_description": "Mapping of file names to URLs to include in the zip", + "param_name": "files", + "param_type": { + "Primitive": "unknown" }, - { - "param_description": "The prompt to send to the LLM", - "param_name": "prompt", - "param_type": { - "Primitive": "string" - }, - "required": true - } - ] - } - ], - "version": "1.0.0" -} - \ No newline at end of file + "required": true + } + ] + } + ], + "version": "1.0.0" +} \ No newline at end of file diff --git a/docs/examples/print_terminal.jpg b/docs/examples/print_terminal.jpg index 9e3bd05..eeff882 100644 Binary files a/docs/examples/print_terminal.jpg and b/docs/examples/print_terminal.jpg differ diff --git a/docs/examples/print_terminal_template_file.jpg b/docs/examples/print_terminal_template_file.jpg index bee9734..6163bf1 100644 Binary files a/docs/examples/print_terminal_template_file.jpg and b/docs/examples/print_terminal_template_file.jpg differ diff --git a/docs/examples/server-info.html b/docs/examples/server-info.html index 75390ad..d17b637 100644 --- a/docs/examples/server-info.html +++ b/docs/examples/server-info.html @@ -58,6 +58,15 @@ position: relative; } + .success { + color: #097300; + font-weight: 500; + } + + .error { + color: #bb0000; + } + code { border-radius: 2px; color: #e96900; @@ -116,405 +125,426 @@

example-servers/everything 1.0.0

- - + + - - - - - - - - - - - - - -
Tools Prompts Resources Logging CompletionsExperimental
✔ Tools (10)✔ Prompts (3)✔ Resources (10)✔ Logging✔ Completions - ✘ Experimental -
-
- -
-

🛠️ Tools (10)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Tool NameDescriptionInputs
1. - add - Adds two numbers -
    -
  • a : number
  • -
  • b : number
  • -
-
2. - annotatedMessage - - Demonstrates how annotations can be used to provide - metadata about content - -
    -
  • - includeImage : boolean
    -
  • -
  • - messageType : - error|success|debug
    -
  • -
-
3. - echo - Echoes back the input -
    -
  • - message : string
    -
  • -
-
4. - getResourceLinks - - Returns multiple resource links that reference - different types of resources - -
    -
  • - count : number
    -
  • -
-
5. - getResourceReference - - Returns a resource reference that can be used by MCP - clients - -
    -
  • - resourceId : number
    -
  • -
-
6. - getTinyImage - Returns the MCP_TINY_IMAGE -
    -
    7. - longRunningOperation - - Demonstrates a long running operation with progress - updates - -
      -
    • - duration : number
      -
    • -
    • - steps : number
      -
    • -
    -
    8. - printEnv - - Prints all environment variables, helpful for - debugging MCP server configuration - -
      -
      9. - sampleLLM - - Samples from an LLM using MCP's sampling feature - -
        -
      • - maxTokens : number
        -
      • -
      • - prompt : string
        -
      • -
      -
      10. - structuredContent - - Returns structured content along with an output - schema for client data validation - -
        -
      • - location : string
        -
      • -
      -
      + Tasks + + + + + ✔ Tools (13) + ✔ Prompts (3) + ✔ Resources (10) + ✔ Logging + ✔ Completions + ✘ Tasks + + +
      -

      📝 Prompts (3)

      +

      🛠️ Tools (13)

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      IconTool NameDescriptionInputs
      1. + + + add + Adds two numbers +
        +
      • a : number
      • +
      • b : number
      • +
      +
      2. + + + annotatedMessage + Demonstrates how annotations can be used to provide metadata about content +
        +
      • includeImage : boolean
      • +
      • messageType : error|success|debug
      • +
      +
      3. + + + echo + Echoes back the input +
        +
      • message : string
      • +
      +
      4. + + + getResourceLinks + Returns multiple resource links that reference different types of resources +
        +
      • count : number
      • +
      +
      5. + + + getResourceReference + Returns a resource reference that can be used by MCP clients +
        +
      • resourceId : number
      • +
      +
      6. + + + getTinyImage + Returns the MCP_TINY_IMAGE +
        +
      +
      7. + + + listRoots + Lists the current MCP roots provided by the client. Demonstrates the roots protocol capability even though this server doesn't access files. +
        +
      +
      8. + + + longRunningOperation + Demonstrates a long running operation with progress updates +
        +
      • duration : number
      • +
      • steps : number
      • +
      +
      9. + + + printEnv + Prints all environment variables, helpful for debugging MCP server configuration +
        +
      +
      10. + + + sampleLLM + Samples from an LLM using MCP's sampling feature +
        +
      • maxTokens : number
      • +
      • prompt : string
      • +
      +
      11. + + + startElicitation + Elicitation test tool that demonstrates how to request user input with various field types (string, boolean, email, uri, date, integer, number, enum) +
        +
      +
      12. + + + structuredContent + Returns structured content along with an output schema for client data validation +
        +
      • location : string
      • +
      +
      13. + + + zip + Compresses the provided resource files (mapping of name to URI, which can be a data URI) to a zip file, which it returns as a data URI resource link. +
        +
      • files : unknown
      • +
      +
      - - - - - - - - - - - - - - - - - - - - - - - - - -
      Prompt NameDescription
      1. - simple_prompt - A prompt without arguments
      2. - complex_prompt - A prompt with arguments
      3. - resource_prompt - - A prompt that includes an embedded resource - reference -
      -
      + + +

      📝 Prompts (3)

      -
      -

      📄 Resources (10)

      + + + + + + + + + + + + + + + + + + + + + + + + + +
      Prompt NameDescription
      1. + simple_prompt + A prompt without arguments
      2. + complex_prompt + A prompt with arguments
      3. + resource_prompt + A prompt that includes an embedded resource reference
      +
      + +

      📄 Resources (10)

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Resource NameUriDescription
      1. - Resource 1 - - test://static/resource/1 (text/plain) -
      2. - Resource 2 - - test://static/resource/2 - (application/octet-stream) -
      3. - Resource 3 - - test://static/resource/3 (text/plain) -
      4. - Resource 4 - - test://static/resource/4 - (application/octet-stream) -
      5. - Resource 5 - - test://static/resource/5 (text/plain) -
      6. - Resource 6 - - test://static/resource/6 - (application/octet-stream) -
      7. - Resource 7 - - test://static/resource/7 (text/plain) -
      8. - Resource 8 - - test://static/resource/8 - (application/octet-stream) -
      9. - Resource 9 - - test://static/resource/9 (text/plain) -
      10. - Resource 10 - - test://static/resource/10 - (application/octet-stream) -
      -
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Resource NameUriDescription
      1. + Resource 1 + + test://static/resource/1 (text/plain) +
      2. + Resource 2 + + test://static/resource/2 (application/octet-stream) +
      3. + Resource 3 + + test://static/resource/3 (text/plain) +
      4. + Resource 4 + + test://static/resource/4 (application/octet-stream) +
      5. + Resource 5 + + test://static/resource/5 (text/plain) +
      6. + Resource 6 + + test://static/resource/6 (application/octet-stream) +
      7. + Resource 7 + + test://static/resource/7 (text/plain) +
      8. + Resource 8 + + test://static/resource/8 (application/octet-stream) +
      9. + Resource 9 + + test://static/resource/9 (text/plain) +
      10. + Resource 10 + + test://static/resource/10 (application/octet-stream) +
      +
      + +

      🧩 Resource Templates (1)

      -
      -

      🧩 Resource Templates (1)

      - - - - - - - - - - - - - - - - - - -
      NameUri TemplateDescription
      1. - Static Resource - - test://static/resource/{id} - A static resource with a numeric ID
      -
      + + + + + + + + + + + + + + + + + +
      NameUri TemplateDescription
      1. + Static Resource + + test://static/resource/{id} + A static resource with a numeric ID
      +
      - ◾ generated by + ◾ generated by mcp-discovery + >mcp-discovery
      diff --git a/docs/examples/update-md-inline.md b/docs/examples/update-md-inline.md index eb83161..72b96ee 100644 --- a/docs/examples/update-md-inline.md +++ b/docs/examples/update-md-inline.md @@ -1,45 +1,140 @@ # Server Info and Capabilities - - Name: example-servers/everything -
      - Version: 1.0.0 -
      - Number of tools: 10 -

      Summary:

      - - - - - - - - - - - - - - - - - - - - - -
      ToolsPromptsResourcesLoggingCompletionsExperimental
      ✔ Tools (10)✔ Prompts (3)✔ Resources (10)✔ Logging✔ Completions✘ Experimental
      +## example-servers/everything 1.0.0 + +| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | +| --- | --- | --- | --- | --- | --- | + +## 🛠️ Tools (13) + + +- **add** + - Adds two numbers + - **Inputs:** + - a : number
      + - b : number
      + +- **annotatedMessage** + - Demonstrates how annotations can be used to provide metadata about content + - **Inputs:** + - includeImage : boolean
      + - messageType : error|success|debug
      + +- **echo** + - Echoes back the input + - **Inputs:** + - message : string
      + +- **getResourceLinks** + - Returns multiple resource links that reference different types of resources + - **Inputs:** + - count : number
      + +- **getResourceReference** + - Returns a resource reference that can be used by MCP clients + - **Inputs:** + - resourceId : number
      + +- **getTinyImage** + - Returns the MCP_TINY_IMAGE + +- **listRoots** + - Lists the current MCP roots provided by the client. Demonstrates the roots protocol capability even though this server doesn't access files. + +- **longRunningOperation** + - Demonstrates a long running operation with progress updates + - **Inputs:** + - duration : number
      + - steps : number
      + +- **printEnv** + - Prints all environment variables, helpful for debugging MCP server configuration + +- **sampleLLM** + - Samples from an LLM using MCP's sampling feature + - **Inputs:** + - maxTokens : number
      + - prompt : string
      + +- **startElicitation** + - Elicitation test tool that demonstrates how to request user input with various field types (string, boolean, email, uri, date, integer, number, enum) + +- **structuredContent** + - Returns structured content along with an output schema for client data validation + - **Inputs:** + - location : string
      + +- **zip** + - Compresses the provided resource files (mapping of name to URI, which can be a data URI) to a zip file, which it returns as a data URI resource link. + - **Inputs:** + - files : unknown
      + + +## 📝 Prompts (3) + + +- **simple_prompt** + - A prompt without arguments + +- **complex_prompt** + - A prompt with arguments + +- **resource_prompt** + - A prompt that includes an embedded resource reference + +## 📄 Resources (10) + + +- **Resource 1** + + - URI: test://static/resource/1 (text/plain) + +- **Resource 2** + + - URI: test://static/resource/2 (application/octet-stream) + +- **Resource 3** + + - URI: test://static/resource/3 (text/plain) + +- **Resource 4** + + - URI: test://static/resource/4 (application/octet-stream) + +- **Resource 5** + + - URI: test://static/resource/5 (text/plain) + +- **Resource 6** + + - URI: test://static/resource/6 (application/octet-stream) + +- **Resource 7** + + - URI: test://static/resource/7 (text/plain) + +- **Resource 8** + + - URI: test://static/resource/8 (application/octet-stream) + +- **Resource 9** + + - URI: test://static/resource/9 (text/plain) + +- **Resource 10** + + - URI: test://static/resource/10 (application/octet-stream) + +## 🧩 Resource Templates (1) + + +- **Static Resource** + - A static resource with a numeric ID + +◾ generated by [mcp-discovery](https://github.com/rust-mcp-stack/mcp-discovery) --- -A Footer +A Footer \ No newline at end of file diff --git a/docs/examples/update-md-plain.md b/docs/examples/update-md-plain.md index c20e512..57a7881 100644 --- a/docs/examples/update-md-plain.md +++ b/docs/examples/update-md-plain.md @@ -2,10 +2,11 @@ ## example-servers/everything 1.0.0 -| ✔ Tools (10) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ✘ Experimental | + +| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | | --- | --- | --- | --- | --- | --- | -## 🛠️ Tools (10) +## 🛠️ Tools (13) - **add** @@ -38,6 +39,9 @@ - **getTinyImage** - Returns the MCP_TINY_IMAGE +- **listRoots** + - Lists the current MCP roots provided by the client. Demonstrates the roots protocol capability even though this server doesn't access files. + - **longRunningOperation** - Demonstrates a long running operation with progress updates - **Inputs:** @@ -53,11 +57,19 @@ - maxTokens : number
      - prompt : string
      +- **startElicitation** + - Elicitation test tool that demonstrates how to request user input with various field types (string, boolean, email, uri, date, integer, number, enum) + - **structuredContent** - Returns structured content along with an output schema for client data validation - **Inputs:** - location : string
      +- **zip** + - Compresses the provided resource files (mapping of name to URI, which can be a data URI) to a zip file, which it returns as a data URI resource link. + - **Inputs:** + - files : unknown
      + ## 📝 Prompts (3) @@ -121,4 +133,4 @@ - A static resource with a numeric ID ◾ generated by [mcp-discovery](https://github.com/rust-mcp-stack/mcp-discovery) - + \ No newline at end of file diff --git a/docs/examples/update-md.md b/docs/examples/update-md.md index efa0257..4bb702f 100644 --- a/docs/examples/update-md.md +++ b/docs/examples/update-md.md @@ -2,15 +2,17 @@ ## example-servers/everything 1.0.0 -| ✔ Tools (10) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ✘ Experimental | + +| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | | --- | --- | --- | --- | --- | --- | -## 🛠️ Tools (10) +## 🛠️ Tools (13) + @@ -19,6 +21,9 @@ + @@ -32,6 +37,9 @@ + @@ -45,6 +53,9 @@ + @@ -57,6 +68,9 @@ + @@ -69,6 +83,9 @@ + @@ -81,6 +98,9 @@ + @@ -92,6 +112,23 @@ + + + + + + + + @@ -104,7 +141,10 @@ - + + @@ -115,7 +155,10 @@ - + + @@ -128,7 +171,24 @@ - + + + + + + + + + @@ -139,6 +199,21 @@ + + + + + + +
      Icon Tool Name Description Inputs
      1. + + add
      2. + + annotatedMessage
      3. + + echo
      4. + + getResourceLinks
      5. + + getResourceReference
      6. + + getTinyImage
      7. + + + listRoots + Lists the current MCP roots provided by the client. Demonstrates the roots protocol capability even though this server doesn't access files. +
        +
      +
      8. + + longRunningOperation
      8.9. + + printEnv
      9.10. + + sampleLLM
      10.11. + + + startElicitation + Elicitation test tool that demonstrates how to request user input with various field types (string, boolean, email, uri, date, integer, number, enum) +
        +
      +
      12. + + structuredContent
      13. + + + zip + Compresses the provided resource files (mapping of name to URI, which can be a data URI) to a zip file, which it returns as a data URI resource link. +
        +
      • files : unknown
      • +
      +
      @@ -183,6 +258,7 @@ + Icon Resource Name Uri Description @@ -191,6 +267,9 @@ 1. + + + Resource 1 @@ -201,6 +280,9 @@ 2. + + + Resource 2 @@ -211,6 +293,9 @@ 3. + + + Resource 3 @@ -221,6 +306,9 @@ 4. + + + Resource 4 @@ -231,6 +319,9 @@ 5. + + + Resource 5 @@ -241,6 +332,9 @@ 6. + + + Resource 6 @@ -251,6 +345,9 @@ 7. + + + Resource 7 @@ -261,6 +358,9 @@ 8. + + + Resource 8 @@ -271,6 +371,9 @@ 9. + + + Resource 9 @@ -281,6 +384,9 @@ 10. + + + Resource 10 @@ -298,6 +404,7 @@ + Icon Name Uri Template Description @@ -306,6 +413,9 @@ 1. + + + Static Resource @@ -318,4 +428,4 @@ ◾ generated by [mcp-discovery](https://github.com/rust-mcp-stack/mcp-discovery) - + \ No newline at end of file diff --git a/templates/common/title.hbs b/templates/common/title.hbs index ceec2b2..88201ae 100644 --- a/templates/common/title.hbs +++ b/templates/common/title.hbs @@ -1 +1,9 @@ -{{#if prefix}}{{{prefix}}}{{/if}}{{name}} {{version}}{{#if suffix}}{{{suffix}}}{{/if}} \ No newline at end of file +{{#if prefix}}{{{prefix}}}{{/if}}{{name}} {{version}}{{#if suffix}}{{{suffix}}}{{/if}} +{{#if description}} + +{{{description}}} +{{/if}} +{{#if website_url}} + +Website: {{{website_url}}} +{{/if}} diff --git a/templates/html/html_summary.hbs b/templates/html/html_summary.hbs index 3d71659..2c48002 100644 --- a/templates/html/html_summary.hbs +++ b/templates/html/html_summary.hbs @@ -12,11 +12,11 @@ {{{capability_tag "Tools" capabilities.tools (len tools) null}}} - {{{capability_tag "Prompts" capabilities.prompts (len prompts) null }}} + {{{capability_tag "Prompts" capabilities.prompts (len prompts) null}}} {{{capability_tag "Resources" capabilities.resources (len resources) null}}} - {{{capability_tag "Logging" capabilities.logging null null }}} + {{{capability_tag "Logging" capabilities.logging null null}}} {{{capability_tag "Completions" capabilities.completions null null}}} - {{{capability_tag "Tasks" capabilities.tasks null null }}} + {{{capability_tag "Tasks" capabilities.tasks null null}}} diff --git a/templates/markdown/summary.hbs b/templates/markdown/summary.hbs index 38a8fea..1b90bef 100644 --- a/templates/markdown/summary.hbs +++ b/templates/markdown/summary.hbs @@ -1,2 +1,2 @@ -| {{{capability_tag "Tools" capabilities.tools (len tools)}}} | {{{capability_tag "Prompts" capabilities.prompts (len prompts) true}}} | {{{capability_tag "Resources" capabilities.resources (len resources) true}}} | {{{capability_tag "Logging" capabilities.logging null true}}} | {{{capability_tag "Completions" capabilities.completions null true}}} | {{{capability_tag "Tasks" capabilities.tasks null true}}} | +| {{{capability_tag "Tools" capabilities.tools (len tools) true}}} | {{{capability_tag "Prompts" capabilities.prompts (len prompts) true}}} | {{{capability_tag "Resources" capabilities.resources (len resources) true}}} | {{{capability_tag "Logging" capabilities.logging null true}}} | {{{capability_tag "Completions" capabilities.completions null true}}} | {{{capability_tag "Tasks" capabilities.tasks null true}}} | | --- | --- | --- | --- | --- | --- | diff --git a/tests/fixtures/cmds.txt b/tests/fixtures/cmds.txt index 4ade610..6335450 100644 --- a/tests/fixtures/cmds.txt +++ b/tests/fixtures/cmds.txt @@ -5,4 +5,21 @@ ./mcp-discovery update -f ../../tests/fixtures/md-plain-update.md -t md-plain -- npx -y @modelcontextprotocol/server-everything ./mcp-discovery update -f ../../tests/fixtures/md-plain-update-file-prop.md -- npx -y @modelcontextprotocol/server-everything ./mcp-discovery update -f ../../tests/fixtures/md-plain-update-template-prop.md -- npx -y @modelcontextprotocol/server-everything -./mcp-discovery update -f ../../tests/fixtures/md-plain-update-inline.md -- npx -y @modelcontextprotocol/server-everything \ No newline at end of file +./mcp-discovery update -f ../../tests/fixtures/md-plain-update-inline.md -- npx -y @modelcontextprotocol/server-everything + + + +./mcp-discovery create -f ../../docs/examples/capabilities.txt --template txt -- npx -y @modelcontextprotocol/server-everything +./mcp-discovery create -f ../../docs/examples/create-md.md -- npx -y @modelcontextprotocol/server-everything +./mcp-discovery create -f ../../docs/examples/create-md-plain.md --template md-plain -- npx -y @modelcontextprotocol/server-everything +./mcp-discovery create -f ../../docs/examples/json.txt --template-string "{{{json this 'pretty'}}}" -- npx -y @modelcontextprotocol/server-everything + +./mcp-discovery create -f ../../docs/examples/server-info.html --template html -- npx -y @modelcontextprotocol/server-everything + + +./mcp-discovery update -f ../../docs/examples/update-md.md -- npx -y @modelcontextprotocol/server-everything +./mcp-discovery update -f ../../docs/examples/update-md-inline.md -t md-plain -- npx -y @modelcontextprotocol/server-everything +./mcp-discovery update -f ../../docs/examples/update-md-plain.md -- npx -y @modelcontextprotocol/server-everything + + +mcp-discovery --template-file sample_txt_template.txt -- npx -y @modelcontextprotocol/server-everything diff --git a/tests/fixtures/md-create.md b/tests/fixtures/md-create.md index 3b5b69e..4729ceb 100644 --- a/tests/fixtures/md-create.md +++ b/tests/fixtures/md-create.md @@ -1,5 +1,6 @@ ## example-servers/everything 1.0.0 -| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | + +| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | | --- | --- | --- | --- | --- | --- | ## 🛠️ Tools (13) diff --git a/tests/fixtures/md-plain-create.md b/tests/fixtures/md-plain-create.md index 04d6868..41dade9 100644 --- a/tests/fixtures/md-plain-create.md +++ b/tests/fixtures/md-plain-create.md @@ -1,5 +1,6 @@ ## example-servers/everything 1.0.0 -| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | + +| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | | --- | --- | --- | --- | --- | --- | ## 🛠️ Tools (13) diff --git a/tests/fixtures/md-plain-update-file-prop.md b/tests/fixtures/md-plain-update-file-prop.md index 3e733a6..0a8916a 100644 --- a/tests/fixtures/md-plain-update-file-prop.md +++ b/tests/fixtures/md-plain-update-file-prop.md @@ -1,5 +1,6 @@ ## example-servers/everything 1.0.0 -| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | + +| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | | --- | --- | --- | --- | --- | --- | \ No newline at end of file diff --git a/tests/fixtures/md-plain-update-template-prop.md b/tests/fixtures/md-plain-update-template-prop.md index 1c54c14..5a2dbb1 100644 --- a/tests/fixtures/md-plain-update-template-prop.md +++ b/tests/fixtures/md-plain-update-template-prop.md @@ -1,6 +1,7 @@ ## example-servers/everything 1.0.0 -| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | + +| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | | --- | --- | --- | --- | --- | --- | ## 🛠️ Tools (13) diff --git a/tests/fixtures/md-plain-update.md b/tests/fixtures/md-plain-update.md index 55afbba..19fc521 100644 --- a/tests/fixtures/md-plain-update.md +++ b/tests/fixtures/md-plain-update.md @@ -1,6 +1,7 @@ ## example-servers/everything 1.0.0 -| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | + +| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | | --- | --- | --- | --- | --- | --- | ## 🛠️ Tools (13) diff --git a/tests/fixtures/md-update.md b/tests/fixtures/md-update.md index d1e7473..570cb7e 100644 --- a/tests/fixtures/md-update.md +++ b/tests/fixtures/md-update.md @@ -1,6 +1,7 @@ ## example-servers/everything 1.0.0 -| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | + +| ✔ Tools (13) | ✔ Prompts (3) | ✔ Resources (10) | ✔ Logging | ✔ Completions | ~~✘ Tasks~~ | | --- | --- | --- | --- | --- | --- | ## 🛠️ Tools (13) diff --git a/tests/fixtures/txt-create.txt b/tests/fixtures/txt-create.txt index 066dee4..0e9607f 100644 --- a/tests/fixtures/txt-create.txt +++ b/tests/fixtures/txt-create.txt @@ -1,5 +1,6 @@ example-servers/everything 1.0.0 + ✔ Tools (13) ✔ Prompts (3) ✔ Resources (10) ✔ Logging ✔ Completions ✘ Tasks