Skip to main content
Glama
marketsharp-mcp

marketsharp-mcp

by WYRE-AI

marketsharp_appointments_list_by_contact

Read-onlyIdempotent

Retrieve every appointment for a single MarketSharp contact using the contact ID to review scheduled and past appointments in one read-only list.

Instructions

List every appointment for one contact.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "contactId": "<contactId>"
    },
    "name": "marketsharp_appointments_list_by_contact"
  }
}

Input Schema

NameRequiredDescriptionDefault
contactIdYesMarketSharp contact ID.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.0.0

TDQS

B3.2/5.0
Behavior2/5

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

The annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the description only needs to add context beyond that — yet it says nothing about ordering, completeness, pagination, or what is returned when a contact has no appointments. The word "every" hints at unfiltered completeness, but nothing confirms or elaborates on it.

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?

A single front-loaded sentence with no filler and no redundancy. It is appropriately sized for a trivial tool, though it is so terse that it omits anything beyond the bare purpose.

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

Completeness3/5

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

For a one-parameter, read-only list tool with full schema coverage and rich annotations, the description covers the essential purpose. It is nevertheless silent on return shape and pagination behavior, and with no output schema present the agent has no documented expectation for results, leaving a noticeable gap.

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?

There is a single required parameter with 100% schema description coverage, so the schema already documents contactId as the MarketSharp contact ID. The phrase "one contact" merely restates the parameter's role without adding format or constraint detail, which matches the baseline-3 rule for high-coverage schemas.

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 pairs the verb "List" with the resource "appointment" and scopes it to "one contact," which is specific enough to separate it from the unfiltered appointments_list and the single-record appointments_get siblings. It is clear but does not explicitly name or contrast those siblings.

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?

"for one contact" implies the filter condition and thus when this tool is appropriate, but there is no explicit when-to-use/when-not guidance nor a named alternative such as marketsharp_appointments_list or marketsharp_appointments_get. Usage is only implied by the scoping phrase.

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