Skip to main content
The ShingleAI MCP server provides 21 tools for managing contacts and their associated data. These tools are organized into four categories: contact management, emails, addresses, and phone numbers.

Contact Management

Core tools for creating, reading, updating, and deleting contacts.

createContact

Create a new contact with name, email, phone, and company information. Permission: contacts:write Parameters:
NameTypeRequiredDescription
firstNamestringNoThe contact’s first name
lastNamestringNoThe contact’s last name
namestringNoFull display name
companystringNoCompany or organization affiliation
jobTitlestringNoJob title or role
titlestringNoHonorific or prefix (e.g., Mr, Dr)
picturestringNoURL to the contact’s profile picture
notesstringNoInternal notes and comments
emailsstring[]NoArray of email addresses
phoneNumbersstring[]NoArray of phone numbers
addressesobject[]NoArray of address objects
Address object:
NameTypeRequiredDescription
countrystringYesCountry
citystringYesCity
labelstringNoLabel for the address
address1stringNoAddress line 1
address2stringNoAddress line 2
statestringNoState
postalCodestringNoPostal code
Returns: The created contact object with all associated data.

getContact

Get details of a specific contact by ID. Permission: contacts:read Parameters:
NameTypeRequiredDescription
contactIdstring (UUID)YesThe ID of the contact to retrieve
Returns: Contact object with all associated addresses, emails, and phone numbers.

listContacts

List contacts in the organization with pagination. Permission: contacts:read Parameters:
NameTypeRequiredDefaultDescription
limitnumberNo50Number of contacts to return (1-100)
offsetnumberNo0Number of contacts to skip for pagination
Returns:
{
  "contacts": [...],
  "count": 150,
  "limit": 50,
  "offset": 0
}

searchContacts

Search for contacts by name, email, or company. Permission: contacts:read Parameters:
NameTypeRequiredDefaultDescription
querystringYes-Search query for contacts
limitnumberNo10Number of results to return (1-100)
offsetnumberNo0Number of results to skip for pagination
Returns: Array of contact objects matching the search query.

updateContact

Update an existing contact. Permission: contacts:write Parameters:
NameTypeRequiredDescription
contactIdstring (UUID)YesThe ID of the contact to update
firstNamestringNoUpdate the contact’s first name
lastNamestringNoUpdate the contact’s last name
namestringNoUpdate the full display name
companystringNoUpdate the company
jobTitlestringNoUpdate the job title
titlestringNoUpdate the honorific
picturestringNoUpdate the profile picture URL
notesstringNoUpdate internal notes
Returns: The updated contact object.

deleteContact

Delete a contact (soft delete). Permission: contacts:delete Parameters:
NameTypeRequiredDescription
contactIdstring (UUID)YesThe ID of the contact to delete
Returns: The deleted contact object.

Contact Emails

Tools for managing email addresses associated with contacts.

createContactEmail

Create a new email address for a contact. Permission: contacts.emails:write Parameters:
NameTypeRequiredDescription
contactIdstring (UUID)YesThe ID of the contact
emailstringYesThe email address
labelstringNoLabel (e.g., “work”, “personal”)
Returns: The created contact email object.

getContactEmail

Get details of a specific contact email. Permission: contacts.emails:read Parameters:
NameTypeRequiredDescription
emailIdstring (UUID)YesThe ID of the email to retrieve
Returns: Contact email object with all details.

listContactEmails

List all email addresses for a specific contact. Permission: contacts.emails:read Parameters:
NameTypeRequiredDescription
contactIdstring (UUID)YesThe ID of the contact
Returns:
{
  "emails": [...],
  "count": 3
}

updateContactEmail

Update an existing contact email address. Permission: contacts.emails:write Parameters:
NameTypeRequiredDescription
emailIdstring (UUID)YesThe ID of the email to update
emailstringNoUpdate the email address
labelstringNoUpdate the label
Returns: The updated contact email object.

