HubSpot MCP Server

HubSpot MCP Server

镜子 (jìng zi)

MCP-Mirror

开发者工具
访问服务器

README

HubSpot MCP 服务器

TypeScript HubSpot API MCP SDK License: MIT

一个强大的模型上下文协议 (MCP) 服务器实现,用于无缝的 HubSpot CRM 集成,使 AI 助手能够与您的 HubSpot 数据交互。

概述

此 MCP 服务器提供了一套全面的工具,用于与 HubSpot CRM API 交互,允许 AI 助手:

  • 在您的 HubSpot CRM 中创建和管理联系人和公司
  • 检索详细的公司活动历史记录和互动时间线
  • 访问整个 HubSpot 实例的最新互动数据
  • 获取最近活跃的公司和联系人列表
  • 无需离开 AI 助手界面即可执行 CRM 操作

为什么使用此 MCP 服务器?

  • 无缝 AI 集成:将您的 AI 助手直接连接到您的 HubSpot CRM 数据
  • 简化 CRM 操作:通过自然语言命令执行常见的 HubSpot 任务
  • 实时数据访问:从您的 HubSpot 实例获取最新信息
  • 安全身份验证:使用 HubSpot 的安全 API 令牌身份验证
  • 可扩展设计:根据需要轻松添加更多 HubSpot API 功能

安装

# 克隆存储库
git clone https://github.com/lkm1developer/hubspot-mcp-server.git
cd hubspot-mcp-server

# 安装依赖项
npm install

# 构建项目
npm run build

配置

服务器需要 HubSpot API 访问令牌。 您可以通过以下方式获取:

  1. 转到您的 HubSpot 开发者帐户
  2. 创建一个具有必要范围(联系人、公司、互动)的私有应用程序
  3. 复制生成的访问令牌

您可以通过两种方式提供令牌:

  1. 作为环境变量:

    HUBSPOT_ACCESS_TOKEN=your-access-token
    
  2. 作为命令行参数:

    npm start -- --access-token=your-access-token
    

对于开发,请在项目根目录中创建一个 .env 文件来存储您的环境变量:

HUBSPOT_ACCESS_TOKEN=your-access-token

用法

启动服务器

# 启动服务器
npm start

# 或使用特定的访问令牌
npm start -- --access-token=your-access-token

# 运行带有身份验证的 SSE 服务器
npx mcp-proxy-auth node dist/index.js

在 SSE 服务器中实现身份验证

SSE 服务器使用 mcp-proxy-auth 包进行身份验证。 要实现身份验证:

  1. 安装软件包:

    npm install mcp-proxy-auth
    
  2. AUTH_SERVER_URL 环境变量设置为指向您的 API 密钥验证端点:

    export AUTH_SERVER_URL=https://your-auth-server.com/verify
    
  3. 运行带有身份验证的 SSE 服务器:

    npx mcp-proxy-auth node dist/index.js
    
  4. SSE URL 将在以下位置可用:

    localhost:8080/sse?apiKey=apikey
    

    apikey 替换为您的实际 API 密钥以进行身份验证。

mcp-proxy-auth 包充当代理,它:

  • 拦截对您的 SSE 服务器的请求
  • 根据您的身份验证服务器验证 API 密钥
  • 仅允许经过身份验证的请求到达您的 SSE 端点

与 AI 助手集成

此 MCP 服务器旨在与支持模型上下文协议的 AI 助手一起使用。 运行后,服务器会公开一组工具,兼容的 AI 助手可以使用这些工具与您的 HubSpot CRM 数据进行交互。

可用工具

服务器公开了以下强大的 HubSpot 集成工具:

  1. hubspot_create_contact

    • 在 HubSpot 中创建一个新联系人,并进行重复检查
    • 参数:
      • firstname (string, required): 联系人的名字
      • lastname (string, required): 联系人的姓氏
      • email (string, optional): 联系人的电子邮件地址
      • properties (object, optional): 其他联系人属性,如公司、电话等。
    • 示例:
      {
        "firstname": "John",
        "lastname": "Doe",
        "email": "john.doe@example.com",
        "properties": {
          "company": "Acme Inc",
          "phone": "555-123-4567",
          "jobtitle": "Software Engineer"
        }
      }
      
  2. hubspot_create_company

    • 在 HubSpot 中创建一个新公司,并进行重复检查
    • 参数:
      • name (string, required): 公司名称
      • properties (object, optional): 其他公司属性
    • 示例:
      {
        "name": "Acme Corporation",
        "properties": {
          "domain": "acme.com",
          "industry": "Technology",
          "phone": "555-987-6543",
          "city": "San Francisco",
          "state": "CA"
        }
      }
      
  3. hubspot_get_company_activity

    • 获取特定公司的全面活动历史记录
    • 参数:
      • company_id (string, required): HubSpot 公司 ID
    • 返回详细的互动数据,包括电子邮件、电话、会议、笔记和任务
  4. hubspot_get_recent_engagements

    • 获取所有联系人和公司的最新互动活动
    • 参数:
      • days (number, optional, default: 7): 回溯的天数
      • limit (number, optional, default: 50): 要返回的最大互动次数
    • 返回所有最新 CRM 活动的按时间顺序排列的列表
  5. hubspot_get_active_companies

    • 从 HubSpot 获取最近活跃的公司
    • 参数:
      • limit (number, optional, default: 10): 要返回的最大公司数量
    • 返回按上次修改日期排序的公司
  6. hubspot_get_active_contacts

    • 从 HubSpot 获取最近活跃的联系人
    • 参数:
      • limit (number, optional, default: 10): 要返回的最大联系人数量
    • 返回按上次修改日期排序的联系人
  7. hubspot_update_contact

    • 更新 HubSpot 中现有的联系人(如果联系人不存在则忽略)
    • 参数:
      • contact_id (string, required): 要更新的 HubSpot 联系人 ID
      • properties (object, required): 要更新的联系人属性
    • 示例:
      {
        "contact_id": "12345",
        "properties": {
          "email": "updated.email@example.com",
          "phone": "555-987-6543",
          "jobtitle": "Senior Software Engineer"
        }
      }
      
  8. hubspot_update_company

    • 更新 HubSpot 中现有的公司(如果公司不存在则忽略)
    • 参数:
      • company_id (string, required): 要更新的 HubSpot 公司 ID
      • properties (object, required): 要更新的公司属性
    • 示例:
      {
        "company_id": "67890",
        "properties": {
          "domain": "updated-domain.com",
          "phone": "555-123-4567",
          "industry": "Software",
          "city": "New York",
          "state": "NY"
        }
      }
      

扩展服务器

服务器设计为易于扩展。 要添加新的 HubSpot API 功能:

  1. 将新方法添加到 src/hubspot-client.ts 中的 HubSpotClient
  2. src/index.ts 中的 setupToolHandlers 方法中注册新工具
  3. 使用 npm run build 重建项目

许可证

此项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。

关键词

HubSpot, CRM, 模型上下文协议, MCP, AI 助手, TypeScript, API 集成, HubSpot API, CRM 集成, 联系人管理, 公司管理, 互动跟踪, AI 工具

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript