A sample MCP server implementation in Java using Quarkus framework demonstrating tool registration and MCP protocol support
Both tools lack input schemas entirely (empty {} objects), have minimal descriptions (under 20 chars), and provide no parameter documentation. Tool names 'hello1' and 'hello2' are generic and non-descriptive, violating verb_noun naming conventions. No output schema documentation. No error handling guidance. This is a minimal proof-of-concept, not production-ready.
Say hello #1
Say hello #2
No input schemas defined. Both tools have empty input objects ({}), violating the requirement that every tool must declare its input schema with typed parameters.
Descriptions are too short and generic. 'Say hello #1' and 'Say hello #2' (11-12 chars) fall below the 20-char minimum and provide no context for when or why an LLM should call these tools.
Tool names lack action verbs and are non-descriptive. 'hello1' and 'hello2' do not follow verb_noun convention (e.g., 'greet_user', 'send_greeting'). LLMs cannot infer intent from these names.
No output schema documented. Callers cannot predict the structure of responses ('Hello World!' is a string, but this is not formally declared).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 20 | 2026-07-28+ | v2 |
No error handling or recovery guidance. Tools return only success responses; no error cases, validation, or actionable error messages are defined.