Skip to main content
Glama
lorkorblaq

io.github.lorkorblaq/labloop-mcp

by lorkorblaq

Save user details

labloop_update_user_profile
Idempotent

Update a user's saved contact details so future lab bookings can reuse them. Only supplied fields are changed, and the updated profile is returned.

Instructions

Save new or corrected contact details so future bookings can reuse them.

Only the fields provided are changed. Returns {status, updated_fields, profile}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
emailNo
phoneNo
addressNo
user_idYesIdentifier for the demo user, e.g. 'demo-user-1'. Any stable string works; reuse the same value across calls so saved details are remembered.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate idempotentHint=true and destructiveHint=false, and the description adds useful behavioral context: it performs a partial update ('Only the fields provided are changed') and returns a specific response shape ({status, updated_fields, profile}). This goes beyond the annotations and helps the agent understand side effects and return value.

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

Conciseness5/5

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

The description is three sentences, front-loads the main purpose, and includes the most important behavioral detail (partial update) and return shape. No wasted words.

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?

Given the output schema exists and annotations cover idempotency/safety, the description is fairly complete. It could mention that this is a write operation (though 'Save' implies it) or explicitly contrast with labloop_get_user_profile, but for a simple partial-update tool, the essential context is present.

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

Parameters3/5

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

Schema description coverage is only 20%, but the description adds the key semantic that only provided fields are changed, which is critical for understanding the nullable/default parameters. However, it doesn't elaborate on each parameter beyond what the schema already provides; the schema itself has decent per-field descriptions for name, email, phone, address, and user_id. The description compensates partially but not fully for the low coverage.

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

Purpose4/5

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

The description states a clear verb ('Save') and resource ('user details' / 'contact details'), and explains the purpose: reuse for future bookings. It is distinguishable from siblings like labloop_get_user_profile, though it doesn't explicitly name that sibling.

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

Usage Guidelines4/5

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

The description says 'Only the fields provided are changed,' which gives clear partial-update semantics and implies when to use it (when you have corrected/new contact details). It doesn't explicitly contrast with labloop_get_user_profile or other siblings, but the context is clear enough for an agent to select it for updating profile fields.

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