HubSpot如何构建MCP服务器实现AI代理集成

news/2025/11/9 19:23:41/文章来源:https://www.cnblogs.com/qife122/p/19204724

HubSpot的MCP实现:CRM公司的AI代理集成实践

技术背景与决策过程

Model Context Protocol(MCP)是一个用于连接AI代理与外部系统的开源协议,最初由Anthropic开发。HubSpot选择构建自己的MCP服务器而非使用现成解决方案,主要基于以下技术考量:

技术架构决策因素:

  • 需要与现有企业RPC系统无缝集成
  • 要求支持OAuth 2.0认证协议
  • 需要快速交付核心客户价值(4周内完成OpenAI连接器)
  • 75%的客户使用ChatGPT,需优先考虑用户体验

技术实现细节

服务器架构选择

HubSpot构建了两个远程MCP服务器和一个本地服务器:

  • 核心API服务器:基于现有REST API构建,暴露CRM搜索API(联系人、公司、交易数据)
  • OpenAI专用连接器:使用特定的MCP规范,包含搜索和获取组件

技术栈与实现方式

// 使用Java MCP SDK进行扩展
// 支持可流式传输的HTTP传输协议
// 基于Dropwizard微服务框架构建

关键实现挑战:

  • 认证协议实现:MCP原生缺乏完整的认证支持
  • 数据格式标准化:Snake case与Camel case的不一致性
  • 远程服务器状态管理:无状态设计与长连接权衡

系统集成方案

  • 创建MCP网关,自动发现跨服务工具
  • 实现注解系统,简化RPC Java方法描述
  • 使用Claude Code生成模板代码,加速开发过程
  • 集成OAuth范围管理和用户权限映射

性能与扩展性考虑

当前架构特点:

  • 采用短时HTTP请求,无状态设计
  • 只读操作,避免数据写入风险
  • 与现有微服务架构深度集成
  • 支持大规模用户权限管理

开发经验与最佳实践

技术决策洞察

  • MCP协议实现相对简单,但远程服务器构建更具挑战性
  • 选择自建而非采购,便于与现有技术栈集成
  • 积极参与开源社区,向Java MCP SDK贡献代码

工具使用策略

  • 内部AI工具采用率高达70-80%
  • 使用Claude Code加速代码生成和模式创建
  • 本地MCP服务器用于测试数据生成和演示场景

未来技术规划

发展方向:

  • 探索代理到代理(A2A)协议集成
  • 扩展MCP服务器支持更多使用场景
  • 加强工具发现和注册服务
  • 继续推进开源技术贡献

通过MCP协议的实现,HubSpot成功将传统CRM系统与现代化AI代理能力相结合,为客户提供了更智能的数据访问和业务操作体验。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/960671.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSP-S 2025 趋势记

有个人 CSP-S 寄飞了,我不说是谁。感觉模拟赛也没啥动力打了。 T1 写了 \(10\) min 切了,非常自信。T2 写了 \(30\) min 被卡成 \(80\) 了,趋势。 然后开始传统艺能发呆,T3 看半天看错题了,看成可以替换无限次了,…

苹果手机iOS15.8.2 – 16.7.8最新越狱方法

支持设备 越狱支持所有 A9-A11 片上系统 (SoC)。您可以在下面找到兼容的 Palera1n 越狱 iPhone 和 iPad 的实际列表。越狱经过测试,可以在运行 iOS 15 的 iPhone X (GSM)、iPhone 8、iPhone 7 和 iPhone 6s上运行和工…

威联通NAS部署umami - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

后端八股之Redis - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

AGC052 VP 记录

场切 \(0\) 道题,被猜性质猜结论题气笑了. A 后来回想起来,这个题好像确实在北京集训讲过. 有 \(4\) 种合法的构造:\(0\overbrace{1\cdots1}^{n个} \overbrace{0\cdots0}^{n个}\),\(1\overbrace{0\cdots0}^{n个} \…

结合400行mini-react代码,图文解说React原理

引言: 在我学习React原理的时候,一上来看的非常全而细节的书/博客(头大),或者是看的教你实现一个简单mini-react(还是一知半解),最终学的痛苦又效果不好。所以,写了这篇博客,希望能帮助您入门React原理。此外…

UE:告别加载卡顿!一键合并StaticMeshActor方案

© mengzhishanghun 原创文章 首发于 博客园 禁止未经授权转载前言 大型UE场景打包后首次加载时,经常遇到长时间卡顿甚至假死现象。究其原因,成百上千个独立的StaticMeshActor在序列化、实例化时产生了巨大开销…

在Visual Studio使用Qt的插件机制进行开发 - 指南

在Visual Studio使用Qt的插件机制进行开发 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas",…

摸鱼笔记[2]-提取windows已安装的驱动

使用`DriverStoreExplorer`提取windows已安装的海康相机.inf驱动文件.摘要 使用DriverStoreExplorer提取windows已安装的海康相机.inf驱动文件. 实现 [https://github.com/lostindark/DriverStoreExplorer] Driver Sto…

CF2013D 题解

提供一个二分做法。 因为当 \(a_i > a_{i + 1}\) 是做操作是不劣的,所以最终 \(a\) 一定单调不降。那么我们二分一个最小的 \(\max(a_i)\) 和最大的 \(\min(a_i)\),答案就是 \(\max(a_i) - \min(a_i)\)。 下面说一…

题解:AT_agc068_a [AGC068A] Circular Distance

牛牛题,看了很多次才看懂 题意:给出 \(L,n\),问在一个 \(L\) 长的环上,放置 \(n\) 个点,定义两点距离为两种路径中长度较短的长度,问所有放置方式的点的距离最大值之和。 做法: 首先先强制选定 \(0\) 号点,最后…

P14461 题解

消一消元: \[\begin{aligned}F_i&= G_{i - 1} + G_{i - 1} \\&= F_{i - 2} - F_{i - 2} + F_{i - 2} - F_{i - 2} \\&= F_{i - 2} - F_{i - 2} \end{aligned} \]类似的: \[G_i = G_{i - 2} - G_{i - 2} …

Nim 游戏与 SG 函数

已完成今日《Nim 游戏与 SG 函数》大学习。 本文比较基础,并未涉及到各种各样的 Nim 游戏,因为笔者比较菜。 1. 公平组合游戏 定义一个游戏为公平组合游戏,当且仅当:双方都知道当前局面的所有信息。 每一步的操作与…

题解:Luogu P11114 [ROI 2024] 小推车 (Day 1)

题意 有一排编号为 \(1\sim n\) 的座位。有 \(k\) 种饮料,第 \(i\) 名乘客想要喝第 \(a_i\) 种饮料。小推车需要从 \(0\) 位置出发,最终走到 \(n+1\) 位置,按顺序给每名乘客分饮料。推车上有 \(m\) 个瓶子,每个瓶子…

摸鱼笔记[1]-windows设置双网卡优先级(跃点数)

windows系统通过设置跃点数以设置双网卡优先级, 实现工控局域网网卡和互联网网卡各司其职, 电脑同时访问局域网和互联网.摘要 windows系统通过设置跃点数以设置双网卡优先级, 实现工控局域网网卡和互联网网卡各司其职,…

NXP - 用MDK建立基于arm-none-eabi软件链的工程框架

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

用 OKHttp 和 Retrofit 打造稳如磐石的网络请求:连接池与重试机制的实战指南 - 教程

用 OKHttp 和 Retrofit 打造稳如磐石的网络请求:连接池与重试机制的实战指南 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; f…