Skip to main content
Glama
cotletdev

Contractor Foreman MCP Server

by cotletdev

Create service ticket

create_service_ticket

Opens a Contractor Foreman service ticket for a customer, with optional project and scheduled date/time, so you can log repair requests as scheduled or unscheduled jobs.

Instructions

Opens a service ticket for a customer, optionally scheduled for a date and time.

Creates a Contractor Foreman service ticket for a customer from the Directory: title, description, an optional project and the planned service date and time. The service address is the customer's (or the project's). With a date it is Scheduled, without one Unscheduled. Technicians are assigned in the app. The customer is not notified. Returns the saved ticket, with service_time on the 12-hour clock (02:00 PM).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYes
project_idNoLinks the ticket to a project. The service address is then the project's.
customer_idYesA customer's contact_id (list_contacts type customer).
descriptionNoWhat the customer reported.
service_dateNoPlanned visit, YYYY-MM-DD. The ticket is then Scheduled.
service_timeNoPlanned time on the 24-hour clock, like 13:30.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.1

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that technicians are assigned in the app rather than here, that the customer is not notified, that the service address is inherited from customer or project, and that the status is derived from presence of a date. It even flags that service_time is echoed back on a 12-hour clock while the input takes 24-hour, a non-obvious format switch an agent would otherwise get wrong.

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-loaded with the action, then the operational details, with no filler. The opening clause is somewhat restated by the following sentence, a minor redundancy in an otherwise dense and purposeful paragraph.

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

Completeness5/5

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

There is no output schema, and the description compensates by describing the return value ('returns the saved ticket, with service_time on the 12-hour clock'). Combined with the notification and assignment caveats, an agent has everything needed to call it and interpret the result.

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 83%, so the schema already carries most parameter meaning; the description adds value by explaining the customer/project address inheritance and the date-drives-status relationship. It doesn't restate constraints like maxLength or the time pattern, which is appropriate given the schema handles those.

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 ('Opens a service ticket for a customer') and scopes it to a Contractor Foreman service ticket built from a Directory customer. It is trivially distinguishable from get_service_ticket, list_service_tickets, and update_service_ticket_status.

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?

Gives clear context for when the tool applies: customer from the Directory, optional project, and an optional planned visit that flips the ticket between Scheduled and Unscheduled. It does not, however, mention alternatives or exclusions (e.g., when to use create_work_order instead), so it stops short of a full routing statement.

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