Astrail
Back to Marketplace
Executable connectorCRMJul 22, 20260 calls

HubSpot Connector

Executable HubSpot connector for contact lookup, search, deals, and approved contact creation.

Credential setup

bearer

Use a private-app token with crm.objects.contacts.read and crm.objects.deals.read; add write only when creation is enabled.

Setup docs: https://developers.hubspot.com/docs/api/private-apps

After adding this connector, attach the credential on the server page, then run astrail tools list.

Hosted MCP endpoint

/api/mcp/preset-hubspot

Private servers require an Astrail API key in the Authorization header.

MCP client snippets

Connect

Claude Desktop config

{
  "mcpServers": {
    "hubspot-connector": {
      "url": "/api/mcp/preset-hubspot"
    }
  }
}

cURL initialize

curl -sS -X POST "/api/mcp/preset-hubspot" \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'

cURL tools/list

curl -sS -X POST "/api/mcp/preset-hubspot" \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

cURL tools/call

curl -sS -X POST "/api/mcp/preset-hubspot" \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"hubspot_list_contacts","arguments":{"limit":10,"after":"example","properties":"example"}}}'

Runtime behavior

Runtime healthhealthy
Endpoint healthnot_checked
Execution modesafe_rest_execution
Deterministic executionSupported
Generated sourceExport only
Endpoint mapAvailable
Endpoint mappedYes
Auth-required endpointsPresent
Browser runtime endpointsNone detected
Last statusnot recorded
Last execution modenot recorded
Last toolnot recorded
Last latencynot recorded
Upstream statusnot recorded
Trace IDnot recorded
Error codenone
Observabilitystructured fallback
Rate limit modestandard
Missing authauth_required / oauth_required
Missing mappingmapping_required

Astrail does not evaluate generated TypeScript inside Next.js. Hosted calls are routed through stored tool metadata and endpoint maps.

Tools

5
hubspot_list_contacts

List HubSpot contacts and selected properties.

hubspot_get_contact

Retrieve a HubSpot contact by record ID.

hubspot_search_contacts

Search HubSpot contacts with a provider-native filter.

hubspot_list_deals

List HubSpot deals and selected properties.

hubspot_create_contact

Create a HubSpot contact from provider-native properties after approval.

server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({ name: "HubSpot Connector", version: "1.0.0" });

// Curated Astrail connector for: hubspot_list_contacts, hubspot_get_contact, hubspot_search_contacts, hubspot_list_deals, hubspot_create_contact.
// The hosted endpoint executes its verified deterministic endpoint map. Attach a least-privilege provider credential before calling private tools.

server.tool("connector_status", "Confirm this curated connector template is installed.", z.object({}), async () => ({
  content: [{ type: "text", text: "Connector installed. Attach provider credentials to enable hosted API calls." }],
}));

const transport = new StdioServerTransport();
await server.connect(transport);