Skip to main content
Glama
Mohammed-Jameal-J

NewsBlog Composer MCP

save_and_present

Writes the finished news post to a timestamped folder with all publish-ready files, then presents an HTML preview and instructions to hand the post over.

Instructions

Step 11. Write the finished package to disk and hand the post over.

pack from build_publishing_pack is REQUIRED - this refuses without it. That tool holds the permalink, tags, banner URL and image prompt, and it is where the user gets asked what the banner should look like. Skipping it produces a package that looks finished and is missing all five.

Returns SHOW_THIS_TO_THE_USER (print it verbatim) and preview_html (put it in an HTML artifact so the user can see the post laid out).

Produces a timestamped folder containing paste-into-blogger.html (both JSON-LD blocks plus the styled body - the file to paste into the post editor), index.html (a standalone preview page with meta, canonical, Open Graph and Twitter tags in the head), body.html, newsarticle.jsonld, faqpage.jsonld, a copy of the image, meta.json, report.md, and - when pack from build_publishing_pack is supplied - publish-pack.md with the title, labels, permalink and Gemini image prompt.

report.md is the human-readable summary: verification verdict and publishers, human score before and after humanising, SEO score with any must-fix items, and the reference list. Populate meta with keys verification, human_score ({before, after, detector_used, is_real_detector}), seo and references and they all appear in it.

Pass the meta dict that build_schema returned - canonical_url, image_url and the rest are read from it when not given explicitly. Put the verification result, both human scores, the SEO audit and the reference list in meta so the post stays auditable later.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
metaNo
packNo
slugYes
titleNo
languageNo
html_bodyYes
image_urlNo
image_pathNo
descriptionNo
json_ld_faqNo
canonical_urlNo
json_ld_articleNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and it discloses a lot: the tool writes a timestamped folder to disk, refuses without `pack`, and returns `SHOW_THIS_TO_THE_USER` and `preview_html` with explicit handling instructions. It is slightly less clear about failure modes beyond refusal and does not state whether existing files are overwritten, but timestamped folder naming implies preservation.

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?

The description is long but dense and logically ordered: purpose, precondition, return values, file inventory, report contents, then meta guidance. A few statements, such as 'when pack ... is supplied' after already declaring pack required, are redundant, but nearly every sentence contributes useful workflow or behavior information.

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

Completeness3/5

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

For a 12-parameter tool with no annotations and no output schema, the description is unusually thorough about generated files, return values, and workflow dependencies. It is still incomplete because it never defines the required `slug` and `html_body` arguments, and it gives no guidance on how to populate the JSON-LD and presentation-related optional parameters.

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?

Schema coverage is 0%, so the description must compensate. It does explain `meta` (required keys, origin from build_schema) and `pack` (required source, contents, missing-five warning), and notes that canonical_url and image_url are read from meta when omitted. However, the two required parameters `slug` and `html_body` are never described, and most simple optional parameters such as title, language, image_path, description, json_ld_faq, and json_ld_article receive no explicit semantic explanation.

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 opening line states a concrete action: 'Write the finished package to disk and hand the post over.' It then elaborates with a specific file inventory and the exact user-facing outputs, so an agent can tell this is the final save-and-present step and not a drafting or schema-building tool. It also situates itself as 'Step 11', which separates it from siblings like write_blog_post and build_schema.

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

Usage Guidelines5/5

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

The description gives an explicit precondition: `pack` from build_publishing_pack is REQUIRED and the tool refuses without it. It names the owning tool, lists what it supplies, and warns that skipping it yields a package missing the permalink, tags, banner URL and image prompt. It also instructs the agent to pass the `meta` dict returned by build_schema, making the call sequence unambiguous.

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