crm_connector
ActiveTool of gapup-mcp
Push, update, search and log activities in HubSpot, Salesforce or Pipedrive. 4 modes: push_lead (create contact/lead), update_opportunity (update deal stage/amount), search_contact (lookup by email), log_activity (call/email/meeting/note). Returns resource_id, direct CRM URL, signals and quality_score. If credentials are absent, returns a mock result with a warning signal. Auth: HubSpot via Bearer access_token; Salesforce via access_token + base_url; Pipedrive via api_key.
Parameters schema
{
"type": "object",
"required": [
"mode",
"provider",
"data"
],
"properties": {
"data": {
"type": "object",
"description": "Payload depending on mode. push_lead: {email,first_name,last_name,company,phone,job_title}. update_opportunity: {deal_id/opportunity_id,stage,amount,close_date}. search_contact: {email}. log_activity: {type,body,contact_id/person_id,subject}.",
"additionalProperties": true
},
"mode": {
"enum": [
"push_lead",
"update_opportunity",
"search_contact",
"log_activity"
],
"type": "string",
"description": "Action to perform in the CRM"
},
"async": {
"type": "boolean",
"description": "If true, returns a job_id immediately (<200ms) instead of waiting for the result. Poll the result with job_result(job_id). Use for slow tools to avoid client timeouts."
},
"provider": {
"enum": [
"salesforce",
"hubspot",
"pipedrive"
],
"type": "string",
"description": "CRM provider to target"
},
"credentials": {
"type": "object",
"properties": {
"api_key": {
"type": "string"
},
"base_url": {
"type": "string",
"description": "Salesforce instance URL e.g. https://myorg.my.salesforce.com"
},
"access_token": {
"type": "string"
}
},
"description": "Auth credentials. HubSpot: access_token. Salesforce: access_token + base_url. Pipedrive: api_key."
}
}
}Parent server
gapup-mcp
https://github.com/getgapup/gapup-mcp-public
2/7 registries