Skip to main content
Glama
tillheidrich

hubspot-mcp-server

by tillheidrich

create_blog_post_draft

Create a new blog post in draft state in HubSpot by providing blog ID, title, slug, and HTML content. Set optional metadata like SEO description, tags, featured image, and author.

Instructions

Create a new blog post in DRAFT state.

Args: blog_id: target blog instance — see list_blogs. title: post title. slug: URL slug. Lowercase, hyphens, no leading slash. content_html: the post body as HTML. meta_description: SEO meta description. language: ISO 639-1 code. Default 'en'. tag_ids: HubSpot blog tag IDs. featured_image_url: absolute URL of an image hosted in HubSpot. author_id: blog author ID — see list_blog_authors.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYes
titleYes
blog_idYes
tag_idsNo
languageNoen
author_idNo
content_htmlYes
meta_descriptionNo
featured_image_urlNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.1

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the transparency burden. It does add one key behavioral fact: the post is created in DRAFT state and is not publishd immediately. But it does not disclose permission requirements, duplicate-slug behavior, validation rules, or side effects on existing resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description opens with a one-sentence purpose and follows with a compact, structured Args list. There is no filler; each line adds operational information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter tool with no annotations and an output schema present, the description is nearly complete: it explains all parameters, supplies format constraints, and points to sibling lookup tools. It is only missing explicit handling notes for edge cases like duplicate slugs or invalid tag IDs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does. Each parameter receives a meaningful hint beyond its name: slug format, language default, HubSpot-hosted image requirement, and references to list_blogs and list_blog_authors for ID lookup.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource ('blog post'), a clear verb ('Create'), and a distinctive state ('DRAFT'). It is immediately distinguishable from sibling tools like create_landing_page_draft, create_site_page_draft, and update_blog_post_draft.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'DRAFT state' phrasing implies this is the tool for creating a new, unpublishd blog post rather than updating or publishing one. However, it never explicitly states when not to use it or names alternatives, so routing guidance is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.