An MCP server that retrieves current time from an NTP server with configurable timezone support
The NTP MCP server has a single tool with minimal definition quality. The tool name 'get_current_time' follows verb conventions (positive), but the input schema is empty with no parameters, a significant gap for a tool that accepts environment-based configuration. The description mentions environment variables (NTP_SERVER, TZ) but these are not exposed as tool parameters, violating the principle that configuration affecting tool behavior should be parameterized. The tool lacks input parameter descriptions, output schema documentation, and error handling guidance. No type annotations on outputs. The description is adequate length (169 chars) but does not explain WHEN to use this tool vs alternatives or guide recovery on NTP failures. The codebase shows no security risk (read-only, no secrets in params), but lacks the structure expected of production-grade agent tools.
Get the current time from an NTP server specified by NTP_SERVER env var (default 'pool.ntp.org'), in time zone specified by TZ env var (default system local)
Empty input schema: tool accepts NTP_SERVER and TZ configuration via environment variables but does not expose them as tool parameters. This violates the pattern that agent-controlled inputs must be parameterized. Tool schema is {"type":"object","properties":{}}, providing no way for an agent to customize behavior without server restart.
No output schema documented. Tool returns TextContent with unstructured string output (e.g., 'Date:2025-01-15\nTime:14:30:45\nTimezone:UTC'). LLM cannot parse structured fields for downstream reasoning or chaining. Output should be a typed object with date, time, timezone, and fallback_used fields.
No error handling guidance. Description does not explain what happens on NTP failure (fallback to local time) or guide the agent on recovery. Error messages are returned as plain text, not structured error objects with actionable guidance (e.g., 'NTP timeout, try a different server by calling with ntp_server=time.nist.gov').
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 38 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Tool description lacks guidance on WHEN to use it. No indication of intended use cases, dependencies, or when it might fail. Description mentions environment variables but does not explain that the agent cannot control them at call time, a critical limitation for dynamic use.
Configuration via environment variables instead of tool parameters. NTP_SERVER and TZ should be optional tool parameters with defaults. Current design requires server restart to change NTP source or timezone, eliminating agent flexibility and forcing static configuration.