HubSpot的MCP实施:连接AI代理与CRM系统
背景介绍
Model Context Protocol(MCP)是一个开源协议,用于将AI代理连接到外部系统,最初由Anthropic开发。HubSpot作为客户关系管理(CRM)平台,决定构建自己的MCP服务器来集成AI功能。
技术决策与实施
为什么选择自建而非购买
HubSpot评估了多种选项,包括Cloudflare等现成解决方案,但最终决定自建的主要原因:
- 集成需求:需要与现有的企业RPC系统协同工作
- 开发速度:自建方案能更快交付核心客户价值
- 认证要求:MCP协议本身缺乏完整的认证机制
- 技术栈匹配:扩展Java MCP SDK以支持HTTP流协议
技术架构细节
服务器实现:
- 基于Java MCP SDK进行扩展
- 使用Dropwizard微服务框架
- 支持可流式传输的HTTP传输协议
- 采用短生命周期的HTTP请求,无状态设计
认证与权限:
- 实现OAuth 2.0协议进行用户认证
- 将用户权限映射到HubSpot席位和层级
- 创建MCP工具注解系统,简化RPC Java方法描述
开发挑战与解决方案
协议不成熟:
- 早期规范缺乏完整的认证支持
- 不同实现之间的命名约定不一致(Snake case vs Camel case)
- 使用Claude Code生成模板代码,加速开发
远程服务器复杂性:
- 需要决定微服务架构和技术选型
- 考虑长连接与短连接的管理策略
- 最终选择短HTTP请求以匹配现有技术栈
实际应用场景
现有MCP服务器
HubSpot目前运行两个远程MCP服务器:
- 核心API服务器:暴露原始API,包括CRM搜索API(联系人、公司、交易)
- OpenAI专用连接器:具有搜索和获取组件的特定MCP规范
内部使用案例
- 测试数据生成:产品经理使用本地MCP服务器生成符合行业需求的交易和客户测试数据
- 模式生成:通过连接MCP服务器到Claude Code自动生成模式
- 日常工作:内部广泛使用AI工具,采用率高达70-80%
未来展望
MCP协议演进
- MCP仍需发展为完整的代理到代理协议
- 需要适应更多用例和代理场景
- 关注Google的A2A协议发展及其与MCP的协同
HubSpot的规划
- 继续扩展MCP服务器能力
- 开发更多本地和远程MCP服务器
- 将MCP作为代理互操作的基础设施
- 通过开源贡献回馈社区
技术影响
MCP正在改变编程方式和工具生态:
- 加速从规范到模板版本的开发过程
- 使代理能够发现和使用经过验证的MCP服务器
- 为AI代理提供感知层,即使没有暴露API也能通过界面交互
HubSpot的实践表明,MCP协议虽然仍在发展,但已成为AI时代连接代理与外部系统的重要标准,为企业级AI集成提供了可行路径。