Skip to main content
Glama

Create contact

keap_create_contact
Destructive

CREATE a new contact in the Keap CRM. Provide any of given_name, family_name, email_addresses, phone_numbers, company_id, plus an optional extra object of any other Keap fields. Keap: POST /contacts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
extraNoAny other Keap fields to merge into the request body verbatim.
company_idNoId of the company to associate the contact with.
given_nameNoThe contact's first name.
family_nameNoThe contact's last name.
phone_numbersNoPhone numbers to set on the contact.
email_addressesNoEmail addresses to set on the contact.

TDQS

A3.5/5.0
Behavior1/5

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

The description says the tool CREATES a new contact, but the annotations set destructiveHint=true. Creating a record is not destructive, so the description directly contradicts the annotation and leaves the agent uncertain whether this call can destroy data.

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 focused sentences. The action and resource are front-loaded, the optional field guidance follows, and the endpoint reference supplies useful context without padding.

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?

Nested objects and all parameters are documented in the schema, and the endpoint is given, but there is no output schema and return behavior is not described. More importantly, the contradictory destructiveHint leaves the operational impact unclear, so the description is not fully complete.

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 coverage is 100%, so the baseline is 3. The description lists the same field names and merely adds 'any of' and 'optional extra,' which mostly recapitulates the schema rather than providing deeper semantics.

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?

Starts with 'CREATE a new contact in the Keap CRM' and ends with the endpoint 'POST /contacts'. This names the verb, resource, and system, and clearly differentiates from siblings like keap_update_contact and keap_get_contact.

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?

The phrase 'CREATE a new contact' and 'Provide any of ...' give clear context that the tool is for creating contacts and that no full set of fields is required. It does not explicitly exclude update/create alternatives, so it stops short of a 5.

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.

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a clearly distinct resource and action: list_* tools are separated by entity, get_* tools retrieve individual records, and create_/update_/apply_ tools perform unique mutations. There is no meaningful overlap or ambiguity between tools.

Naming Consistency5/5

All tools consistently use the keap_ prefix followed by a verb_noun pattern, such as list_contacts, get_company, create_task, and update_contact. The naming convention is uniform across all 18 tools.

Tool Count3/5

At 18 tools, the count falls into the borderline 16-25 range and feels somewhat heavy for a single server. Each tool does have a distinct purpose, but the set is larger than ideal and includes many read-only list/get operations.

Completeness3/5

Contacts and tasks have reasonable lifecycle coverage, but most other entities such as opportunities, companies, orders, products, and subscriptions are read-only. Notable operations like removing a tag, updating/deleting tasks, and updating opportunities are missing, creating potential dead ends.