mcpField
C
crmport

crmport

本地服务
github.com/CloudCorpRecords商业与营销02 周前更新

关于 crmport

crmport 是用于管理 HubSpot CRM 记录的命令行工具和 stdio MCP 服务,涵盖核心对象、属性、所有者及关联,并支持单条和批量操作。

主要功能

  1. 01列出和搜索 CRM 对象
  2. 02读取、创建、更新及归档记录
  3. 03批量创建对象
  4. 04查看属性定义和所有者
  5. 05读取和创建对象关联

适用场景

  1. 01按筛选条件查找 HubSpot 记录
  2. 02更新或归档 CRM 记录
  3. 03单条或批量创建记录
  4. 04查看所有者、属性及对象关联

MCP 相关

它可作为 stdio MCP 服务运行,向 MCP 客户端提供 HubSpot CRM 对象、属性、所有者和关联相关工具。需要 HubSpot 私有应用访问令牌。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-crmport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/crmport"
]
}
}
}
启动命令npx -y @reneturcios/crmport

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/crmport0.1.0
ocighcr.io/cloudcorprecords/crmport:0.1.0

工具

12

收录的工具列表 · 更新于 1 周前

参数类型必填说明
afterstring否用于获取下一页的上一页响应中的分页游标。
limitnumber否每页返回的对象数上限。
objectTypestring是要列出的 CRM 对象类型,例如联系人、公司、交易或工单。
propertiesarray否要为每个列出的对象返回的属性名称。

详细介绍

crmport

crmport 是一个用于 HubSpot CRM 门户的小型工作台。它像 API 一样处理 CRM:所有内容都是对象——联系人、公司、交易、工单——由对象类型和 ID 标识,并携带自由格式的属性映射。基于这一理念,crmport 可以分页列出对象, 使用 HubSpot 筛选组搜索对象,逐个或批量读取、创建、更新和归档对象, 查看某种类型的属性定义,查找可持有记录的所有者,以及读取或创建 连接不同对象的关联。一个二进制文件同时提供命令行 界面和 stdio MCP 服务。

需要 HubSpot 私有应用访问令牌。将其放入 HUBSPOT_ACCESS_TOKEN 环境变量中;该令牌会作为 Authorization: Bearer 标头发送到 API,且绝不会出现在输出中。若 未设置此变量,每次调用都会返回指出该变量名称的错误,且不会发送任何请求。

这是 HubSpot 平台的核心子集:CRM 对象、 属性、所有者和关联。本工具不支持文件、表单、营销电子邮件、 博客和 CMS 内容、自定义对象架构创建、工作流以及 OAuth 应用管理。

安装

npx @reneturcios/crmport list contacts --limit 10

或者运行容器镜像:

docker run -i -e HUBSPOT_ACCESS_TOKEN ghcr.io/cloudcorprecords/crmport

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

CLI

export HUBSPOT_ACCESS_TOKEN=<redacted>

crmport list contacts --limit 25 --properties firstname,email
crmport search contacts '[{"filters":[{"propertyName":"lastname","operator":"EQ","value":"Smith"}]}]'
crmport get contacts 12345
crmport create deals '{"dealname":"New deal","amount":"5000"}'
crmport update deals 67890 '{"amount":"7500"}'
crmport delete tickets 11111
crmport batch-create companies '[{"properties":{"name":"Acme"}}]'
crmport properties contacts
crmport owner 22222
crmport owners --limit 10
crmport associations contacts 12345 companies
crmport associate contacts 12345 companies 99999 --type-id 1

crmport --version

每条命令都会输出上游 JSON 负载。退出码:成功时为 0, 调用失败时为 1(包括缺少 HUBSPOT_ACCESS_TOKEN 或 API 错误),用法错误时为 2。

MCP 服务

一个二进制文件提供这两种用法。mcp 子命令会启动 stdio MCP 服务:

npx -y @reneturcios/crmport mcp

MCP 客户端配置:

{
  "mcpServers": {
    "crmport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/crmport", "mcp"],
      "env": { "HUBSPOT_ACCESS_TOKEN": "pat-..." }
    }
  }
}
工具
工具输入返回内容
hubspot_list_objectsobjectType(必填)、limit、after、properties(可选)该类型的一页 CRM 对象。
hubspot_search_objectsobjectType、filterGroups(必填)、properties、limit、after、sorts(可选)符合筛选组条件的对象。
hubspot_get_objectobjectType、objectId(必填)、properties(可选)单个对象。
hubspot_create_objectobjectType、properties(必填)、associations(可选)创建的对象。
hubspot_update_objectobjectType、objectId、properties(必填)更新后的对象。
hubspot_delete_objectobjectType、objectId(必填)归档回执;HubSpot 的删除操作会将对象移至回收站。
hubspot_batch_create_objectsobjectType、inputs(必填)批量创建结果。
hubspot_list_propertiesobjectType(必填)该类型的属性定义。
hubspot_get_ownerownerId(必填)所有者记录。
hubspot_list_ownerslimit、after(可选)一页所有者。
hubspot_list_associationsobjectType、objectId、toObjectType(必填)、limit、after(可选)从该对象指向另一类型对象的关联。
hubspot_create_associationobjectType、objectId、toObjectType、toObjectId(必填)、associationTypeId(可选)创建的关联。

对象的读取和写入使用 CRM v3 端点 https://api.hubapi.com/crm/v3/objects/{objectType};属性位于 /crm/v3/properties/{objectType} 下,所有者位于 /crm/v3/owners 下。关联使用 /crm/v4/objects/{objectType}/{id}/associations/{toObjectType} 下的 v4 端点。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

许可证

MIT — 详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。