Skip to main content
Glama

Get a client (patient)

nookal_get_client
Read-onlyIdempotent

Get one client (patient) by id: name, date of birth, contact details, addresses, alerts, allergies, notes, occupation, referring doctor and their treatment cases; optionally a summary of their invoices (totals and balances). Health-fund, pension and online-booking codes are not returned. Nookal GraphQL: clients.

Input Schema

NameRequiredDescriptionDefault
client_idYesNookal client id (from search_clients).
include_invoicesNotrue = also list the client's invoices (number, date, total, paid, balance).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent and non-destructive, so safety is covered; the description adds genuinely new behavioral context that annotations cannot express — an explicit negative contract ('Health-fund, pension and online-booking codes are not returned') and the conditional side-effect of include_invoices. It stops short of noting pagination/volume limits, but the field-level disclosure is substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the operation and identifier, then the payload, then the negative contract — a sensible ordering in two sentences with no filler. Slightly dense in the field enumeration, but each item earns its place given there is no output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly carries the burden of describing return contents, including what is deliberately omitted. Missing only secondary details like error behavior on a bad id or payload size, which is acceptable for a simple two-parameter read.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema baseline is 3, but the description adds meaning on top: include_invoices is characterized as an optional 'summary of their invoices (totals and balances)' versus the base payload being a single client. That clarifies the trade-off of enabling the flag beyond the schema's field list.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get one client (patient) by id') and enumerates the returned data surface (name, DOB, contacts, addresses, alerts, allergies, notes, occupation, referring doctor, treatment cases). The phrase 'one client ... by id' cleanly separates it from the sibling nookal_search_clients.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The singular lookup 'by id' implies the post-search retrieval pattern, and the id provenance is only stated in the schema ('from search_clients'), not in the description. There is no explicit 'use this instead of X when Y' routing statement or exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.