deleteContactEmail

Delete a contact email address. Permission: contacts.emails:delete Parameters:
NameTypeRequiredDescription
emailIdstring (UUID)YesThe ID of the email to delete
Returns: The deleted contact email object.

Contact Addresses

Tools for managing physical addresses associated with contacts.

createContactAddress

Create a new address for a contact. Permission: contacts.addresses:write Parameters:
NameTypeRequiredDescription
contactIdstring (UUID)YesThe ID of the contact
countrystringYesCountry
citystringYesCity
labelstringYesLabel for the address
address1stringNoAddress line 1
address2stringNoAddress line 2
statestringNoState
postalCodestringNoPostal code
Returns: The created contact address object.

getContactAddress

Get details of a specific contact address. Permission: contacts.addresses:read Parameters:
NameTypeRequiredDescription
addressIdstring (UUID)YesThe ID of the address to retrieve
Returns: Contact address object with all details.

listContactAddresses

List all addresses for a specific contact. Permission: contacts.addresses:read Parameters:
NameTypeRequiredDefaultDescription
contactIdstring (UUID)Yes-The ID of the contact
limitnumberNo10Maximum number of results
offsetnumberNo0Offset for pagination
sortOrderstringNo”asc”Sort order (“asc” or “desc”)
Returns: Array of contact address objects.

updateContactAddress

Update an existing contact address. Permission: contacts.addresses:write Parameters:
NameTypeRequiredDescription
addressIdstring (UUID)YesThe ID of the address to update
countrystringNoUpdate the country
citystringNoUpdate the city
labelstringNoUpdate the label
address1stringNoUpdate address line 1
address2stringNoUpdate address line 2
statestringNoUpdate the state
postalCodestringNoUpdate the postal code
Returns: The updated contact address object.

deleteContactAddress

Delete a contact address. Permission: contacts.addresses:delete Parameters:
NameTypeRequiredDescription
addressIdstring (UUID)YesThe ID of the address to delete
Returns: The deleted contact address object.

Contact Phone Numbers

Tools for managing phone numbers associated with contacts.

createContactPhoneNumber

Create a new phone number for a contact. Permission: contacts.phoneNumbers:write Parameters:
NameTypeRequiredDescription
contactIdstring (UUID)YesThe ID of the contact
phoneNumberstringYesThe phone number
countryCodestringYesCountry code
nationalNumberstringYesNational number
labelstringYesLabel (e.g., “mobile”, “work”)
Returns: The created contact phone number object.

getContactPhoneNumber

Get details of a specific contact phone number. Permission: contacts.phoneNumbers:read Parameters:
NameTypeRequiredDescription
phoneNumberIdstring (UUID)YesThe ID of the phone number to retrieve
Returns: Contact phone number object with all details.

listContactPhoneNumbers

List all phone numbers for a specific contact. Permission: contacts.phoneNumbers:read Parameters:
NameTypeRequiredDefaultDescription
contactIdstring (UUID)Yes-The ID of the contact
limitnumberNo10Maximum number of results
offsetnumberNo0Offset for pagination
sortOrderstringNo”asc”Sort order (“asc” or “desc”)
Returns: Array of contact phone number objects.

updateContactPhoneNumber

Update an existing contact phone number. Permission: contacts.phoneNumbers:write Parameters:
NameTypeRequiredDescription
phoneNumberIdstring (UUID)YesThe ID of the phone number to update
phoneNumberstringNoUpdate the phone number
countryCodestringNoUpdate the country code
nationalNumberstringNoUpdate the national number
labelstringNoUpdate the label
Returns: The updated contact phone number object.

deleteContactPhoneNumber

Delete a contact phone number. Permission: contacts.phoneNumbers:delete Parameters:
NameTypeRequiredDescription
phoneNumberIdstring (UUID)YesThe ID of the phone number to delete
Returns: The deleted contact phone number object.

Next Steps