Skip to main content
Glama

xmagnet

create_contact

Add a single contact directly to Xmagnet. Use when user says 'add', 'create', or 'save' a contact with specific details. Email is required. Supports: name, company, job_title, phone, linkedin_url, city, state, country, industry, lifecycle_stage (lead/prospect/customer/churned), notes. If a contact with the same email already exists, updates their info instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNo
emailYesContact's email address (required)
notesNo
phoneNo
stateNo
companyNo
countryNo
industryNo
full_nameNoFull name (used if first/last not provided)
job_titleNo
last_nameNo
first_nameNo
linkedin_urlNo
lifecycle_stageNolead, prospect, customer, or churned

TDQS

A4.4/5.0
Behavior4/5

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

Given annotations already indicate this is a mutation (readOnlyHint=false) and not destructive, the description adds valuable behavioral context: the upsert behavior ('If a contact with the same email already exists, updates their info instead'). This goes beyond the annotations and alerts users to the tool's non-obvious behavior.

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?

The description is three concise sentences. It front-loads the core action, then usage triggers, required parameter, supported fields, and the upsert edge case — no wasted words.

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 tool with 14 parameters, no output schema, and limited annotations, the description covers purpose, usage, required field, field list, enumerated values, and upsert behavior. It does not describe return values or error cases, but given the tool's straightforward nature, the description is sufficiently complete for an agent to invoke it correctly.

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 only 21% schema description coverage, the description compensates by listing supported fields (company, job_title, phone, linkedin_url, city, state, country, industry, lifecycle_stage, notes) and explicitly marks email as required. It also clarifies lifecycle_stage allowed values. Minor ambiguity: 'name' in the description maps to schema's first_name/last_name/full_name, but it is still understandable.

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 clearly states 'Add a single contact directly to Xmagnet' with a specific verb and resource, and 'single' differentiates it from sibling tool add_contacts. It also includes the contact fields involved, making the tool's purpose unambiguous.

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?

Explicitly says when to use: 'Use when user says add, create, or save a contact with specific details.' It also notes that an existing same-email contact is updated, providing helpful context. However, it does not explicitly exclude bulk-add scenarios or reference add_contacts as the alternative, though the sibling name makes it inferable.

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

B3.4/5.0
Disambiguation2/5

Several tools occupy nearly identical roles (create_contact/add_contacts/save_contacts_to_crm/upload_contacts; add_companies/create_company; search_contacts/search_crm_contacts/find_contacts_at_companies), and the names don't clearly reveal whether they operate on saved or prospected data. Although the descriptions clarify some boundaries, an agent would frequently need to read many descriptions carefully to avoid mis-selection.

Naming Consistency4/5

Most tools follow a snake_case verb_noun pattern such as list_campaigns, create_deal, and update_contact. Minor deviations like company_intelligence, get_icp, load_more_contacts, and the inconsistent use of add_/create_/upload_/save_ for similar creation actions keep it from being fully consistent.

Tool Count1/5

51 tools is far beyond the well-scoped range and exceeds the 50+ extreme threshold. Even for a broad CRM/prospecting/marketing platform, exposing this many tools at once makes agent selection costly and unwieldy.

Completeness2/5

Contact and company creation/read/update are covered, but delete is absent across the board, and campaigns can be drafted, listed, and measured but not edited, activated, paused, or deleted. Deals, forms, and landing pages also lack update/delete lifecycle actions, creating meaningful dead ends for common CRM workflows.

Resources