Frontend application for f4rmhouse that integrates with MCP servers and LLM agents to provide tool/prompt/resource execution capabilities
f4rmhouse is an HTTP-based MCP server with a Next.js frontend and only 1 tool registered. The 'add' tool has a complete JSON Schema with two number parameters properly typed and described. However, the tool definition itself is defined in MockMCPServer.ts, suggesting this is a mock/test implementation rather than a production server. The descriptions are minimal (20-30 chars), meeting the hard floor but not production quality. The server exposes prompts and resources capabilities but no tool annotations, error handling guidance, or structured error recovery. The implementation uses @modelcontextprotocol/sdk correctly for HTTP transport but lacks documentation on output schemas, error handling patterns, and compositional design. Most critically, only a single 'add' tool is visible, this appears to be a minimal demonstration server rather than a feature-complete implementation.
Adds two numbers together
Tool definition located in __mocks__ directory suggests this is a test/demo implementation, not production code. Unclear if real tools exist elsewhere.
Tool description is 24 characters ('Adds two numbers together'). While technically above the 20-char floor, it lacks guidance on WHEN to use the tool vs alternatives, what the LLM should expect as output, or any prerequisites. Production baseline is 50-200 chars with explicit action statement.
No output schema documented. The 'add' tool's response type is not declared. LLMs cannot plan downstream tool calls or extract results without knowing the output structure (e.g., does it return {result: number} or just a number?).
No error handling or recovery guidance. No documentation of failure modes, retryable vs fatal errors, or what the LLM should do if the addition fails (e.g., invalid input, overflow).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 50 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 34 | - | v1 |
Tool naming 'add' is generic and lacks a verb+noun structure. While technically unambiguous for arithmetic, production naming convention would be 'add_numbers' to match 549-tool baseline (get_, create_, update_, delete_, search_, list_).
No tool annotations present. The 'add' tool is marked READ_ONLY (idempotent), but this is not declared via idempotentHint in the tool definition. Current MCP spec (2026-07-28) expects structured tool annotations for LLM reasoning about side effects.
Codebase shows multiple tool-creation patterns (abstract-tool.ts, abstract-structured-tool.ts, f4-tool.ts, mcp_sse_tool.ts) but only 'add' is registered as an actual MCP tool. The other patterns appear to be LangChain integration code, not MCP-exposed tools. Unclear which tools are actually available via MCP.