MCP Tools Reference
All 22 tools available through the SmallForce MCP server. Each tool is callable by any connected AI agent.
Organization
get_organization_details
Get details about your SmallForce organization including name, timezone, credits, and plan status.
Parameters: None
Call Analytics
list_calls
List calls for your organization with optional filtering by date range and assistant. Returns paginated results with cursor-based pagination.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | No | Number of calls to return (1–100, default 20) |
cursor | string | No | Pagination cursor from a previous response |
startDate | string | No | Filter calls from this date (ISO 8601) |
endDate | string | No | Filter calls until this date (ISO 8601) |
assistantId | string | No | Filter by a specific assistant ID |
get_call_details
Get the full details for a specific call including transcript, summary, sentiment analysis, extracted data, and analysis.
| Parameter | Type | Required | Description |
|---|---|---|---|
callId | string | Yes | The UUID of the call to retrieve |
Agentic Social Media
list_social_accounts
List connected social accounts. Returns account IDs, platforms, and the platformSpecificData schema each platform supports. Call this first to discover accounts and available platform-specific fields before creating posts.
Parameters: None
create_social_post
Create a social media post. Publish immediately, schedule for later, or save as draft. Use accountIds (simple) or platforms (advanced, with platformSpecificData) — not both.
| Parameter | Type | Required | Description |
|---|---|---|---|
content | string | Yes | Post text content. Use empty string for media-only posts |
accountIds | string[] | One of | Simple mode: account IDs to post to |
platforms | object[] | One of | Advanced mode: per-platform config with platformSpecificData |
publishMode | enum | Yes | now, schedule, or draft |
scheduledFor | string | When scheduled | ISO 8601 datetime |
timezone | string | No | IANA timezone (e.g. America/New_York) |
mediaUrls | string[] | No | Media URLs to attach |
update_social_post
Update a draft post. Only drafts can be updated. To publish: set publishMode to now. To schedule: set publishMode to schedule with scheduledFor.
| Parameter | Type | Required | Description |
|---|---|---|---|
postId | string | Yes | The UUID of the draft post |
content | string | No | New text content |
accountIds | string[] | No | Simple mode: account IDs (replaces existing) |
platforms | object[] | No | Advanced mode: per-platform config (replaces existing) |
publishMode | enum | No | now, schedule, or draft |
scheduledFor | string | When scheduled | ISO 8601 datetime |
timezone | string | No | IANA timezone |
mediaUrls | string[] | No | New media URLs (replaces existing) |
upload_media
Upload a media file from a URL for use in social posts. Returns a presigned URL valid for 30 minutes.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes | A publicly accessible URL to the media file |
Supported formats: JPEG, PNG, WebP, GIF, MP4, MOV, AVI, WebM, PDF. Maximum size: 150 MB.
upload_media_file
Upload a user-provided media file for use in social posts. Use this when a user has uploaded or attached a file directly.
| Parameter | Type | Required | Description |
|---|---|---|---|
file | object | Yes | The uploaded file object with download_url and file_id |
filename | string | No | Optional filename with extension |
list_social_posts
List social media posts with optional filtering by status, publish mode, and date range. Returns posts with analytics data.
| Parameter | Type | Required | Description |
|---|---|---|---|
status | enum | No | draft, scheduled, publishing, published, failed, partial |
publishMode | enum | No | now, schedule, draft |
fromDate | string | No | Filter posts from this date (ISO 8601) |
toDate | string | No | Filter posts until this date (ISO 8601) |
limit | number | No | Number of posts to return (1–100, default 20) |
offset | number | No | Offset for pagination (default 0) |
get_social_post_details
Get full details for a specific social post including presigned media URLs, published platform data, and analytics.
| Parameter | Type | Required | Description |
|---|---|---|---|
postId | string | Yes | The UUID of the post to retrieve |
Inbox & Messaging
list_inbox_conversations
List inbox conversations (DMs) from Instagram, Facebook, and Twitter. Supports filtering by platform, status, and unread state.
| Parameter | Type | Required | Description |
|---|---|---|---|
platform | enum | No | instagram, facebook, or twitter |
status | enum | No | active or archived |
unreadOnly | boolean | No | If true, only return conversations with unread messages |
cursor | string | No | Pagination cursor |
limit | number | No | Number of conversations to return (1–100, default 30) |
list_conversation_messages
List messages for a specific inbox conversation. Automatically marks the conversation as read.
| Parameter | Type | Required | Description |
|---|---|---|---|
conversationId | string | Yes | The UUID of the conversation |
cursor | string | No | Pagination cursor |
limit | number | No | Number of messages to return (1–100, default 50) |
send_inbox_message
Send a text message to an inbox conversation.
| Parameter | Type | Required | Description |
|---|---|---|---|
conversationId | string | Yes | The UUID of the conversation |
message | string | Yes | The message text (max 10,000 characters) |
Google Reviews
list_google_reviews
List Google Business reviews with filtering by rating range, response status, text search, and date range. Each review includes an aiSuggestedReply field.
| Parameter | Type | Required | Description |
|---|---|---|---|
needsResponse | boolean | No | If true, only return reviews that need a response |
minRating | number | No | Minimum star rating (1–5) |
maxRating | number | No | Maximum star rating (1–5) |
search | string | No | Search within review comments |
fromDate | string | No | Filter reviews from this date (ISO 8601) |
toDate | string | No | Filter reviews until this date (ISO 8601) |
cursor | string | No | Pagination cursor |
limit | number | No | Number of reviews to return (1–100, default 30) |
reply_to_google_review
Reply to a Google Business review. The reply is sent directly to Google.
| Parameter | Type | Required | Description |
|---|---|---|---|
reviewId | string | Yes | The UUID of the review |
message | string | Yes | The reply message (max 4,096 characters) |
Contacts & CRM
list_contacts
List CRM contacts with search, filtering, sorting, and pagination.
| Parameter | Type | Required | Description |
|---|---|---|---|
search | string | No | Search by name, email, or phone |
pipelineStageId | string | No | Filter by pipeline stage ID |
source | string | No | Filter by contact source |
tag | string | No | Filter by tag |
createdAfter | string | No | Filter contacts created after this date (ISO 8601) |
createdBefore | string | No | Filter contacts created before this date (ISO 8601) |
sortBy | enum | No | created_at, updated_at, or first_name |
sortOrder | enum | No | asc or desc |
cursor | string | No | Pagination cursor |
limit | number | No | Number of contacts to return (1–100, default 30) |
get_contact_details
Get full details for a specific contact including resolved pipeline stage and custom field values.
| Parameter | Type | Required | Description |
|---|---|---|---|
contactId | string | Yes | The UUID of the contact |
create_contact
Create a new CRM contact. Supports label-based custom fields.
| Parameter | Type | Required | Description |
|---|---|---|---|
firstName | string | Yes | First name |
lastName | string | No | Last name |
email | string | No | Email address |
mobilePhone | string | No | Mobile phone number |
workPhone | string | No | Work phone number |
homePhone | string | No | Home phone number |
company | string | No | Company name |
jobTitle | string | No | Job title |
website | string | No | Website URL |
dateOfBirth | string | No | Date of birth |
pipelineStageId | string | No | Pipeline stage ID |
source | string | No | Contact source |
tags | string[] | No | Tags for categorization |
notes | string | No | Notes about the contact |
customFields | object[] | No | Custom field values (label-based) |
update_contact
Update an existing CRM contact. Only include the fields you want to change.
| Parameter | Type | Required | Description |
|---|---|---|---|
contactId | string | Yes | The UUID of the contact |
All fields from create_contact | — | No | Only changed fields needed |
move_contact_to_stage
Move a CRM contact to a different pipeline stage.
| Parameter | Type | Required | Description |
|---|---|---|---|
contactId | string | Yes | The UUID of the contact |
stageId | string | Yes | The UUID of the target pipeline stage |
list_pipeline_stages
List all CRM pipeline stages for your organization. Returns stage IDs, names, colors, and positions.
Parameters: None
list_custom_fields
List custom field definitions for your CRM. Returns field labels, types, and options.
Parameters: None
get_contacts_analytics
Get CRM analytics including total contacts, weekly/monthly additions, pipeline stage counts, and contact source distribution.
Parameters: None