{
  "service": "hubspot",
  "displayName": "HubSpot",
  "categories": [
    "Marketing",
    "Productivity"
  ],
  "authTypes": [
    "oauth2"
  ],
  "auth": [
    {
      "type": "oauth2",
      "authorizationUrl": "https://mcp.hubspot.com/oauth/authorize/user",
      "tokenUrl": "https://mcp.hubspot.com/oauth/v3/token",
      "refreshTokenUrl": "https://mcp.hubspot.com/oauth/v3/token",
      "scopes": [],
      "tokenEndpointAuthMethod": "client_secret_post",
      "tokenRequestFormat": "form",
      "pkce": {
        "method": "S256"
      }
    }
  ],
  "homepageUrl": "https://www.hubspot.com",
  "actions": [
    {
      "id": "hubspot.create_company",
      "service": "hubspot",
      "name": "create_company",
      "description": "Create a HubSpot company with the provided properties and optional associations.",
      "requiredScopes": [
        "hubspot.companies.write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "properties": {
            "type": "object",
            "additionalProperties": {
              "description": "HubSpot property value."
            },
            "description": "HubSpot properties keyed by property name."
          },
          "associations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "HubSpot object payload."
            },
            "description": "Association definitions to create alongside the record."
          }
        },
        "additionalProperties": false,
        "required": [
          "properties"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "HubSpot record identifier."
              },
              "archived": {
                "type": "boolean",
                "description": "Whether the record is archived."
              },
              "createdAt": {
                "type": "string",
                "description": "Timestamp when the record was created."
              },
              "updatedAt": {
                "type": "string",
                "description": "Timestamp when the record was last updated."
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property value."
                },
                "description": "HubSpot properties keyed by property name."
              },
              "propertiesWithHistory": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property history payload."
                },
                "description": "HubSpot property histories keyed by property name."
              },
              "associations": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Associations returned by HubSpot when requested."
              }
            },
            "additionalProperties": true,
            "description": "HubSpot CRM record returned by the MCP server."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot company creation result."
      }
    },
    {
      "id": "hubspot.create_contact",
      "service": "hubspot",
      "name": "create_contact",
      "description": "Create a HubSpot contact with the provided properties and optional associations.",
      "requiredScopes": [
        "hubspot.contacts.write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "properties": {
            "type": "object",
            "additionalProperties": {
              "description": "HubSpot property value."
            },
            "description": "HubSpot properties keyed by property name."
          },
          "associations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "HubSpot object payload."
            },
            "description": "Association definitions to create alongside the record."
          }
        },
        "additionalProperties": false,
        "required": [
          "properties"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "HubSpot record identifier."
              },
              "archived": {
                "type": "boolean",
                "description": "Whether the record is archived."
              },
              "createdAt": {
                "type": "string",
                "description": "Timestamp when the record was created."
              },
              "updatedAt": {
                "type": "string",
                "description": "Timestamp when the record was last updated."
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property value."
                },
                "description": "HubSpot properties keyed by property name."
              },
              "propertiesWithHistory": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property history payload."
                },
                "description": "HubSpot property histories keyed by property name."
              },
              "associations": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Associations returned by HubSpot when requested."
              }
            },
            "additionalProperties": true,
            "description": "HubSpot CRM record returned by the MCP server."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot contact creation result."
      }
    },
    {
      "id": "hubspot.create_deal",
      "service": "hubspot",
      "name": "create_deal",
      "description": "Create a HubSpot deal with the provided properties and optional associations.",
      "requiredScopes": [
        "hubspot.deals.write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "properties": {
            "type": "object",
            "additionalProperties": {
              "description": "HubSpot property value."
            },
            "description": "HubSpot properties keyed by property name."
          },
          "associations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "HubSpot object payload."
            },
            "description": "Association definitions to create alongside the record."
          }
        },
        "additionalProperties": false,
        "required": [
          "properties"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "HubSpot record identifier."
              },
              "archived": {
                "type": "boolean",
                "description": "Whether the record is archived."
              },
              "createdAt": {
                "type": "string",
                "description": "Timestamp when the record was created."
              },
              "updatedAt": {
                "type": "string",
                "description": "Timestamp when the record was last updated."
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property value."
                },
                "description": "HubSpot properties keyed by property name."
              },
              "propertiesWithHistory": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property history payload."
                },
                "description": "HubSpot property histories keyed by property name."
              },
              "associations": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Associations returned by HubSpot when requested."
              }
            },
            "additionalProperties": true,
            "description": "HubSpot CRM record returned by the MCP server."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot deal creation result."
      }
    },
    {
      "id": "hubspot.get_campaign_analytics",
      "service": "hubspot",
      "name": "get_campaign_analytics",
      "description": "Get HubSpot campaign analytics for one or more campaigns.",
      "requiredScopes": [
        "hubspot.campaigns.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "campaignIds": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "integer",
                  "description": "Numeric HubSpot object ID."
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "description": "HubSpot object ID string."
                }
              ],
              "description": "HubSpot object ID."
            },
            "description": "HubSpot campaign IDs.",
            "minItems": 1
          },
          "metricType": {
            "type": "string",
            "minLength": 1,
            "description": "Campaign analytics metric type."
          },
          "startDate": {
            "type": "string",
            "description": "Inclusive analytics start date.",
            "format": "date"
          },
          "endDate": {
            "type": "string",
            "description": "Inclusive analytics end date.",
            "format": "date"
          }
        },
        "additionalProperties": true,
        "required": [
          "campaignIds"
        ],
        "description": "The input payload for this action. Unknown fields are passed through to the HubSpot MCP tool."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "result": {
            "description": "Raw response payload returned by the HubSpot MCP tool."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot MCP tool response."
      }
    },
    {
      "id": "hubspot.get_campaign_asset_metrics",
      "service": "hubspot",
      "name": "get_campaign_asset_metrics",
      "description": "Get metrics and properties for CRM objects associated with a HubSpot campaign.",
      "requiredScopes": [
        "hubspot.campaigns.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "campaignId": {
            "anyOf": [
              {
                "type": "integer",
                "description": "Numeric HubSpot object ID."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "HubSpot object ID string."
              }
            ],
            "description": "HubSpot object ID."
          },
          "assetType": {
            "type": "string",
            "minLength": 1,
            "description": "Campaign asset type name."
          },
          "objectIds": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "integer",
                  "description": "Numeric HubSpot object ID."
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "description": "HubSpot object ID string."
                }
              ],
              "description": "HubSpot object ID."
            },
            "description": "CRM object IDs associated with the campaign.",
            "minItems": 1
          }
        },
        "additionalProperties": true,
        "required": [
          "campaignId",
          "assetType"
        ],
        "description": "The input payload for this action. Unknown fields are passed through to the HubSpot MCP tool."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "result": {
            "description": "Raw response payload returned by the HubSpot MCP tool."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot MCP tool response."
      }
    },
    {
      "id": "hubspot.get_campaign_asset_types",
      "service": "hubspot",
      "name": "get_campaign_asset_types",
      "description": "List HubSpot asset type names available as campaign assets.",
      "requiredScopes": [
        "hubspot.campaigns.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The input payload for this action. Unknown fields are passed through to the HubSpot MCP tool."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "result": {
            "description": "Raw response payload returned by the HubSpot MCP tool."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot MCP tool response."
      }
    },
    {
      "id": "hubspot.get_campaign_contacts_by_type",
      "service": "hubspot",
      "name": "get_campaign_contacts_by_type",
      "description": "Fetch paginated HubSpot contact IDs for a campaign filtered by attribution type.",
      "requiredScopes": [
        "hubspot.campaigns.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "campaignId": {
            "anyOf": [
              {
                "type": "integer",
                "description": "Numeric HubSpot object ID."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "HubSpot object ID string."
              }
            ],
            "description": "HubSpot object ID."
          },
          "attributionType": {
            "type": "string",
            "minLength": 1,
            "description": "Campaign attribution type."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "description": "Maximum number of contact IDs to return."
          },
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "Paging cursor returned by a previous request."
          }
        },
        "additionalProperties": true,
        "required": [
          "campaignId",
          "attributionType"
        ],
        "description": "The input payload for this action. Unknown fields are passed through to the HubSpot MCP tool."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "result": {
            "description": "Raw response payload returned by the HubSpot MCP tool."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot MCP tool response."
      }
    },
    {
      "id": "hubspot.get_company",
      "service": "hubspot",
      "name": "get_company",
      "description": "Get a HubSpot company by record ID or by a custom idProperty value.",
      "requiredScopes": [
        "hubspot.companies.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "minLength": 1,
            "description": "HubSpot record identifier."
          },
          "idProperty": {
            "type": "string",
            "minLength": 1,
            "description": "Alternate unique property name that should resolve recordId."
          },
          "properties": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include in the returned record payload."
          },
          "propertiesWithHistory": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include with their value history."
          },
          "associations": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot associated object type."
            },
            "description": "Associated object types to include in the response."
          }
        },
        "additionalProperties": false,
        "required": [
          "recordId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "HubSpot record identifier."
              },
              "archived": {
                "type": "boolean",
                "description": "Whether the record is archived."
              },
              "createdAt": {
                "type": "string",
                "description": "Timestamp when the record was created."
              },
              "updatedAt": {
                "type": "string",
                "description": "Timestamp when the record was last updated."
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property value."
                },
                "description": "HubSpot properties keyed by property name."
              },
              "propertiesWithHistory": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property history payload."
                },
                "description": "HubSpot property histories keyed by property name."
              },
              "associations": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Associations returned by HubSpot when requested."
              }
            },
            "additionalProperties": true,
            "description": "HubSpot CRM record returned by the MCP server."
          }
        },
        "additionalProperties": false,
        "description": "Single HubSpot company lookup result."
      }
    },
    {
      "id": "hubspot.get_contact",
      "service": "hubspot",
      "name": "get_contact",
      "description": "Get a HubSpot contact by record ID or by a custom idProperty value.",
      "requiredScopes": [
        "hubspot.contacts.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "minLength": 1,
            "description": "HubSpot record identifier."
          },
          "idProperty": {
            "type": "string",
            "minLength": 1,
            "description": "Alternate unique property name that should resolve recordId."
          },
          "properties": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include in the returned record payload."
          },
          "propertiesWithHistory": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include with their value history."
          },
          "associations": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot associated object type."
            },
            "description": "Associated object types to include in the response."
          }
        },
        "additionalProperties": false,
        "required": [
          "recordId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "HubSpot record identifier."
              },
              "archived": {
                "type": "boolean",
                "description": "Whether the record is archived."
              },
              "createdAt": {
                "type": "string",
                "description": "Timestamp when the record was created."
              },
              "updatedAt": {
                "type": "string",
                "description": "Timestamp when the record was last updated."
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property value."
                },
                "description": "HubSpot properties keyed by property name."
              },
              "propertiesWithHistory": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property history payload."
                },
                "description": "HubSpot property histories keyed by property name."
              },
              "associations": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Associations returned by HubSpot when requested."
              }
            },
            "additionalProperties": true,
            "description": "HubSpot CRM record returned by the MCP server."
          }
        },
        "additionalProperties": false,
        "description": "Single HubSpot contact lookup result."
      }
    },
    {
      "id": "hubspot.get_crm_objects",
      "service": "hubspot",
      "name": "get_crm_objects",
      "description": "Fetch one or more HubSpot CRM objects by ID through the MCP server.",
      "requiredScopes": [
        "hubspot.crm.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectType": {
            "type": "string",
            "minLength": 1,
            "description": "HubSpot CRM object type accepted by the MCP server, such as contacts, companies, deals, tickets, line_items, products, calls, emails, meetings, notes, tasks, campaigns, or a custom object type."
          },
          "objectIds": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "integer",
                  "description": "Numeric HubSpot object ID."
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "description": "HubSpot object ID string."
                }
              ],
              "description": "HubSpot object ID."
            },
            "description": "HubSpot object IDs to fetch.",
            "minItems": 1,
            "maxItems": 100
          },
          "idProperty": {
            "type": "string",
            "minLength": 1,
            "description": "Alternate unique property name that should resolve objectIds."
          },
          "properties": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include in the returned record payload."
          },
          "propertiesWithHistory": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include with their value history."
          },
          "associations": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot associated object type."
            },
            "description": "Associated object types to include in the response."
          }
        },
        "additionalProperties": true,
        "required": [
          "objectType",
          "objectIds"
        ],
        "description": "The input payload for this action. Unknown fields are passed through to the HubSpot MCP tool."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "result": {
            "description": "Raw response payload returned by the HubSpot MCP tool."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot MCP tool response."
      }
    },
    {
      "id": "hubspot.get_deal",
      "service": "hubspot",
      "name": "get_deal",
      "description": "Get a HubSpot deal by record ID or by a custom idProperty value.",
      "requiredScopes": [
        "hubspot.deals.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "minLength": 1,
            "description": "HubSpot record identifier."
          },
          "idProperty": {
            "type": "string",
            "minLength": 1,
            "description": "Alternate unique property name that should resolve recordId."
          },
          "properties": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include in the returned record payload."
          },
          "propertiesWithHistory": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include with their value history."
          },
          "associations": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot associated object type."
            },
            "description": "Associated object types to include in the response."
          }
        },
        "additionalProperties": false,
        "required": [
          "recordId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "HubSpot record identifier."
              },
              "archived": {
                "type": "boolean",
                "description": "Whether the record is archived."
              },
              "createdAt": {
                "type": "string",
                "description": "Timestamp when the record was created."
              },
              "updatedAt": {
                "type": "string",
                "description": "Timestamp when the record was last updated."
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property value."
                },
                "description": "HubSpot properties keyed by property name."
              },
              "propertiesWithHistory": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property history payload."
                },
                "description": "HubSpot property histories keyed by property name."
              },
              "associations": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Associations returned by HubSpot when requested."
              }
            },
            "additionalProperties": true,
            "description": "HubSpot CRM record returned by the MCP server."
          }
        },
        "additionalProperties": false,
        "description": "Single HubSpot deal lookup result."
      }
    },
    {
      "id": "hubspot.get_properties",
      "service": "hubspot",
      "name": "get_properties",
      "description": "Get full HubSpot property definitions for an object type.",
      "requiredScopes": [
        "hubspot.schemas.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectType": {
            "type": "string",
            "minLength": 1,
            "description": "HubSpot CRM object type accepted by the MCP server, such as contacts, companies, deals, tickets, line_items, products, calls, emails, meetings, notes, tasks, campaigns, or a custom object type."
          },
          "propertyNames": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Specific property names to fetch when a full definition is needed."
          }
        },
        "additionalProperties": true,
        "required": [
          "objectType"
        ],
        "description": "The input payload for this action. Unknown fields are passed through to the HubSpot MCP tool."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "result": {
            "description": "Raw response payload returned by the HubSpot MCP tool."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot MCP tool response."
      }
    },
    {
      "id": "hubspot.get_property",
      "service": "hubspot",
      "name": "get_property",
      "description": "Get a single HubSpot property definition for an MCP-supported object type.",
      "requiredScopes": [
        "hubspot.schemas.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectType": {
            "type": "string",
            "minLength": 1,
            "description": "HubSpot CRM object type accepted by the MCP server, such as contacts, companies, deals, tickets, line_items, products, calls, emails, meetings, notes, tasks, campaigns, or a custom object type."
          },
          "propertyName": {
            "type": "string",
            "minLength": 1,
            "description": "HubSpot property name."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "property": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "HubSpot property definition returned by the MCP server."
          }
        },
        "additionalProperties": false,
        "description": "Single HubSpot property definition."
      }
    },
    {
      "id": "hubspot.get_user_details",
      "service": "hubspot",
      "name": "get_user_details",
      "description": "Get the authenticated HubSpot MCP user's account and access details.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "userDetails": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Authenticated user, account, and access details from HubSpot MCP."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot MCP user details."
      }
    },
    {
      "id": "hubspot.list_properties",
      "service": "hubspot",
      "name": "list_properties",
      "description": "List or search HubSpot property definitions for an MCP-supported object type.",
      "requiredScopes": [
        "hubspot.schemas.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectType": {
            "type": "string",
            "minLength": 1,
            "description": "HubSpot CRM object type accepted by the MCP server, such as contacts, companies, deals, tickets, line_items, products, calls, emails, meetings, notes, tasks, campaigns, or a custom object type."
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "Property search keyword."
            },
            "description": "Keywords used to search matching property definitions.",
            "maxItems": 5
          },
          "propertyNames": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Specific property names to fetch when a full definition is needed."
          }
        },
        "additionalProperties": false,
        "required": [
          "objectType"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "properties": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "HubSpot property definition returned by the MCP server."
            },
            "description": "Property definitions returned for the requested object type."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot property definition list."
      }
    },
    {
      "id": "hubspot.manage_crm_objects",
      "service": "hubspot",
      "name": "manage_crm_objects",
      "description": "Create or update HubSpot CRM records or activities through the MCP server.",
      "requiredScopes": [
        "hubspot.crm.write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "createRequest": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "HubSpot MCP createRequest payload."
              }
            },
            "additionalProperties": true,
            "description": "HubSpot MCP createRequest payload."
          },
          {
            "type": "object",
            "properties": {
              "updateRequest": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "HubSpot MCP updateRequest payload."
              }
            },
            "additionalProperties": true,
            "description": "HubSpot MCP updateRequest payload."
          },
          {
            "type": "object",
            "properties": {
              "objectType": {
                "type": "string",
                "minLength": 1,
                "description": "HubSpot CRM object type accepted by the MCP server, such as contacts, companies, deals, tickets, line_items, products, calls, emails, meetings, notes, tasks, campaigns, or a custom object type."
              },
              "operation": {
                "const": "create",
                "type": "string",
                "description": "CRM mutation operation."
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "description": "HubSpot property value."
                },
                "description": "HubSpot properties keyed by property name."
              },
              "associations": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "HubSpot object payload."
                },
                "description": "Association definitions to create alongside the record."
              }
            },
            "additionalProperties": true,
            "required": [
              "objectType",
              "operation",
              "properties"
            ],
            "description": "Convenience payload for creating one HubSpot CRM object."
          },
          {
            "type": "object",
            "properties": {
              "objectType": {
                "type": "string",
                "minLength": 1,
                "description": "HubSpot CRM object type accepted by the MCP server, such as contacts, companies, deals, tickets, line_items, products, calls, emails, meetings, notes, tasks, campaigns, or a custom object type."
              },
              "operation": {
                "const": "update",
                "type": "string",
                "description": "CRM mutation operation."
              },
              "recordId": {
                "type": "string",
                "minLength": 1,
                "description": "HubSpot record identifier for update operations."
              },
              "idProperty": {
                "type": "string",
                "minLength": 1,
                "description": "Alternate unique property name that should resolve the record ID."
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "description": "HubSpot property value."
                },
                "description": "HubSpot properties keyed by property name."
              }
            },
            "additionalProperties": true,
            "required": [
              "objectType",
              "operation",
              "recordId",
              "properties"
            ],
            "description": "Convenience payload for updating one HubSpot CRM object by recordId."
          },
          {
            "type": "object",
            "properties": {
              "objectType": {
                "type": "string",
                "minLength": 1,
                "description": "HubSpot CRM object type accepted by the MCP server, such as contacts, companies, deals, tickets, line_items, products, calls, emails, meetings, notes, tasks, campaigns, or a custom object type."
              },
              "operation": {
                "const": "update",
                "type": "string",
                "description": "CRM mutation operation."
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "HubSpot record identifier for update operations."
              },
              "idProperty": {
                "type": "string",
                "minLength": 1,
                "description": "Alternate unique property name that should resolve the record ID."
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "description": "HubSpot property value."
                },
                "description": "HubSpot properties keyed by property name."
              }
            },
            "additionalProperties": true,
            "required": [
              "objectType",
              "operation",
              "id",
              "properties"
            ],
            "description": "Convenience payload for updating one HubSpot CRM object by id."
          }
        ],
        "description": "The input payload for this action. Unknown fields are passed through to the HubSpot MCP tool."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "result": {
            "description": "Raw response payload returned by the HubSpot MCP tool."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot MCP tool response."
      }
    },
    {
      "id": "hubspot.search_companies",
      "service": "hubspot",
      "name": "search_companies",
      "description": "Search HubSpot companies with optional filters, sorting, and selected properties.",
      "requiredScopes": [
        "hubspot.companies.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Full-text query applied to the HubSpot CRM search."
          },
          "filterGroups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "HubSpot CRM search filter group."
            },
            "description": "HubSpot filter groups used to narrow the search.",
            "maxItems": 5
          },
          "sorts": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot sort expression."
            },
            "description": "HubSpot sort expressions."
          },
          "properties": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include in the returned record payload."
          },
          "propertiesWithHistory": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include with their value history."
          },
          "associations": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot associated object type."
            },
            "description": "Associated object types to include in the response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "description": "Maximum number of records to return."
          },
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "Paging cursor returned by a previous search request."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "HubSpot record identifier."
                },
                "archived": {
                  "type": "boolean",
                  "description": "Whether the record is archived."
                },
                "createdAt": {
                  "type": "string",
                  "description": "Timestamp when the record was created."
                },
                "updatedAt": {
                  "type": "string",
                  "description": "Timestamp when the record was last updated."
                },
                "properties": {
                  "type": "object",
                  "additionalProperties": {
                    "description": "Property value."
                  },
                  "description": "HubSpot properties keyed by property name."
                },
                "propertiesWithHistory": {
                  "type": "object",
                  "additionalProperties": {
                    "description": "Property history payload."
                  },
                  "description": "HubSpot property histories keyed by property name."
                },
                "associations": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Associations returned by HubSpot when requested."
                }
              },
              "additionalProperties": true,
              "description": "HubSpot CRM record returned by the MCP server."
            },
            "description": "Records returned by the search request."
          },
          "paging": {
            "type": "object",
            "properties": {
              "nextAfter": {
                "type": "string",
                "description": "Cursor for the next search request when another page is available."
              }
            },
            "additionalProperties": true,
            "description": "Paging information returned by HubSpot."
          },
          "raw": {
            "description": "Raw MCP response payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "results"
        ],
        "description": "HubSpot company search results."
      }
    },
    {
      "id": "hubspot.search_contacts",
      "service": "hubspot",
      "name": "search_contacts",
      "description": "Search HubSpot contacts with optional filters, sorting, and selected properties.",
      "requiredScopes": [
        "hubspot.contacts.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Full-text query applied to the HubSpot CRM search."
          },
          "filterGroups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "HubSpot CRM search filter group."
            },
            "description": "HubSpot filter groups used to narrow the search.",
            "maxItems": 5
          },
          "sorts": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot sort expression."
            },
            "description": "HubSpot sort expressions."
          },
          "properties": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include in the returned record payload."
          },
          "propertiesWithHistory": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include with their value history."
          },
          "associations": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot associated object type."
            },
            "description": "Associated object types to include in the response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "description": "Maximum number of records to return."
          },
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "Paging cursor returned by a previous search request."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "HubSpot record identifier."
                },
                "archived": {
                  "type": "boolean",
                  "description": "Whether the record is archived."
                },
                "createdAt": {
                  "type": "string",
                  "description": "Timestamp when the record was created."
                },
                "updatedAt": {
                  "type": "string",
                  "description": "Timestamp when the record was last updated."
                },
                "properties": {
                  "type": "object",
                  "additionalProperties": {
                    "description": "Property value."
                  },
                  "description": "HubSpot properties keyed by property name."
                },
                "propertiesWithHistory": {
                  "type": "object",
                  "additionalProperties": {
                    "description": "Property history payload."
                  },
                  "description": "HubSpot property histories keyed by property name."
                },
                "associations": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Associations returned by HubSpot when requested."
                }
              },
              "additionalProperties": true,
              "description": "HubSpot CRM record returned by the MCP server."
            },
            "description": "Records returned by the search request."
          },
          "paging": {
            "type": "object",
            "properties": {
              "nextAfter": {
                "type": "string",
                "description": "Cursor for the next search request when another page is available."
              }
            },
            "additionalProperties": true,
            "description": "Paging information returned by HubSpot."
          },
          "raw": {
            "description": "Raw MCP response payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "results"
        ],
        "description": "HubSpot contact search results."
      }
    },
    {
      "id": "hubspot.search_crm_objects",
      "service": "hubspot",
      "name": "search_crm_objects",
      "description": "Search and filter HubSpot CRM records for any object type supported by the MCP server.",
      "requiredScopes": [
        "hubspot.crm.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectType": {
            "type": "string",
            "minLength": 1,
            "description": "HubSpot CRM object type accepted by the MCP server, such as contacts, companies, deals, tickets, line_items, products, calls, emails, meetings, notes, tasks, campaigns, or a custom object type."
          },
          "query": {
            "type": "string",
            "description": "Full-text query applied to the HubSpot CRM search."
          },
          "filterGroups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "HubSpot CRM search filter group."
            },
            "description": "HubSpot filter groups used to narrow the search.",
            "maxItems": 5
          },
          "sorts": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot sort expression."
            },
            "description": "HubSpot sort expressions."
          },
          "properties": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include in the returned record payload."
          },
          "propertiesWithHistory": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include with their value history."
          },
          "associations": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot associated object type."
            },
            "description": "Associated object types to include in the response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "description": "Maximum number of records to return."
          },
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "Paging cursor returned by a previous search request."
          }
        },
        "additionalProperties": true,
        "required": [
          "objectType"
        ],
        "description": "The input payload for this action. Unknown fields are passed through to the HubSpot MCP tool."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "result": {
            "description": "Raw response payload returned by the HubSpot MCP tool."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot MCP tool response."
      }
    },
    {
      "id": "hubspot.search_deals",
      "service": "hubspot",
      "name": "search_deals",
      "description": "Search HubSpot deals with optional filters, sorting, and selected properties.",
      "requiredScopes": [
        "hubspot.deals.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Full-text query applied to the HubSpot CRM search."
          },
          "filterGroups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "HubSpot CRM search filter group."
            },
            "description": "HubSpot filter groups used to narrow the search.",
            "maxItems": 5
          },
          "sorts": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot sort expression."
            },
            "description": "HubSpot sort expressions."
          },
          "properties": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include in the returned record payload."
          },
          "propertiesWithHistory": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot property name."
            },
            "description": "Property names to include with their value history."
          },
          "associations": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "HubSpot associated object type."
            },
            "description": "Associated object types to include in the response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "description": "Maximum number of records to return."
          },
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "Paging cursor returned by a previous search request."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "HubSpot record identifier."
                },
                "archived": {
                  "type": "boolean",
                  "description": "Whether the record is archived."
                },
                "createdAt": {
                  "type": "string",
                  "description": "Timestamp when the record was created."
                },
                "updatedAt": {
                  "type": "string",
                  "description": "Timestamp when the record was last updated."
                },
                "properties": {
                  "type": "object",
                  "additionalProperties": {
                    "description": "Property value."
                  },
                  "description": "HubSpot properties keyed by property name."
                },
                "propertiesWithHistory": {
                  "type": "object",
                  "additionalProperties": {
                    "description": "Property history payload."
                  },
                  "description": "HubSpot property histories keyed by property name."
                },
                "associations": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Associations returned by HubSpot when requested."
                }
              },
              "additionalProperties": true,
              "description": "HubSpot CRM record returned by the MCP server."
            },
            "description": "Records returned by the search request."
          },
          "paging": {
            "type": "object",
            "properties": {
              "nextAfter": {
                "type": "string",
                "description": "Cursor for the next search request when another page is available."
              }
            },
            "additionalProperties": true,
            "description": "Paging information returned by HubSpot."
          },
          "raw": {
            "description": "Raw MCP response payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "results"
        ],
        "description": "HubSpot deal search results."
      }
    },
    {
      "id": "hubspot.search_owners",
      "service": "hubspot",
      "name": "search_owners",
      "description": "Find HubSpot CRM record owners by name, email, or owner ID.",
      "requiredScopes": [
        "hubspot.owners.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Owner name or email query."
          },
          "ownerIds": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "integer",
                  "description": "Numeric HubSpot object ID."
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "description": "HubSpot object ID string."
                }
              ],
              "description": "HubSpot object ID."
            },
            "description": "HubSpot owner IDs to look up.",
            "maxItems": 100
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum number of owners to return."
          },
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "Paging cursor returned by a previous owner search request."
          }
        },
        "additionalProperties": true,
        "description": "The input payload for this action. Unknown fields are passed through to the HubSpot MCP tool."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "result": {
            "description": "Raw response payload returned by the HubSpot MCP tool."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot MCP tool response."
      }
    },
    {
      "id": "hubspot.search_properties",
      "service": "hubspot",
      "name": "search_properties",
      "description": "Find HubSpot property definitions for an object type using keyword search.",
      "requiredScopes": [
        "hubspot.schemas.read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectType": {
            "type": "string",
            "minLength": 1,
            "description": "HubSpot CRM object type accepted by the MCP server, such as contacts, companies, deals, tickets, line_items, products, calls, emails, meetings, notes, tasks, campaigns, or a custom object type."
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "Property search keyword."
            },
            "description": "Keywords used to search matching property definitions.",
            "minItems": 1,
            "maxItems": 5
          }
        },
        "additionalProperties": true,
        "description": "The input payload for this action. Unknown fields are passed through to the HubSpot MCP tool."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "result": {
            "description": "Raw response payload returned by the HubSpot MCP tool."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot MCP tool response."
      }
    },
    {
      "id": "hubspot.submit_feedback",
      "service": "hubspot",
      "name": "submit_feedback",
      "description": "Send feedback about the HubSpot MCP server experience to HubSpot.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "feedback": {
            "type": "string",
            "minLength": 1,
            "description": "Feedback text to send to HubSpot."
          }
        },
        "additionalProperties": true,
        "description": "The input payload for this action. Unknown fields are passed through to the HubSpot MCP tool."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "result": {
            "description": "Raw response payload returned by the HubSpot MCP tool."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot MCP tool response."
      }
    },
    {
      "id": "hubspot.update_company",
      "service": "hubspot",
      "name": "update_company",
      "description": "Update a HubSpot company by record ID or by a custom idProperty value.",
      "requiredScopes": [
        "hubspot.companies.write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "minLength": 1,
            "description": "HubSpot record identifier."
          },
          "idProperty": {
            "type": "string",
            "minLength": 1,
            "description": "Alternate unique property name that should resolve recordId."
          },
          "properties": {
            "type": "object",
            "additionalProperties": {
              "description": "HubSpot property value."
            },
            "description": "HubSpot properties keyed by property name."
          }
        },
        "additionalProperties": false,
        "required": [
          "recordId",
          "properties"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "HubSpot record identifier."
              },
              "archived": {
                "type": "boolean",
                "description": "Whether the record is archived."
              },
              "createdAt": {
                "type": "string",
                "description": "Timestamp when the record was created."
              },
              "updatedAt": {
                "type": "string",
                "description": "Timestamp when the record was last updated."
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property value."
                },
                "description": "HubSpot properties keyed by property name."
              },
              "propertiesWithHistory": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property history payload."
                },
                "description": "HubSpot property histories keyed by property name."
              },
              "associations": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Associations returned by HubSpot when requested."
              }
            },
            "additionalProperties": true,
            "description": "HubSpot CRM record returned by the MCP server."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot company update result."
      }
    },
    {
      "id": "hubspot.update_contact",
      "service": "hubspot",
      "name": "update_contact",
      "description": "Update a HubSpot contact by record ID or by a custom idProperty value.",
      "requiredScopes": [
        "hubspot.contacts.write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "minLength": 1,
            "description": "HubSpot record identifier."
          },
          "idProperty": {
            "type": "string",
            "minLength": 1,
            "description": "Alternate unique property name that should resolve recordId."
          },
          "properties": {
            "type": "object",
            "additionalProperties": {
              "description": "HubSpot property value."
            },
            "description": "HubSpot properties keyed by property name."
          }
        },
        "additionalProperties": false,
        "required": [
          "recordId",
          "properties"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "HubSpot record identifier."
              },
              "archived": {
                "type": "boolean",
                "description": "Whether the record is archived."
              },
              "createdAt": {
                "type": "string",
                "description": "Timestamp when the record was created."
              },
              "updatedAt": {
                "type": "string",
                "description": "Timestamp when the record was last updated."
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property value."
                },
                "description": "HubSpot properties keyed by property name."
              },
              "propertiesWithHistory": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property history payload."
                },
                "description": "HubSpot property histories keyed by property name."
              },
              "associations": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Associations returned by HubSpot when requested."
              }
            },
            "additionalProperties": true,
            "description": "HubSpot CRM record returned by the MCP server."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot contact update result."
      }
    },
    {
      "id": "hubspot.update_deal",
      "service": "hubspot",
      "name": "update_deal",
      "description": "Update a HubSpot deal by record ID or by a custom idProperty value.",
      "requiredScopes": [
        "hubspot.deals.write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "minLength": 1,
            "description": "HubSpot record identifier."
          },
          "idProperty": {
            "type": "string",
            "minLength": 1,
            "description": "Alternate unique property name that should resolve recordId."
          },
          "properties": {
            "type": "object",
            "additionalProperties": {
              "description": "HubSpot property value."
            },
            "description": "HubSpot properties keyed by property name."
          }
        },
        "additionalProperties": false,
        "required": [
          "recordId",
          "properties"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "HubSpot record identifier."
              },
              "archived": {
                "type": "boolean",
                "description": "Whether the record is archived."
              },
              "createdAt": {
                "type": "string",
                "description": "Timestamp when the record was created."
              },
              "updatedAt": {
                "type": "string",
                "description": "Timestamp when the record was last updated."
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property value."
                },
                "description": "HubSpot properties keyed by property name."
              },
              "propertiesWithHistory": {
                "type": "object",
                "additionalProperties": {
                  "description": "Property history payload."
                },
                "description": "HubSpot property histories keyed by property name."
              },
              "associations": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Associations returned by HubSpot when requested."
              }
            },
            "additionalProperties": true,
            "description": "HubSpot CRM record returned by the MCP server."
          }
        },
        "additionalProperties": false,
        "description": "HubSpot deal update result."
      }
    }
  ]
}
