Lofty MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOFTY_API_KEY | Yes | Your Lofty Bearer token (OAuth2 access token or API key) | |
| LOFTY_SAFE_MODE | No | Set to 'false' to enable delete/destructive tools | true |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| listLeadsC | List leads with optional filters. Returns a paginated list. |
| getLeadB | Get a single lead by ID. |
| createLeadD | Create a new lead. |
| updateLeadC | Update an existing lead by ID. |
| assignLeadC | Assign a lead to a user. |
| updateLeadInquiryB | Update a lead's property inquiry preferences. |
| updateLeadPropertyC | Update a lead's current property information. |
| logLeadActivityC | Log an activity event against a lead. |
| getLeadActivitiesV1C | Get activity history for a lead (v1, page-based). |
| getLeadActivitiesV2B | Get activity history for a lead (v2, cursor/offset-based with timezone support). |
| getAssigneeInfoB | Look up the assignee agent for a lead by phone, email, or external ID. |
| listNotesC | List notes for a lead. |
| getNoteB | Get a single note by ID. |
| createNoteA | Create a note on a lead. |
| updateNoteB | Update an existing note by ID. |
| listTasksV1C | List tasks for a lead (v1 API). Requires leadId. |
| getTaskV1B | Get a single task by ID (v1 API). |
| createTaskV1C | Create a task (v1 API). Type: Other | Call | Email | Text. AssignedRole: Agent | Assistant. |
| updateTaskV1C | Update a task by ID (v1 API). Type: Other | Call | Email | Text. AssignedRole: Agent | Assistant. |
| listAppointmentsB | List appointments for a lead (v1 API). Requires leadId. |
| listTasksV2B | List tasks for a lead (v2 API). Requires leadId. |
| getTaskV2B | Get a single task by ID (v2 API). |
| createTaskV2B | Create a task or appointment (v2 API). Type: Other | Call | Email | Text | Appointment. For Appointment type, provide address. |
| updateTaskV2C | Update a task by ID (v2 API). Updatable fields: content, startAt, endAt, timeZoneCode, address. |
| finishTaskV2C | Mark a task as finished (v2 API). |
| unfinishTaskV2A | Mark a finished task as unfinished / reopen it (v2 API). |
| listMyTasksV2A | List tasks assigned to the authenticated user (v2 API). No required params. |
| queryCalendarsB | Query calendar items for a lead (v2 API). Requires leadId. |
| createCalendarA | Create a calendar item (v2 API). type: TASK | APPOINTMENT. For TASK provide taskWay and assignedRole; for APPOINTMENT provide address. |
| updateCalendarA | Update a calendar item by ID (v2 API). Calendar IDs are composite strings like "563172-task" or "563172-appointment". |
| finishCalendarB | Mark a calendar item as finished (v2 API). Calendar IDs are composite strings like "563172-task" or "563172-appointment". |
| unfinishCalendarA | Reopen a finished calendar item (v2 API). Calendar IDs are composite strings like "563172-task" or "563172-appointment". |
| getAvailableMeetingsC | Get available meeting slots for a lead (v2 API). Requires leadId. |
| listCallsC | List call records for a lead. |
| getCallRecordA | Get a single call record by call ID. |
| getCallRecordUrlB | Get the recording URL for a call by call ID. |
| listCallHistoryC | List call communication history for a lead. |
| listCallHistoryV2C | List call communication history for a lead (v2 endpoint). |
| listEmailHistoryB | List email communication history for a lead. |
| listTextHistoryB | List SMS/text communication history for a lead. |
| searchCommunicationsByAgentC | Search communications by agent with optional filters. |
| sendSmsC | Send an SMS message to a lead. |
| sendEmailB | Send an email message to a lead. |
| getCallByCommIdA | Get a call communication record by its communication ID (v2). |
| getEmailByCommIdB | Get an email communication record by its communication ID (v2). |
| getTextByCommIdA | Get a text/SMS communication record by its communication ID (v2). |
| listWebhooksA | List all webhook subscriptions for the account. |
| createWebhookB | Subscribe to a Lofty webhook event. Event types (listId): 1=Agent Info, 2=Lead Info, 3=Lead Activity, 4=Listing Alert, 5=Transaction, 6=Call, 7=Email, 8=Text, 9=Note, 10=Task, 11=Appointment, 12=Pipeline Change. callbackUrl must be HTTPS. |
| getCurrentSalesAgentB | Get the current authenticated sales agent profile. |
| getSalesAgentByLeadB | Get the sales agent assigned to a specific lead. |
| getSalesAgentQuotaB | Get the current sales agent quota. |
| getSalesAgentSettingsB | Get sales agent settings. |
| saveSalesAgentSettingsC | Save/update sales agent settings. |
| getWorkingLeadsC | List working leads for the current sales agent. |
| addWorkingLeadsC | Add leads to the working leads list. |
| checkWorkingLeadA | Check if a specific lead is in the working leads list. |
| muteLeadC | Mute or unmute a working lead. |
| getMuteStatusB | Get the mute status for a lead. |
| sendSmsViaAiNumberB | Send an SMS to the agent via the AI number. |
| batchCreatePlanTasksB | Batch create plan tasks for a lead. |
| getPlanTasksByLeadC | Get plan tasks for a specific lead. |
| generateCallScriptC | Generate an AI call script for a lead. |
| getCallSummaryB | Get AI call summary for a lead. |
| generateCallSummaryC | Generate an AI call summary for a call. |
| listLeadAnalysisC | List AI lead analysis entries for a lead. |
| createLeadAnalysisB | Create an AI lead analysis for a lead. |
| generatePrepareInsightC | Generate AI prepare insight for a lead. |
| sendOpportunityNotificationC | Send an opportunity notification to an agent. |
| sendAppPushTaskReminderC | Send an app push task reminder notification. |
| sendSystemSmsToAgentC | Send a system SMS message to an agent. |
| sendSystemEmailToAgentC | Send a system email message to an agent. |
| listLeadTransactionsB | List all transactions for a lead. |
| addTransactionC | Add a new transaction to a lead. |
| getTransactionB | Get a specific transaction for a lead. |
| updateTransactionB | Update an existing transaction for a lead. |
| getTransactionPropertyAddressB | Get the property address for a specific transaction. |
| updateTransactionPropertyAddressC | Update the property address for a transaction. |
| getTransactionCustomFieldsB | Get the list of custom fields defined for transactions. |
| searchTransactionsV2C | Search transactions with optional filters (v2 endpoint). |
| updateBrokermintTransactionB | Update a Brokermint transaction (callback format — body passed through as-is). |
| getMeA | Get the current authenticated user profile. |
| listMembersA | List all members in the team. |
| getMemberByAccountA | Get a member by their account (email address). |
| getMemberByIdB | Get a member/user by their numeric user ID. |
| listTagsA | List all tags defined for the team. |
| listCustomFieldsB | List all custom fields defined for the team. |
| addCustomFieldC | Add or update a custom field value. |
| listPipelinesA | List all lead pipelines for the team. |
| listLeadPondsA | List all lead ponds for the team. |
| getLeadPondA | Get a specific lead pond by ID. |
| listRoutingRulesB | List routing rules for a business type. |
| updateRoutingRuleC | Update a routing rule for a business type. |
| getSupplementRuleB | Get supplement routing rule for a business type. |
| updateSupplementRuleC | Update supplement routing rule for a business type. |
| listRoutingRolesC | List all routing roles. |
| listAssignMembersC | List assign members for a business type. |
| listManualLogTypesA | List all manual log types. |
| createManualLogTypeB | Create a new manual log type. |
| getManualLogTypeA | Get a manual log type by ID. |
| getOrgInfoC | Get organization info. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NerdSnipe-Inc/lofty-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server