{"_id":"@arvoretech/hubspot-mcp","_rev":"5-9e46bd584be630502ff6aa1dd6e1c967","name":"@arvoretech/hubspot-mcp","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@arvoretech/hubspot-mcp","version":"1.0.0","keywords":["mcp","hubspot","crm","contacts","deals","companies","llm","ai","arvore"],"author":{"name":"Arvore"},"license":"MIT","_id":"@arvoretech/hubspot-mcp@1.0.0","maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"jott4","email":"jvgcunha2002@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"homepage":"https://github.com/arvoreeducacao/arvore-mcp-servers#readme","bugs":{"url":"https://github.com/arvoreeducacao/arvore-mcp-servers/issues"},"bin":{"hubspot-mcp":"dist/index.js"},"dist":{"shasum":"8109aa9805de0ff4cfcbbd98baa96d60080b29dc","tarball":"https://registry.npmjs.org/@arvoretech/hubspot-mcp/-/hubspot-mcp-1.0.0.tgz","fileCount":14,"integrity":"sha512-8mINbG0RiMmfcnjiviMVfE7PbQN//yqW/F/HDBSqIq2Ud6soUrqqDEFmHUAxEvY67r2hrUUEBKwCieDt11Xxxg==","signatures":[{"sig":"MEQCIB4XoagTR9LYOYwE3jcOZtt7uLc/INMlzYPzS3AY++/tAiAZVj7eYSiXCWwNNhGeXg99nwnEoAltN1r7W4O0enLNeg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84155},"main":"dist/index.js","type":"module","gitHead":"f047f840e87817a32a8b03353a3dc4f77c0bebee","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","start":"node dist/index.js","lint:fix":"eslint src/**/*.ts --fix","test:cov":"vitest run --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"jott4","email":"jvgcunha2002@gmail.com"},"repository":{"url":"git+https://github.com/arvoreeducacao/arvore-mcp-servers.git","type":"git","directory":"packages/hubspot"},"_npmVersion":"11.12.1","description":"HubSpot CRM MCP Server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^3.22.4","@modelcontextprotocol/sdk":"~1.22.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hubspot-mcp_1.0.0_1781116010972_0.9740545543769592","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@arvoretech/hubspot-mcp","version":"1.1.0","keywords":["mcp","hubspot","crm","contacts","deals","companies","llm","ai","arvore"],"author":{"name":"Arvore"},"license":"MIT","_id":"@arvoretech/hubspot-mcp@1.1.0","maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"jott4","email":"jvgcunha2002@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"homepage":"https://github.com/arvoreeducacao/arvore-mcp-servers#readme","bugs":{"url":"https://github.com/arvoreeducacao/arvore-mcp-servers/issues"},"bin":{"hubspot-mcp":"dist/index.js"},"dist":{"shasum":"c055bed85b342c175790b2250ea436143390a7f3","tarball":"https://registry.npmjs.org/@arvoretech/hubspot-mcp/-/hubspot-mcp-1.1.0.tgz","fileCount":16,"integrity":"sha512-2pJo/STfKP9UBRXiEgq+450rhdR9BvkOzRj60vGgLou8wC8t70wempR0rfFes8/VkyvdxFULs3x0cVXFkB+f/w==","signatures":[{"sig":"MEYCIQCvUhfprUjqMnVlYQhYpHrntQDhD8olupgh0dXcC1cOOQIhAL5LgNHD7GgPDr4z7BNIpk8LccCNdwH/YfaAAdSq5GdK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89425},"main":"dist/index.js","type":"module","gitHead":"f047f840e87817a32a8b03353a3dc4f77c0bebee","scripts":{"dev":"tsx src/index.ts","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","start":"node dist/index.js","lint:fix":"eslint src/**/*.ts --fix","test:cov":"vitest run --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"jott4","email":"jvgcunha2002@gmail.com"},"repository":{"url":"git+https://github.com/arvoreeducacao/arvore-mcp-servers.git","type":"git","directory":"packages/hubspot"},"_npmVersion":"11.12.1","description":"HubSpot CRM MCP Server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^3.22.4","@modelcontextprotocol/sdk":"~1.22.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hubspot-mcp_1.1.0_1781117619720_0.43883483070357276","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@arvoretech/hubspot-mcp","version":"1.2.0","description":"HubSpot CRM MCP Server","main":"dist/index.js","type":"module","publishConfig":{"access":"public"},"bin":{"hubspot-mcp":"dist/index.js"},"keywords":["mcp","hubspot","crm","contacts","deals","companies","llm","ai","arvore"],"author":{"name":"Arvore"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/arvoreeducacao/arvore-mcp-servers.git","directory":"packages/hubspot"},"dependencies":{"@modelcontextprotocol/sdk":"~1.22.0","zod":"^3.22.4"},"scripts":{"build":"tsc","dev":"tsx src/index.ts","start":"node dist/index.js","test":"vitest run","test:cov":"vitest run --coverage","lint":"eslint src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix"},"_id":"@arvoretech/hubspot-mcp@1.2.0","bugs":{"url":"https://github.com/arvoreeducacao/arvore-mcp-servers/issues"},"homepage":"https://github.com/arvoreeducacao/arvore-mcp-servers#readme","_integrity":"sha512-KFjQ1iGSaJw+URKCJA3DlPAMMBkwZKdf8DsDKy6aPV+NJIHKdOxkOMxUKSSl3tP3+ONLx0FtI/Um3PS31TEAtQ==","_resolved":"/private/var/folders/jz/cyn7yf6n7hj5br4zkg5d5_jh0000gn/T/d228932e3b9455f33e94da23ef3ae279/arvoretech-hubspot-mcp-1.2.0.tgz","_from":"file:arvoretech-hubspot-mcp-1.2.0.tgz","_nodeVersion":"24.17.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-KFjQ1iGSaJw+URKCJA3DlPAMMBkwZKdf8DsDKy6aPV+NJIHKdOxkOMxUKSSl3tP3+ONLx0FtI/Um3PS31TEAtQ==","shasum":"d05e648ef61a5d44cfca7e03b2ad59b49aa24738","tarball":"https://registry.npmjs.org/@arvoretech/hubspot-mcp/-/hubspot-mcp-1.2.0.tgz","fileCount":19,"unpackedSize":102869,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFWp6fmOiGTb6eebcFTYv5hfuwxm4EMPd/zFLR5856L0AiAFaZQtbsTOIzuyIUlIgIpfSA4SwXQa6uVKnxBAxsjEkA=="}]},"_npmUser":{"name":"jott4","email":"jvgcunha2002@gmail.com"},"directories":{},"maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"rafsouza","email":"rafasouza@protonmail.com"},{"name":"pedro.adas","email":"pedro.adas@gmail.com"},{"name":"guilhermebs","email":"guilhermebscontact@gmail.com"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"jott4","email":"jvgcunha2002@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hubspot-mcp_1.2.0_1782744743641_0.39548486680202033"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-10T18:26:50.772Z","modified":"2026-06-29T14:52:24.060Z","1.0.0":"2026-06-10T18:26:51.135Z","1.1.0":"2026-06-10T18:53:39.846Z","1.2.0":"2026-06-29T14:52:23.810Z"},"bugs":{"url":"https://github.com/arvoreeducacao/arvore-mcp-servers/issues"},"author":{"name":"Arvore"},"license":"MIT","homepage":"https://github.com/arvoreeducacao/arvore-mcp-servers#readme","keywords":["mcp","hubspot","crm","contacts","deals","companies","llm","ai","arvore"],"repository":{"type":"git","url":"git+https://github.com/arvoreeducacao/arvore-mcp-servers.git","directory":"packages/hubspot"},"description":"HubSpot CRM MCP Server","maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"rafsouza","email":"rafasouza@protonmail.com"},{"name":"pedro.adas","email":"pedro.adas@gmail.com"},{"name":"guilhermebs","email":"guilhermebscontact@gmail.com"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"jott4","email":"jvgcunha2002@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"readme":"# HubSpot MCP Server\n\nMCP server for the HubSpot CRM. Exposes contacts, companies, deals, tickets, activities (notes, tasks, calls, emails, meetings), associations, CRM metadata (pipelines and properties) and conversations (inbox).\n\n## Authentication\n\nUses a **Private App access token**. Create a Private App in HubSpot (Settings → Integrations → Private Apps), grant the required scopes, and copy the token.\n\n```bash\nexport HUBSPOT_ACCESS_TOKEN=\"pat-na1-xxxxxxxx\"\n```\n\nSuggested scopes: `crm.objects.contacts.*`, `crm.objects.companies.*`, `crm.objects.deals.*`, `tickets`, `crm.schemas.*`, `conversations.read`, `conversations.write`.\n\n## Read-only mode\n\nBy default the server runs in **read-only mode** — only the 11 read tools are registered, write tools are not exposed. To enable the 7 write tools, set:\n\n```bash\nexport HUBSPOT_READ_ONLY=false\n```\n\nAny value other than the literal string `false` (or unset) keeps read-only mode on.\n\n## Tools\n\n### CRM objects (generic by `objectType`)\n\n`objectType` accepts standard objects (`contacts`, `companies`, `deals`, `tickets`), activities (`notes`, `tasks`, `calls`, `emails`, `meetings`) or a custom `objectTypeId` (e.g. `2-12345`).\n\n> Write tools (marked ✏️) are only registered when `HUBSPOT_READ_ONLY=false`.\n\n| Tool | Description |\n|------|-------------|\n| `list_objects` | List records of an object type with pagination |\n| `get_object` | Get a record by ID or unique `idProperty` |\n| `search_objects` | Search with `filterGroups`, free-text `query`, sorting and pagination |\n| `batch_read_objects` | Read up to 100 records in one request |\n| ✏️ `create_object` | Create a record with properties and optional associations |\n| ✏️ `update_object` | Update a record's properties |\n| ✏️ `delete_object` | Archive (soft-delete) a record |\n\n### Associations (v4)\n\n| Tool | Description |\n|------|-------------|\n| `list_associations` | List associated records of a target type for a source record |\n| ✏️ `create_association` | Default (unlabeled) or labeled association between two records |\n| ✏️ `delete_association` | Remove all associations between two records |\n\n### Metadata\n\n| Tool | Description |\n|------|-------------|\n| `list_pipelines` | Pipelines and stages for an object type (deals, tickets) |\n| `list_properties` | Property definitions for an object type |\n\n### Conversations (inbox)\n\n| Tool | Description |\n|------|-------------|\n| `list_inboxes` | List conversation inboxes |\n| `list_threads` | List threads, optionally filtered by inbox/status |\n| `get_thread` | Get a thread by ID |\n| `list_thread_messages` | Message history of a thread |\n| ✏️ `send_thread_message` | Send an outbound message through an existing channel |\n| ✏️ `update_thread` | Update thread status (OPEN/CLOSED) or archived flag |\n\n## Usage examples\n\nSearch contacts by email:\n\n```json\n{\n  \"tool\": \"search_objects\",\n  \"args\": {\n    \"objectType\": \"contacts\",\n    \"filterGroups\": [\n      { \"filters\": [{ \"propertyName\": \"email\", \"operator\": \"EQ\", \"value\": \"jane@acme.com\" }] }\n    ],\n    \"properties\": [\"email\", \"firstname\", \"lastname\"]\n  }\n}\n```\n\nCreate a deal associated with a contact:\n\n```json\n{\n  \"tool\": \"create_object\",\n  \"args\": {\n    \"objectType\": \"deals\",\n    \"properties\": { \"dealname\": \"Acme - Enterprise\", \"pipeline\": \"default\", \"dealstage\": \"appointmentscheduled\" },\n    \"associations\": [{ \"toObjectId\": \"501\", \"associationTypeId\": 3 }]\n  }\n}\n```\n\nLog a note on a contact:\n\n```json\n{\n  \"tool\": \"create_object\",\n  \"args\": {\n    \"objectType\": \"notes\",\n    \"properties\": { \"hs_note_body\": \"Spoke with the client today.\", \"hs_timestamp\": \"2026-06-10T12:00:00Z\" },\n    \"associations\": [{ \"toObjectId\": \"501\", \"associationTypeId\": 202 }]\n  }\n}\n```\n\n## Development\n\n```bash\npnpm install\npnpm build\npnpm test\npnpm lint\npnpm dev\n```\n\n## Run\n\n```bash\nHUBSPOT_ACCESS_TOKEN=\"pat-na1-xxxx\" node dist/index.js\n```\n\nMCP client config:\n\n```json\n{\n  \"mcpServers\": {\n    \"hubspot\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@arvoretech/hubspot-mcp\"],\n      \"env\": { \"HUBSPOT_ACCESS_TOKEN\": \"pat-na1-xxxx\" }\n    }\n  }\n}\n```\n","readmeFilename":"README.md"}