Skip to main content
Glama

Contractor Foreman by Cotlet

Create sub-contract

create_sub_contract
Destructive

Creates a draft sub-contract with a subcontractor on a project.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoYYYY-MM-DD. Default: today.
subjectYes
project_idYesThe project the work is for.
contractor_idYesThe subcontractor's contact_id (type contractor).
agreement_numberYesYour agreement number, e.g. the project number and a sequence (BP-2001-07).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already disclose readOnlyHint=false, destructiveHint=true, idempotentHint=false, and openWorldHint=true, carrying most of the safety profile. The description adds genuinely useful context with 'draft', signaling the record is not finalized and implying a follow-up finalization step. It does not state permission requirements, reversibility, side effects, or the response shape, which is a moderate gap for a destructive mutation.

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 sentence with no wasted words, front-loading the core action and resource. It is compact and readable. It earns its place but offers no structural aids like a when-to-use clause.

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?

With rich annotations and high schema coverage, the definition is adequate: an agent knows it creates a draft mutation and what parameters to supply. However, no output schema exists, and the description does not explain what a 'draft' means operationally or what the caller gets back, leaving a gap for a create tool.

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 80%, so project_id, contractor_id, agreement_number, and date are already documented in the schema. The description does not elaborate on any parameter, such as the format of agreement_number or the draft's default status, so the schema does the heavy lifting. Baseline 3 applies.

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 a specific verb (creates) with a specific resource (draft sub-contract) and adds scope (with a subcontractor on a project). The 'draft' qualifier is a meaningful distinction. It does not explicitly contrast itself with get_sub_contract, list_sub_contracts, or update tools, so sibling differentiation is implicit rather than stated.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no prerequisites (e.g. does the contractor need to exist as a contact first?), and no mention of alternatives like get_sub_contract or list_sub_contracts. The usage is only inferable from the name and verb.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.