A regional hospital's pathology department wants a nightly job that pulls the previous day's abnormal results from its laboratory system's documented REST API, has Claude group them by ward with a short clinical note per patient, and writes the summary to the ward managers' shared drive. The steps do not vary, no other application or Claude client will use the integration, and the department has one developer who must also support it. In a two-month prototype the model was given a generic web fetch tool and the API base address, and in 4 of 60 runs it requested the wrong date range. What should the architect recommend?
- ABuild an MCP server over the laboratory API with a results tool, so the job and any later clinical assistants can share one maintained integration.
- BKeep the fetch tool, add the exact date range rule to the system prompt, and log each request so wrong ranges are caught at the weekly review.
- CHave the job's own code call the laboratory API for the fixed date range and pass the results to the model in its request, removing the fetch tool. Correct
- DMove retrieval into a separate results agent with its own prompt, and have the summary agent request the data from it through agent-to-agent calls.
Why A is wrong: MCP is the right choice when several clients need the same system, which makes it tempting as future-proofing. The stem states no other client will use it and one developer must support it, so a server adds a component to deploy and maintain, and the model would still choose the date range.
Why B is wrong: A prompt rule and logging are cheap and would likely reduce the error. They are compensating controls: the model still chooses the parameters, so wrong ranges remain possible, and catching them a week later does not stop a wrong summary reaching ward managers.
Why C is correct: The retrieval is a single fixed call with known parameters, so deterministic code should make it. That removes the wrong-date-range failure at its source, needs no new service for one developer to run, and leaves the model only the summarising work it is suited to.
Why D is wrong: Splitting roles can look like good separation of concerns. It adds a second model, and therefore a second chance to pick the wrong parameters, to a step that is a fixed API call, and it doubles what a single developer has to operate.