Local inference client for privacy-first, on-device LLM execution with no cloud telemetry
This server has a single tool with critically deficient definition quality. The tool name 'run_local_inference' violates verb-noun conventions (should be 'execute_local_inference' or similar with more specificity). The description is 138 characters, within the acceptable range, but lacks essential details about when to use it, prerequisites, and what data is returned beyond the structure. The input schema is visible and properly typed, but lacks critical validation guidance. The implementation in client.py reveals that this is a MOCK tool returning hardcoded synthetic responses, not a real MCP server. No MCP protocol boilerplate is present; this appears to be a standalone Python class, not an MCP-compliant server.
Execute local inference on an offline LLM model with 100% on-device processing and no cloud telemetry
Tool name lacks verb-noun clarity. 'run_local_inference' is generic and does not clearly distinguish this from other inference tools. Should follow pattern 'execute_local_inference' or 'infer_local_model'. The prefix 'run' is discouraged in production tools.
Description lacks depth for LLM selection. The description states WHAT the tool does but omits WHEN to use it (as opposed to cloud inference), any prerequisites (model must exist at path), and constraints (e.g., does it require GPU? What model formats does it support?). LLMs cannot infer this context.
Parameter descriptions lack validation guidance. 'local_model_path' description omits: required format (must be GGUF), expected directory structure, fallback behavior if file missing. LLMs cannot validate inputs without explicit constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 34 | 2026-07-28+ | v2 |
Output schema is not documented in the tool definition. The implementation reveals the tool returns {inference_text, telemetry_cloud_sent, tokens_per_second}, but this is not declared in the tool schema. LLMs cannot plan downstream calls without knowing the output structure.
No error handling or recovery guidance. The tool description does not explain what happens if the model file is missing, corrupted, or incompatible. No guidance on retryable vs. fatal failures.
Mock implementation instead of real MCP server. The source code shows a standalone Python class with hardcoded return values ('Offline local completion for...', static tokens_per_second=48.2). This is not an MCP server, it has no MCP protocol handler, no tool registration mechanism, and no transport layer.