crmport
Provides tools for interacting with a HubSpot CRM portal, including listing, searching, reading, creating, updating, and archiving CRM objects; batch-creating objects; inspecting property definitions; looking up owners; and listing or creating associations between objects.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
crmport
crmport is a small workbench for a HubSpot CRM portal. It treats the CRM the way the API does: everything is an object — a contact, a company, a deal, a ticket — identified by an object type and an ID, carrying a free-form map of properties. From that one idea crmport lists objects with paging, searches them with HubSpot filter groups, reads, creates, updates, and archives them one at a time or in a batch, inspects the property definitions for a type, looks up the owners who can hold records, and reads or creates the associations that connect one object to another. One binary serves a command-line interface and a stdio MCP server.
A HubSpot private-app access token is required. Put it in the
HUBSPOT_ACCESS_TOKEN environment variable; it is sent to the API as
an Authorization: Bearer header and never appears in output. When
the variable is missing, every call fails with an error that names
it, before any request is made.
This is a core subset of the HubSpot platform: CRM objects, properties, owners, and associations. Files, forms, marketing email, blogs and CMS content, custom object schema creation, workflows, and OAuth app management are not part of this tool.
Install
npx @reneturcios/crmport list contacts --limit 10Or run the container image:
docker run -i -e HUBSPOT_ACCESS_TOKEN ghcr.io/cloudcorprecords/crmportThe container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.
Related MCP server: hubspot-mcp
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 --versionEach command prints the upstream JSON payload. Exit codes: 0 on
success, 1 when a call fails (including a missing
HUBSPOT_ACCESS_TOKEN or an API error), 2 for usage errors.
MCP server
One bin serves both faces. The mcp subcommand starts a stdio MCP
server:
npx -y @reneturcios/crmport mcpMCP client configuration:
{
"mcpServers": {
"crmport": {
"command": "npx",
"args": ["-y", "@reneturcios/crmport", "mcp"],
"env": { "HUBSPOT_ACCESS_TOKEN": "pat-..." }
}
}
}Tools
Tool | Input | What it returns |
|
| A page of CRM objects of that type. |
|
| Objects matching the filter groups. |
|
| The single object. |
|
| The created object. |
|
| The updated object. |
|
| An archive receipt; HubSpot's delete moves the object to the recycle bin. |
|
| The batch creation results. |
|
| Property definitions for the type. |
|
| The owner record. |
|
| A page of owners. |
|
| Associations from the object to the other type. |
|
| The created association. |
Object reads and writes use the CRM v3 endpoints under
https://api.hubapi.com/crm/v3/objects/{objectType}; properties live
under /crm/v3/properties/{objectType} and owners under
/crm/v3/owners. Associations use the v4 endpoints under
/crm/v4/objects/{objectType}/{id}/associations/{toObjectType}.
Development
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 tsxLicense
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
The HubSpot MCP Server acts as a bridge that enables AI assistants and Large Language Models to securely interact with HubSpot CRM data through natural conversation, without requiring users to understand complex API structures. It provides read-only access to standard CRM objects (contacts, companies, deals, tickets, products, invoices, and more) and their associations, secured via OAuth 2.0, allowing AI agents to perform tasks like summarizing deals, fetching company updates, and looking up record changes.
MCP server for the HubSpot Integrations Center HubDB: search and retrieve integration data.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
API-first CRM for LLMs - contacts, companies, deals and activities over a native MCP server.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables interaction with HubSpot CRM through MCP, providing tools to manage contacts, companies, deals, and search/associations via natural language.18506 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server for the HubSpot CRM API with tools for managing contacts, companies, deals, tickets, and CRM workflows. Generated with MCPForge. Sensitive operations can be protected with permissions, audit logs, and approval workflows.12 npmMIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that provides AI assistants with full access to HubSpot CRM. Manage contacts, companies, deals, pipelines, and associations directly from Claude, Cursor, or any MCP-compatible client.7 npmMIT
- AlicenseNot gradedqualityBmaintenanceHubSpot MCP server that enables browsing and searching contacts, companies, and deals in your HubSpot workspace.479 npmMIT