Skip to main content
Glama
montrellcruse

ServiceTitan MCP

marketing_calls_v2_list

Read-onlyIdempotent

Retrieve marketing call records by filtering on active status, agents, campaigns, duration, phone, or timestamps. Use this tool when v2-specific filtering and sorting semantics are required.

Instructions

Search calls through Marketing Calls v2 using its activeOnly flag, explicit orderBy and direction, numeric ID array, agents, campaign, duration, phone, or timestamps. Returns one page; prefer v3 unless these v2-specific filter or sorting semantics are required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idsNoSpecific call IDs
pageNoPage number (starts at 1)
agentIdNoAgent ID
orderByNoField used for ordering
pageSizeNoRecords per page (default 50)
agentNameNoAgent name
activeOnlyNoReturn only active calls
campaignIdNoCampaign ID
minDurationNoMinimum duration in seconds
createdAfterNoCreated after UTC timestamp
includeTotalNoInclude total count in response
createdBeforeNoCreated before UTC timestamp
modifiedAfterNoModified after UTC timestamp
modifiedBeforeNoModified before UTC timestamp
agentExternalIdNoAgent external ID
agentIsExternalNoWhether agent is external
createdOnOrAfterNoCreated on or after UTC timestamp
orderByDirectionNoSort direction
modifiedOnOrAfterNoModified on or after UTC timestamp
phoneNumberCalledNoPhone number called

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv3.0.0
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {},
      +  "type": "object"
      +}
  2. First observedv2.5.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral context: 'Returns one page' discloses that no automatic multi-page fetching occurs, and the version-scoping statement frames the tool's relationship to v3. No contradictions with annotations.

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?

Two sentences, roughly 40 words, with the action and resource front-loaded, the filter space compressed into a compact list, and pagination plus version routing closed out in the final clause. Every sentence earns its place with zero filler.

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?

For a 20-optional-parameter list tool with an output schema and rich safety annotations, the description covers purpose, filter scope, one-page pagination, and version selection. The main gap is that 'v2-specific semantics' is never concretely defined, and it does not differentiate from marketing_calls_get — though the 'list' naming and filter emphasis make that distinction recoverable.

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 100%, so the baseline is 3. The description groups parameters into semantic families (activeOnly, orderBy/direction, IDs, agents, campaign, duration, phone, timestamps), which helps orientation, but it adds no format, constraint, or interaction details beyond what the schema already documents.

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 the specific verb/resource pair ('Search calls through Marketing Calls v2') and enumerates the filter dimensions: activeOnly flag, explicit orderBy and direction, numeric ID array, agents, campaign, duration, phone, timestamps. It explicitly names the sibling marketing_calls_v3_list, making the scope boundary clear without opening any schemas.

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?

Provides an explicit routing rule: 'prefer v3 unless these v2-specific filter or sorting semantics are required,' which is direct guidance about when to choose this tool over its main sibling. 'Returns one page' also signals pagination expectations. However, the phrase 'v2-specific filter or sorting semantics' is somewhat circular — the agent must infer which of the listed filters are actually unique to v2.

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

Deploy Server

Other Tools