TypeScript template for building Model Context Protocol (MCP) servers & clients. Features production-ready utilities, stdio/HTTP transports (with JWT auth), examples, and type safety. Ideal starting point for creating MCP-based applications.
Server has 2 tools with mixed quality. echo_message is well-defined with complete Zod schema, proper parameter descriptions, and clear constraints (minLength, maxLength, enums, defaults). krayin_mcp_tool lacks visible schema definition and detailed parameter documentation, only a generic description is provided. The echo tool demonstrates good practices (constraints, type safety, structured output), but the second tool is underspecified. Overall: solid foundation for one tool, but incomplete coverage for the other.
Echoes back a message with optional formatting (uppercase/lowercase) and repetition. Supports timestamp inclusion in response.
Tool for interacting with Krayin CRM system. Handles CRM operations and integrations.
krayin_mcp_tool has no visible input schema. Tool registration file (src/mcp-server/tools/krayinMcpTool/registration.ts) not provided in source code sample. Cannot verify parameter types, constraints, or descriptions.
krayin_mcp_tool description is generic ('Tool for interacting with Krayin CRM system. Handles CRM operations and integrations.') and does not explain WHAT operations, WHEN to use it, or what it returns. LLMs cannot determine when to select this tool.
krayin_mcp_tool name is vague. 'krayin_mcp_tool' does not follow verb_noun convention (e.g., 'get_crm_contact', 'create_crm_lead'). LLMs cannot infer the action from the name alone.
echo_message naming could be more specific. 'echo_message' is acceptable but does not follow strict verb_noun pattern. Consider 'format_and_repeat_message' or split into separate tools if formatting and repetition are distinct concerns.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | <=2025-11-25 | v2 |
No output schema documentation visible for either tool. echo_message has an EchoToolResponse interface defined, but it is not clear how this is serialized in the MCP CallToolResult. krayin_mcp_tool has no documented return structure.