Skip to main content
Glama
cotletdev

Contractor Foreman MCP Server

by cotletdev

Create lead

create_lead

Adds a sales lead to the Contractor Foreman Directory with contact details and a pipeline stage, returning the new contact_id for follow-up.

Instructions

Adds a sales lead with contact details and a pipeline stage.

Creates a lead in the Contractor Foreman Directory as the Leads Add drawer does: a name or a company, contact details, address and the stage (received by default). Nobody is emailed. Returns the new contact_id, which list_leads and get_contact read.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
zipNo
cellNo
cityNo
emailNo
phoneNo
stageNoreceived
stateNo
address1No
address2No
last_nameNo
first_nameNo
company_nameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the bar is lower, yet the description still adds real value: 'Nobody is emailed' rules out a side effect the agent might otherwise assume, the default stage is called out, and the returned contact_id is named. It stops short of saying what validation happens if neither name nor company is supplied, despite the schema marking nothing as required.

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, front-loaded with the action and payload, then the behavioral caveats and return value. Nothing is repeated from the schema or annotations and no sentence is 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 twelve-parameter mutation with no output schema, the description is nearly sufficient: it explains what is created, that no one is notified, the default stage, and what is returned. The remaining gap is the 'a name or a company' constraint, which reads as a requirement but conflicts with a schema that marks nothing required, leaving the agent unsure what a minimal valid call looks like.

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?

With 0% schema description coverage, the description has to carry the load and largely does: it groups the twelve fields into name/company, contact details, address and stage, and restates the 'received' default from the enum. It doesn't map the groups to individual parameter names (e.g. which of first_name/last_name/cell/phone counts as 'contact details'), which keeps it below a 5.

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 ('Adds a sales lead') and enumerates the payload it accepts — contact details, address, pipeline stage. It also names the sibling readers that consume the result (list_leads, get_contact), so an agent can place it in the workflow without opening another schema.

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?

Usage is implied by 'Creates a lead in the Contractor Foreman Directory as the Leads Add drawer does', which frames the scenario, but there is no explicit when-to-use/when-not guidance. With siblings like create_contact, create_opportunity and create_service_ticket in the same space, an agent gets no routing rule for choosing this one over those.

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