SparrowDesk

Tool Reference

Parameters and behavior for SparrowDesk MCP tools

Tools mirror the SparrowDesk Developer API. Knowledge Base collections and related endpoints require VIEW_COLLECTIONS and MANAGE_COLLECTIONS, which are included in the MCP default OAuth scope list. Other Knowledge Base behavior may still depend on additional scopes or account features.

get_me

Retrieve current SparrowDesk account information, not a user profile.

No parameters.


get_conversation

Fetch a single conversation by its numeric ID.

ParameterTypeRequiredDescription
idintegerYesThe conversation ID

list_conversations

List conversations with optional filters, sorting, and pagination.

ParameterTypeRequiredDescription
starting_afterstringNoPagination cursor
per_pageintegerNoItems per page, 1–100 (default: 25)
statusarrayNoFilter by status: Open, Pending, Resolved, Closed
priorityarrayNoFilter by priority: Low, Medium, High, Urgent
assigned_to_member_idarray of integersNoFilter by assigned agent IDs
assigned_to_team_idarray of integersNoFilter by assigned team IDs
brand_idarray of integersNoFilter by brand IDs
requested_by_idintegerNoFilter by requestor contact ID
requested_by_companyintegerNoFilter by requester contact company ID. Intersects with requested_by_id when both are set
sort_bystringNocreated_at or updated_at (default: created_at)
sort_orderstringNoasc or desc (default: desc)

create_conversation

Create a new conversation/ticket in SparrowDesk.

ParameterTypeRequiredDescription
subjectstringYesConversation subject
descriptionstringYesConversation description
requested_bystringYesEmail or phone number of the requester
prioritystringNoLow, Medium, High, or Urgent (default: Medium)
sourcestringNoMail or Call (default: Call)
statusstringNoOpen, Pending, Resolved, or Closed (default: Open)
brand_idintegerNoBrand ID (uses account default if omitted)
assigneestringNoAgent email address to assign the conversation to
team_idintegerNoTeam ID to assign the conversation to
custom_fieldsarrayNoArray of { internal_name, value } objects

update_conversation

Patch an existing conversation.

ParameterTypeRequiredDescription
idintegerYesConversation ID
subjectstringNoConversation subject
prioritystringNoLow, Medium, High, or Urgent
statusstringNoOpen, Pending, Resolved, or Closed
assigneestringNoAgent email address to assign the conversation to
teamstringNoTeam name
custom_fieldsarrayNoArray of { internal_name, value } objects. Values should be strings

delete_conversation

Delete a conversation by ID.

ParameterTypeRequiredDescription
idintegerYesConversation ID

list_conversation_replies

List replies for a conversation, with optional filtering and pagination.

ParameterTypeRequiredDescription
idintegerYesThe conversation ID
starting_afterstringNoPagination cursor
per_pageintegerNoItems per page, 1–100 (default: 25)
typestringNoFilter by INTERNAL_NOTE or REPLY
sort_orderstringNoasc or desc (default: desc)

add_conversation_reply

Add a reply or internal note to a conversation.

ParameterTypeRequiredDescription
idintegerYesThe conversation ID
reply_textstringYesThe content of the reply
typestringYesREPLY (visible to customer) or INTERNAL_NOTE (agents only)

list_conversation_fields

List ticket custom field definitions.

ParameterTypeRequiredDescription
starting_afterstringNoPagination cursor
per_pageintegerNoItems per page
is_activebooleanNoFilter by active status
is_defaultbooleanNoFilter by default field status

get_conversation_field

Fetch a single conversation field by ID.

ParameterTypeRequiredDescription
idintegerYesConversation field ID

create_conversation_field

Create a custom conversation field.

ParameterTypeRequiredDescription
namestringYesField name
typestringYessingle_line_text, multi_line_text, dropdown, number, date, or email
internal_namestringNoInternal field name
descriptionstringNoField description
is_mandatory_on_closebooleanNoWhether the field is required before closing a conversation
field_optionsarrayNoField options. Required for dropdown fields

update_conversation_field

Update a conversation field.

ParameterTypeRequiredDescription
idintegerYesConversation field ID
namestringNoField name
descriptionstringNoField description
is_activebooleanNoWhether the field is active
is_mandatory_on_closebooleanNoWhether the field is required before closing a conversation
field_optionsarrayNoField options

list_contacts

List contacts with filters.

ParameterTypeRequiredDescription
searchstringNoSearch contacts
requested_by_emailstringNoFilter by email
requested_by_phonestringNoFilter by phone
starting_afterstringNoPagination cursor
per_pageintegerNoItems per page

