Skip to main content
Glama

Create blog post or email

create_doc

Create a blog post or email newsletter from Markdown that you write. The tool converts the Markdown (headings, lists, links, emphasis) into a Blaze document, saves it in the workspace, and creates a matching draft post. Nothing is published.

Inputs: workspace_key, title, markdown; optional type ("blog" or "email"; default "blog"), project_id (default: the user's default project), and post_at (the draft's intended publish time, ISO 8601).

Returns the document id, an editor URL, and the draft post's id. To schedule the draft or change its date or caption, call edit_scheduled_post with that id. Publishing needs a connected blog or email integration in the workspace.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "workspace_key": "<workspace_key>",
      "title": "<title>",
      "markdown": "<markdown>"
    },
    "name": "create_doc"
  }
}

Input Schema

NameRequiredDescriptionDefault
typeNoDocument type: 'blog' post or 'email'/newsletter. Defaults to 'blog'.
titleYesThe document title.
post_atNoOptional ISO 8601 datetime for the draft scheduled post's intended publish time.
markdownYesThe document body as Markdown. Converted to the editor rich-text document.
project_idNoOptional project (in this workspace) to file the doc in. Defaults to your default project.
workspace_keyYesKey of the workspace to act in. Call list_workspaces to see the workspaces you have access to and their keys.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and non-idempotency, and the description adds real value on top: 'Nothing is published', explicit side effects (document created + draft post created), the returned identifiers, and the prerequisite of a connected integration for publishing. Lacks only details like rate limits or draft retention.

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

Conciseness4/5

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

Front-loads the purpose in the first sentence, then organizes inputs, return values, and next steps into distinct blocks. A bit of the Inputs section duplicates the schema, but nothing is padded.

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

Completeness5/5

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

No output schema exists, yet the description enumerates the return values (document id, editor URL, draft post id) and explains the follow-up path to scheduling and publishing. Combined with 100% schema coverage and annotations, an agent has everything needed to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all six parameters, including enums and defaults. The description's Inputs line largely restates that information (defaults for type and project_id, ISO 8601 for post_at), so the baseline 3 applies.

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?

States a specific verb+resource ('Create a blog post or email newsletter from Markdown') and describes the full pipeline it performs: Markdown conversion into a Blaze document, workspace save, and draft creation. The qualifier 'from Markdown that you write' implicitly separates it from the AI-generative sibling generate_post.

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

Usage Guidelines4/5

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

Gives clear context: nothing is published, scheduling/date changes route to edit_scheduled_post with the returned id, and publishing requires a connected blog or email integration. It stops short of explicitly naming when to prefer generate_post over this tool, so a 4 rather than a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.