Skip to main content
Glama

Create Basic Post

create_post
Destructive

Create a post in a Circle community, including draft, published, or scheduled status. Requires confirm=true when the user asks for this action.

Instructions

Create Basic Post. Changes community state and requires confirm=true for the user-requested action.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
slugNo
statusNo
topicsNo
accountNoNamed private Circle account; selects credentials, not a remote community ID.
confirmNoSet true only when the user asked for exactly this action.
payloadNoComplete JSON request body instead of body flags. Supports nested Tiptap, maps and nullable values.
user_idNoid of the author
space_idNo
is_pinnedNo
created_atNo
meta_titleNo
user_emailNoemail of the author (preferred over user_id)
cover_imageNosigned_id of the cover image
tiptap_bodyNo
payload_fileNoRegular local JSON body file, at most 5 MB. Cannot be mixed with body flags or payload.
published_atNo
hide_meta_infoNo
opengraph_titleNo
meta_descriptionNo
is_liking_enabledNo
is_comments_closedNo
skip_notificationsNo
is_comments_enabledNo
internal_custom_htmlNo
opengraph_descriptionNo
is_truncation_disabledNo
hide_from_featured_areasNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv3.0.1
    • addedInput schema / $defs
      Added value: +{
      +  "tiptap_body": {
      +    "properties": {
      +      "body": {
      +        "properties": {
      +          "content": {
      +            "items": {
      +              "properties": {
      +                "attrs": {
      +                  "type": "object"
      +                },
      +                "marks": {
      +                  "items": {
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "text": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "type": {
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "type": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "content"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  }
      +}
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true for the specific user-requested write."New value: +"Set true only when the user asked for exactly this action."
    • addedInput schema / properties / payload / properties / tiptap_body / $ref
      Added value: +"#/$defs/tiptap_body"
    • removedInput schema / properties / payload / properties / tiptap_body / properties
      Removed value: -{
      -  "body": {
      -    "properties": {
      -      "content": {
      -        "items": {
      -          "properties": {
      -            "attrs": {
      -              "type": "object"
      -            },
      -            "marks": {
      -              "items": {
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "text": {
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "type": {
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "type": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "content"
      -    ],
      -    "type": "object"
      -  }
      -}
    • removedInput schema / properties / payload / properties / tiptap_body / type
      Removed value: -"object"
    • addedInput schema / properties / tiptap_body / $ref
      Added value: +"#/$defs/tiptap_body"
    • removedInput schema / properties / tiptap_body / properties
      Removed value: -{
      -  "body": {
      -    "properties": {
      -      "content": {
      -        "items": {
      -          "properties": {
      -            "attrs": {
      -              "type": "object"
      -            },
      -            "marks": {
      -              "items": {
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "text": {
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "type": {
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "type": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "content"
      -    ],
      -    "type": "object"
      -  }
      -}
    • removedInput schema / properties / tiptap_body / type
      Removed value: -"object"
  2. First observedv2.0.0

TDQS

C2.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false and openWorldHint=true, covering the safety profile. The description adds one genuinely useful behavioral requirement not carried by annotations: the confirm=true gate. Beyond that it repeats "changes community state," which the annotations already imply, and discloses nothing about rate limits or side effects like notifications.

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

Conciseness3/5

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

Two short sentences with no filler and the confirm requirement front-loaded alongside the action. However, for a 28-parameter tool with nested objects, this level of brevity reads as under-specification rather than effective conciseness.

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

Completeness1/5

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

A 28-param, nested-object, no-required-fields, no-output-schema write tool with 0% required parameters and low description coverage needs substantial guidance on which of the four body-input modes to use and how space_id/name are supplied. None of that is present, leaving an agent unable to construct a valid call from the description alone.

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

Parameters2/5

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

With 28 parameters and only 25% schema description coverage, the description needs to compensate but does not. It mentions only confirm=true (the gate, itself already documented in the schema) and says nothing about the mutually exclusive payload/payload_file/body-flag mechanisms, the tiptap_body structure, or account/slug/topics/status.

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

Purpose2/5

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

The first sentence, "Create Basic Post," is a verbatim restatement of the tool title, which itself just rephrases the name create_post. It states a verb and resource but gives no scope or distinguishing detail to separate it from create_image_post, create_comment, or create_event in the sibling list.

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

Usage Guidelines2/5

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

"requires confirm=true for the user-requested action" implies the tool should only be called for a user-requested action, which is a faint usage hint. However, there is no guidance on when to use this versus create_image_post or duplicate_image_post, and no statement of prerequisites or when not to use it.

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

Deploy Server

Other Tools