HubSpot如何用4周构建MCP服务器连接AI代理与CRM

HubSpot产品副总裁Karen Ng分享如何在4周内基于Model Context Protocol构建远程MCP服务器,将CRM系统与AI代理连接,探讨协议实现挑战、认证方案选择及与现有技术栈集成经验。

HubSpot的MCP实现:CRM公司的AI代理连接实践

背景介绍

HubSpot是一家客户关系管理(CRM)平台,旨在帮助企业实现增长。Model Context Protocol(MCP)是Anthropic开发的开源协议,用于连接AI代理与外部系统。

为何选择MCP

标准化的必要性

在云计算时代,REST API因微服务间通信需求而兴起。在AI时代,尚未出现统一协议。MCP提供了代理、上下文和工具间数据传输的协议标准。

转折点

当OpenAI采纳MCP后,48小时内微软、Google等主要厂商纷纷跟进。这促使HubSpot团队开始原型开发,理解协议并适配现有API。

实现挑战

协议不完善

  • 认证机制缺失:MCP原生缺乏OAuth等认证协议支持
  • 范围管理:权限范围定义不明确
  • 代理间协议:完整的代理到代理协议尚未完善

技术决策

HubSpot评估了构建与购买选项,最终决定基于Java MCP SDK自行开发,原因包括:

  1. 需要与现有企业RPC系统集成
  2. 扩展Java MCP SDK支持HTTP流协议
  3. 认证要求:确保用户只能访问授权的CRM数据

架构实现

服务器类型

HubSpot实现了两个远程MCP服务器和一个本地服务器:

  1. 核心API服务器:暴露原始API,基于现有REST API构建
  2. OpenAI专用连接器:具有搜索和获取组件的MCP规范

技术栈

  • 基于Dropwizard微服务架构
  • 扩展Java MCP SDK支持可流式HTTP传输
  • 使用短时HTTP请求而非长连接,确保无状态设计
  • 创建MCP工具注解系统,简化RPC Java方法描述

认证集成

  • 采用OAuth 2.0协议(当时Anthropic的MCP规范支持OAuth 2.1)
  • 映射用户权限到HubSpot席位和层级
  • 实现自动发现工具的服务

开发效率

快速交付

连接器在4周内完成开发,成为首个提供此功能的CRM连接器。使用Claude Code生成模板代码,加速开发过程。

实施难度

  • MCP实现相对简单:规范易于遵循,已有100多个第三方HubSpot MCP实现
  • 远程服务器更具挑战:需考虑微服务架构、技术选型、有状态/无状态设计

实际应用

客户用例

客户能够查询:“过去90天内所有新联系人和公司,分析其所属领域并识别转化率最高的群体”

内部使用

  • 产品经理使用本地MCP服务器生成测试数据和演示数据
  • 工程团队采用率高达70-80%
  • 连接Claude Code生成模式定义

未来展望

MCP发展

  • 代理到代理协议仍需完善
  • Google的A2A协议已捐赠给Linux基金会,可能成为开放标准

HubSpot规划

  • 开发更多MCP服务器支持不同场景
  • 构建MCP客户端发现和注册服务
  • 让代理能够互操作其他工具

经验总结

开源使进展更快,HubSpot能够在4周内构建连接器,得益于Java MCP SDK的存在和贡献回馈。MCP正在改变编程方式和可用工具,成为代理互操作的基础设施。

通过满足用户需求,HubSpot成为首个提供MCP服务器和OpenAI连接器的CRM平台,为客户创造新的价值可能。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计