crmport について
crmportは、HubSpot CRMレコードを管理するコマンドラインツール兼stdio MCPサーバーです。中核となるオブジェクト、プロパティ、所有者、関連付けを扱い、単件操作と一括操作に対応します。
主な機能
- 01CRMオブジェクトの一覧表示と検索
- 02レコードの取得、作成、更新、アーカイブ
- 03オブジェクトの一括作成
- 04プロパティ定義と所有者の確認
- 05オブジェクト関連付けの取得と作成
活用シーン
- 01フィルター条件によるHubSpotレコードの検索
- 02CRMレコードの更新やアーカイブ
- 03レコードの単件作成または一括作成
- 04所有者、プロパティ、オブジェクト間の関連の確認
MCP 対応
stdio MCPサーバーとして動作し、HubSpot CRMのオブジェクト、プロパティ、所有者、関連付けを扱うツールをMCPクライアントに公開します。HubSpotのプライベートアプリ用アクセストークンが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
12掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| after | string | いいえ | 次のページを取得するための、前ページのレスポンスに含まれるページネーションカーソル。 |
| limit | number | いいえ | 1 ページで返すオブジェクト数の上限。 |
| objectType | string | はい | 一覧表示する CRM オブジェクトの型(コンタクト、会社、取引、チケットなど)。 |
| properties | array | いいえ | 一覧表示する各オブジェクトで返すプロパティ名。 |
詳細
crmport
crmport は、HubSpot CRM ポータル向けの小さなワークベンチです。API と同じ考え方で CRM を扱います。つまり、コンタクト、会社、取引、チケットなど、すべてがオブジェクトであり、オブジェクトタイプと ID で識別され、自由形式のプロパティマップを持ちます。この考え方に基づき、crmport はページネーションを使ったオブジェクト一覧の取得、HubSpot のフィルターグループによる検索、オブジェクトの個別または一括での読み取り、作成、更新、アーカイブ、タイプごとのプロパティ定義の確認、レコードを所有できるオーナーの検索、さらにオブジェクト同士を結び付ける関連付けの読み取りと作成を行います。1 つのバイナリで、コマンドラインインターフェースと 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、呼び出し失敗時(HUBSPOT_ACCESS_TOKEN の未設定や API エラーを含む)は 1、使用方法の誤りは 2 です。
MCP サーバー
1 つのバイナリで両方の機能を提供します。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_objects | objectType(必須)、limit、after、properties(任意) | 指定したタイプの CRM オブジェクトの 1 ページ分。 |
hubspot_search_objects | objectType、filterGroups(必須)、properties、limit、after、sorts(任意) | フィルターグループに一致するオブジェクト。 |
hubspot_get_object | objectType、objectId(必須)、properties(任意) | 単一のオブジェクト。 |
hubspot_create_object | objectType、properties(必須)、associations(任意) | 作成されたオブジェクト。 |
hubspot_update_object | objectType、objectId、properties(必須) | 更新されたオブジェクト。 |
hubspot_delete_object | objectType、objectId(必須) | アーカイブの受領情報。HubSpot の削除操作では、オブジェクトはごみ箱に移動します。 |
hubspot_batch_create_objects | objectType、inputs(必須) | 一括作成の結果。 |
hubspot_list_properties | objectType(必須) | 指定したタイプのプロパティ定義。 |
hubspot_get_owner | ownerId(必須) | オーナーレコード。 |
hubspot_list_owners | limit、after(任意) | オーナーの 1 ページ分。 |
hubspot_list_associations | objectType、objectId、toObjectType(必須)、limit、after(任意) | オブジェクトから別のタイプへの関連付け。 |
hubspot_create_association | objectType、objectId、toObjectType、toObjectId(必須)、associationTypeId(任意) | 作成された関連付け。 |
オブジェクトの読み取りと書き込みには、https://api.hubapi.com/crm/v3/objects/{objectType} 以下の CRM v3 エンドポイントを使用します。プロパティは /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 を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。