mcp-servers/everything
[ tools: 13 ][ checks: 13 ][ latency: 23ms ]
87/100(B)
npx -y @modelcontextprotocol/server-everything
check breakdown
✓Tools exposed — Server exposed 13 tools.
• echo
• get-annotated-message
• get-env
• get-resource-links
• get-resource-reference
• get-structured-content
• get-sum
• get-tiny-image
• gzip-file-as-resource
• toggle-simulated-logging
• toggle-subscriber-updates
• trigger-long-running-operation
• simulate-research-query
✓Input schemas valid — All tools have a valid JSON-Schema input definition.
!Input schema quality — 5 schema-quality issue(s) across 13 tool(s).
get-resource-links: no "required" array (which params are mandatory?)
get-resource-reference: no "required" array (which params are mandatory?)
get-resource-reference.resourceType: parameter has no description
gzip-file-as-resource: no "required" array (which params are mandatory?)
trigger-long-running-operation: no "required" array (which params are mandatory?)
→ Declare `required` for every schema that has properties, so agents know which params are mandatory.
→ Give every property a `description` and a concrete `type` (avoid bare `{}` placeholders).
!Output schemas — 12 of 13 tool(s) have no outputSchema.
• echo
• get-annotated-message
• get-env
• get-resource-links
• get-resource-reference
• get-sum
• get-tiny-image
• gzip-file-as-resource
• toggle-simulated-logging
• toggle-subscriber-updates
• trigger-long-running-operation
• simulate-research-query
→ Optional: add outputSchema to the remaining tools for consistency.
✓Duplicate tool names — All tool names are unique.
✓Tool naming — All tool names use spec-legal characters.
Advisory (not scored): 12 name(s) aren't lower_snake_case — consistent lower_snake_case tends to help model tool-selection reliability, though mixed case, digits, underscores, hyphens, and dots are all spec-legal.
• "get-annotated-message"
• "get-env"
• "get-resource-links"
• "get-resource-reference"
• "get-structured-content"
• "get-sum"
• "get-tiny-image"
• "gzip-file-as-resource"
• "toggle-simulated-logging"
• "toggle-subscriber-updates"
• "trigger-long-running-operation"
• "simulate-research-query"
!Descriptions — 1 description issue(s) found.
get-resource-reference.resourceType: parameter has no description
→ Descriptions are the model's only guide to when/how to call a tool — treat them as prompt engineering.
→ Describe every tool and every parameter, including units, formats, and constraints.
→ Each tool's description should say something the name doesn't, and should be unique to that tool.
!Tool annotations — Annotation coverage 80% (52/65 hint fields set).
Some tools set a few hints but not all of title/readOnlyHint/destructiveHint/idempotentHint/openWorldHint.
→ Add annotations: title, readOnlyHint, destructiveHint, idempotentHint, openWorldHint.
→ These let clients gate risky calls and give agents/users a friendly display name — optional but valuable.
✓Tool titles — All tools declare a human-readable title.
✓Server instructions — Server declares top-level instructions for clients.
✓Handshake + list latency — tools/list responded in 23ms.
!Prompts — 1 prompt-quality issue(s) across 4 prompt(s).
args-prompt.state: argument has no description
→ Give every prompt a description, and every argument a description.
→ Use lowercase snake_case or kebab-case prompt names, and keep names unique.
✓Resources — All 9 resource(s)/template(s) are well-described.
add the badge
Paste into your README:
[](https://scoremcp.dev/servers/server-everything)