Skip to main content
Glama

Teamleader Focus MCP by usefulapi

Create a deal

teamleader_create_deal
Destructive

WRITE: create a new deal for an existing contact or company. Requires the customer and a title; optionally a phase (see teamleader_list_deal_phases), value, probability and expected closing date. Returns the new deal's id. Teamleader: deals.create.

Input Schema

NameRequiredDescriptionDefault
titleYes
summaryNoThe deal's remarks field.
phase_idNoStarting phase; defaults to the default pipeline's first phase.
source_idNoThe deal source id (a UUID).
customer_idYesThe customer's contact or company id.
customer_typeYesWhether the customer is a contact or a company.
department_idNoDepartment (company entity) id.
contact_person_idNoFor a company customer: the contact person.
responsible_user_idNoThe user id (a UUID).
estimated_probabilityNoWin probability, 0 to 1.
estimated_closing_dateNoExpected closing date (YYYY-MM-DD).
estimated_value_amountNoExpected value; needs estimated_value_currency.
estimated_value_currencyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare write, destructive, non-idempotent, open-world behavior, so the barrier is lower; the description adds a genuine precondition ("for an existing contact or company") and the return value ("the new deal's id"), which matters given there is no output schema. It omits caveats like duplicate creation on retry, but that is already signalled by idempotentHint=false.

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?

Three short sentences, front-loaded with the WRITE marker and the operation, then requirements, then return value. No filler and nothing buried.

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 13-parameter mutation with no output schema, it covers the essentials: the write nature, the required fields, the phase cross-reference, and the returned id. It could have covered the company/contact-person relationship and the amount+currency coupling, which are the remaining non-obvious details.

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 85%, so the schema does most of the work; the description mainly restates which fields are required versus optional (customer, title vs. phase, value, probability, closing date). It adds little beyond that and omits notable parameters such as department_id, contact_person_id, source_id, summary, and the value/currency pairing rule the schema itself mentions.

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?

The description opens with an explicit verb+resource ("create a new deal") and immediately narrows scope to "an existing contact or company", which an agent can distinguish from teamleader_list_deals or teamleader_get_deal without consulting either schema. The trailing API mapping ("deals.create") removes any ambiguity about the underlying operation.

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?

It states the required inputs and explicitly routes the agent to teamleader_list_deal_phases for the optional phase, which is a concrete alternative reference. It does not say what to do when the contact/company doesn't yet exist (create it first), so it stops short of full when/when-not guidance.

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.