使用说明
HubSpot MCP服务器
一个模型上下文协议(MCP)服务器,可与HubSpot CRM无缝集成。该服务器使Claude等人工智能助手能够与您的HubSpot数据交互,从而高效管理联系人、公司、交易等。
🚀 特性
- 联系人管理:在HubSpot中创建、阅读、更新和搜索联系人
- 公司管理:管理公司记录和信息
- 交易管理:跟踪和更新销售机会
- 电子邮件集成:发送电子邮件并跟踪参与情况(需要设置)
- 类型安全:使用TypeScript构建,以获得更好的开发体验
- 综合测试:包括单元测试和集成示例
- 轻松设置:使用环境变量进行简单配置
📋 可用工具
联系人
get_contacts-检索联系人列表get_contact-通过ID获取特定联系人create_contact-创建新联系人update_contact-更新现有联系人search_contacts-搜索联系人
公司
get_companies-检索公司列表get_company-通过ID获取特定公司create_company-创建新公司update_company-更新现有公司
交易
get_deals-检索交易列表get_deal-按ID获取特定交易create_deal-创建新交易update_deal-更新现有交易
电子邮件
send_email-通过HubSpot发送电子邮件(需要营销电子邮件API)get_email_events-获取电子邮件参与数据(需要事件API)
🛠️ 先决条件
- Node.js 18+和npm
- 具有API访问权限的HubSpot帐户
- HubSpot API密钥或OAuth凭据
📦 安装
-
克隆存储库:
git clone https://github.com/yourusername/hubspot-mcp-server.git cd hubspot-mcp-server -
安装依赖项:
npm install -
配置环境变量:
cp .env.example .env编辑
.env使用您的HubSpot凭据:HUBSPOT_API_KEY=your_hubspot_api_key_here # OR use OAuth (if you prefer) HUBSPOT_CLIENT_ID=your_client_id HUBSPOT_CLIENT_SECRET=your_client_secret HUBSPOT_ACCESS_TOKEN=your_access_token -
构建项目:
npm run build
🔧 获取HubSpot API凭据
选项1:API密钥(建议用于测试)
- 转到HubSpot设置→ 集成→ API密钥
- 生成新的API密钥
- 将其添加到您的
.env文件为HUBSPOT_API_KEY
选项2:OAuth应用程序(建议用于生产环境)
- 转到HubSpot开发人员帐户→ Apps
- 创建新应用程序
- 记下您的客户端ID和客户端密码
- 配置OAuth重定向类型
- 将凭据添加到您的
.env文件
🚀 用法
使用克劳德桌面
-
配置Claude桌面 通过添加到MCP设置中:
{ "mcpServers": { "hubspot": { "command": "node", "args": ["dist/index.js"], "cwd": "/path/to/hubspot-mcp-server", "env": { "HUBSPOT_API_KEY": "your_api_key_here" } } } } -
重新启动克劳德桌面
-
开始使用HubSpot工具 克劳德:
- “显示我最近的联系人”
- “通过电子邮件为John Doe创建新联系人john@example.com"
- “搜索技术行业的公司”
直接使用
您也可以直接运行服务器:
npm start
或者用于自动重新加载的开发:
npm run dev
🧪 测试
运行测试套件:
npm test
在监视模式下运行测试:
npm run test:watch
运行服务器的手动测试:
npm run dev
# In another terminal:
node tests/test-server.js
📖 示例
创建联系人
// Using the MCP tool
{
"tool": "create_contact",
"arguments": {
"email": "jane.doe@example.com",
"firstname": "Jane",
"lastname": "Doe",
"phone": "+1-555-123-4567",
"company": "Example Corp",
"lifecyclestage": "lead"
}
}
搜索公司
// This would be handled automatically by Claude when you ask:
// "Find all companies in the software industry"
{
"tool": "get_companies",
"arguments": {
"limit": 20,
"properties": ["name", "domain", "industry", "city", "state"]
}
}
🏗️ 发展
项目结构
src/
├── index.ts # Main MCP server
├── services/
│ └── hubspot.ts # HubSpot API wrapper
├── tools/
│ ├── base.ts # Base tool class
│ ├── contacts.ts # Contact management tools
│ ├── companies.ts # Company management tools
│ ├── deals.ts # Deal management tools
│ └── emails.ts # Email tools
└── types/
└── index.ts # Type definitions
tests/
├── setup.ts # Test configuration
├── hubspot.service.test.ts
├── contacts.tool.test.ts
└── test-server.ts # Manual testing script
添加新工具
- 创建一个新的工具类来扩展
BaseTool - 实施
getTools()和executeTool()方法 - 在中注册该工具
src/index.ts - 为新工具添加测试
代码的风格
此项目使用启用严格模式的TypeScript。确保:
- 使用正确的类型注释
- 遵循现有的命名约定
- 为公共方法添加JSDoc注释
- 为新功能编写测试
🔒 安全考虑
- API密钥:从不将API密钥提交到版本控制
- 环境变量:使用
.env本地开发文件 - 生产:在生产中使用适当的秘密管理
- 速率限制:注意HubSpot API费率限制
- 权限:仅请求必要的HubSpot示波器
📚 资源
🤝 贡献
- 分叉存储库
- 创建要素分支:
git checkout -b feature/amazing-feature - 提交您的更改:
git commit -m 'Add amazing feature' - 推到分支:
git push origin feature/amazing-feature - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🐛 故障排除
常见问题
“找不到API密钥”错误:
- 确保您的
.env文件配置正确 - 检查API密钥是否有效并具有必要的权限
“找不到模块”错误:
- 跑
npm install确保所有依赖项都已安装 - 跑
npm run build编译TypeScript
速率限制错误:
- HubSpot有API费率限制。为生产使用实施适当的重试逻辑
- 考虑对失败的请求使用指数回退
连接超时:
- 检查您的互联网连接
- 验证HubSpot服务状态
如需更多帮助,请 打开一个问题.
🚀 部署
生产注意事项
- 环境变量:使用适当的秘密管理系统
- 日志记录:配置适当的日志级别
- 监控:建立健康检查和监测
- 扩展:考虑对高容量使用进行速率限制和缓存
Docker支持(即将推出)
Docker支持将在未来的版本中添加,以便于部署。
内置于❤️ HubSpot和人工智能社区