Skeleton entrypoint for an MCP-style conversational data access server with toy tools for CRM, tickets, and legacy database lookups
This is a skeleton/template server with minimal implementation. All three tools have basic descriptions (toy/placeholder language) and input schemas with single string parameters. However, the server is NOT actually integrated with any MCP runtime, it's a standalone Python module with a dispatcher function. No tool registration, no MCP protocol implementation, no output schemas documented. The code explicitly states 'Replace this with real MCP tool bindings later' and 'Wire this into your MCP runtime to make it functional.' This is a tutorial/boilerplate, not a functional MCP server.
Toy CRM lookup. Replace with real logic if desired.
Toy legacy DB lookup.
Toy ticket list. Replace with real data source.
No MCP runtime integration. Code is a bare dispatcher function, not a registered MCP server. No tool registration with the MCP protocol, no transport binding, no capability negotiation.
Descriptions are placeholder/toy language ('Toy CRM lookup', 'Toy ticket list', 'Toy legacy DB lookup'). They do not explain WHAT the tool does, WHEN to use it, or what it returns. Under 50 chars each; fail the 10 - 1024 char baseline.
Output schemas not documented. Tools return dicts but LLMs have no schema to understand response structure. No pagination, no field descriptions, no chaining IDs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Parameter descriptions missing. 'email', 'customer_id', 'key' have one-word descriptions. No format constraints, no examples of valid values, no guidance on what happens if not found.
legacy_db.lookup has a generic, ambiguous name. Does not follow verb_noun pattern. 'lookup' is vague, does it search, retrieve, or transform? Should be 'get_legacy_record' or 'search_legacy_db'.