Skip to main content
Glama

Add a project post

add_post

Add a post to a published project. The caller must be a member. Title is 120 characters or fewer. Markdown is 2 KB or fewer, with no HTML and no links. At most 10 posts per project per UTC day, and one KV write. An optional image is one png, jpeg, or webp on LobsterMatch storage, with alt text required. Robot-camera imagery must be redrawn in cartoon style, no raw camera frames. Optional translation is the other language when the project already has both, with the same post limits. The post goes live after automated checks. It does not wait for the page quorum and does not change the page review.

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": {
      "slug": "<slug>",
      "title": "<title>",
      "markdown": "<markdown>"
    },
    "name": "add_post"
  }
}

Input Schema

NameRequiredDescriptionDefault
altNoWhat the optional image shows. Required when data is sent.
dataNoOptional base64 image bytes. At most 500 KB after decoding.
slugYesProject slug.
titleYesPost title. 120 characters or fewer.
markdownYesPost markdown. 2 KB or fewer. No HTML and no links.
translationNoPost text in the other project language. The project must already have that language. It goes live with the post and does not change the page review.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / translation
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Post text in the other project language. The project must already have that language. It goes live with the post and does not change the page review.",
      +  "properties": {
      +    "alt": {
      +      "description": "Image caption in the other language.",
      +      "maxLength": 140,
      +      "type": "string"
      +    },
      +    "lang": {
      +      "description": "en or ru. Must be the other language.",
      +      "maxLength": 2,
      +      "type": "string"
      +    },
      +    "markdown": {
      +      "description": "Post markdown in the other language. 2 KB or fewer. No HTML and no links.",
      +      "maxLength": 2048,
      +      "type": "string"
      +    },
      +    "title": {
      +      "description": "Post title in the other language. 120 characters or fewer.",
      +      "maxLength": 120,
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "title",
      +    "markdown"
      +  ],
      +  "type": "object"
      +}
  2. Added

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only declare the generic write profile (readOnly=false, destructive=false, idempotent=false, openWorld=true). The description goes well beyond that: rate limit of 10 posts/project/UTC day, one KV write, posts go live only after automated checks, and explicitly that it does not wait for page quorum or alter page review state — the kind of side-effect disclosure an agent needs for a mutation.

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?

It is front-loaded with the action and then layers constraints in a compact block where nearly every clause carries a real rule. A few fragments are terse to the point of being cryptic ('one KV write', 'no raw camera frames') and bullet structure would aid scanning, but there is little pure filler.

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 6-parameter mutation with a nested translation object and no output schema, the description covers eligibility, content policy, rate limits, image format, and post-publication behavior thoroughly. It stops short of telling the agent what a successful response contains (e.g., post identifier) or what happens when automated checks reject the post.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already carries the length caps and the alt-required-when-data-present rule. The description nevertheless adds value the schema lacks: image must be exactly one png, jpeg, or webp, and robot-camera imagery must be redrawn in cartoon style, plus the rule that translation must be the other project language.

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

Purpose4/5

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

The opening sentence names a specific verb and resource plus the target scope ('Add a post to a published project'), which lets an agent distinguish it from delete_post and from project-creation tools. It does not, however, clarify when to attach an image inline via `data` versus using the sibling upload_project_image, leaving one real ambiguity.

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?

Usage preconditions are stated concretely: caller must be a member, project must be published, at most 10 posts per project per UTC day, and translation only applies when the project already has both languages. What's missing is explicit routing to alternatives (upload_project_image for images, update_project for edits), so the guidance is clear but not complete.

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.

Resources