create_contact

Create a new contact. Either email or phone must be provided.

ParameterTypeRequiredDescription
first_namestringYesContact's first name
last_namestringNoContact's last name
emailstringNoEmail address (required if phone not provided)
phonestringNoPhone number (required if email not provided)
company_idintegerNoID of the company to associate with
custom_fieldsobjectNoCustom field key-value pairs

update_contact

Update an existing contact.

ParameterTypeRequiredDescription
idintegerYesThe contact ID to update
first_namestringNoContact's first name
last_namestringNoContact's last name
emailstringNoEmail address
phonestringNoPhone number
company_idintegerNoID of the company to associate with
blockedbooleanNoWhether the contact is blocked
custom_fieldsobjectNoCustom field key-value pairs

get_contact

Fetch a single contact by its numeric ID.

ParameterTypeRequiredDescription
idintegerYesThe contact ID

delete_contact

Delete a contact by ID.

ParameterTypeRequiredDescription
idintegerYesContact ID

bulk_create_contacts

Bulk create contacts. The response includes a job_id that can be polled with get_bulk_job_status.

ParameterTypeRequiredDescription
contactsarrayYesContacts to create. Each object may include first_name, last_name, email, phone, company_id, and custom_fields

get_bulk_job_status

Poll a bulk contact job until it is completed or failed.

ParameterTypeRequiredDescription
job_idstringYesBulk contact job ID

list_companies

List companies.

ParameterTypeRequiredDescription
starting_afterstringNoPagination cursor
per_pageintegerNoItems per page
domainstringNoExact domain filter
namestringNoExact name filter

list_contact_fields

Retrieve all contact fields defined in the account.

ParameterTypeRequiredDescription
searchstringNoSearch contact fields by name
pageintegerNoPage number for pagination
limitintegerNoResults per page

list_members

Retrieve a paginated list of all team members in the account.

ParameterTypeRequiredDescription
starting_afterstringNoPagination cursor
per_pageintegerNoItems per page, 1–100 (default: 25)

list_tags

List tags.

ParameterTypeRequiredDescription
starting_afterstringNoPagination cursor
per_pageintegerNoItems per page
searchstringNoSearch tags

Knowledge Base tools

Use list_helpcenters first to obtain a helpCenterId. Collections and articles are scoped per help center and brand.

list_helpcenters

List help centers.

No parameters.


list_collections

List Knowledge Base collections for a help center.

ParameterTypeRequiredDescription
helpCenterIdintegerYesHelp center ID
pageintegerNoPage number
limitintegerNoResults per page
collectionIdintegerNoFilter by collection ID
isRootbooleanNoFilter root collections

get_collection

Get a collection with subcollections and articles.

ParameterTypeRequiredDescription
idintegerYesCollection ID
pageintegerNoPage number for articles
limitintegerNoResults per page for articles

create_collection

Create a Knowledge Base collection.

ParameterTypeRequiredDescription
namestringYesCollection name
helpCenterIdintegerYesHelp center ID
brandIdintegerYesBrand ID
descriptionstringNoCollection description
parentCollectionIdintegerNoParent collection ID

list_articles

List articles for a help center.

ParameterTypeRequiredDescription
helpCenterIdintegerYesHelp center ID
publishedbooleanNoFilter published articles
draftbooleanNoFilter draft articles
archivedbooleanNoFilter archived articles
pageintegerNoPage number
limitintegerNoResults per page
searchstringNoSearch articles
collectionIdintegerNoFilter by collection ID

get_article

Get one article.

ParameterTypeRequiredDescription
idintegerYesArticle ID

create_article

Create an article as a draft or publish it.

ParameterTypeRequiredDescription
helpCenterIdintegerYesHelp center ID
brandIdintegerYesBrand ID
titlestringNoArticle title
contentstringNoArticle content as HTML
publishbooleanNoWhether to publish the article
collectionIdintegerNoCollection ID
isPublicbooleanNoWhether the article is public. Publish flow follows the API docs

update_article

Update an article draft or publish it.

ParameterTypeRequiredDescription
idintegerYesArticle ID
titlestringNoArticle title
contentstringNoArticle content as HTML
collectionIdinteger or nullNoCollection ID. Use null to remove from a collection
brandIdintegerNoBrand ID
publishbooleanNoWhether to publish the article
isPublicbooleanNoWhether the article is public
aiAgentEnabledbooleanNoWhether the article is enabled for AI Agent
aiCopilotEnabledbooleanNoWhether the article is enabled for AI Copilot

archive_article

Archive an article.

ParameterTypeRequiredDescription
idintegerYesArticle ID