Skip to main content
Glama

tool_write_blog

Packages blog content into a CSDN-ready Markdown file with YAML front matter and saves it to local drafts for later publishing.

Instructions

Package blog content into a CSDN-ready markdown file and save it.

Adds YAML front-matter (title, summary, tags, category, keywords, style, visibility, timestamps) and writes the file to the local drafts folder. The publish_csdn tool reads this same file later. If content already has front-matter, the arguments override individual fields. If summary is empty, it is auto-extracted from the first paragraph.

Args: topic: Blog title (used as H1 and filename slug if filename is empty). content: Markdown body. May include leading front-matter (--- ... ---). keywords: SEO keywords for the front-matter. tags: CSDN tags (3-5 recommended). category: CSDN category, e.g. "后端", "前端", "运维", "AI". summary: Article summary; auto-extracted if empty. style: Writing style (informational; stored in front-matter). visibility: "public", "private", or "fans". filename: Override filename (without .md). Auto-generated if empty. overwrite: If True, overwrite an existing draft with the same name.

Returns: dict with {ok, file_path, filename, title, summary, tags, category, visibility, bytes}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNo
styleNotechnical
topicYes
contentYes
summaryNo
categoryNo
filenameNo
keywordsNo
overwriteNo
visibilityNopublic

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/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 behavioral burden and largely does so: it discloses the front-matter fields written, that existing front-matter is merged with argument overrides, that empty summary is auto-extracted from the first paragraph, and that overwrite controls clobbering an existing draft. It does not discuss permissions or whether writes are reversible, but for a local draft write the disclosed behavior is substantial.

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 purpose is front-loaded in the first sentence, followed by behavioral rules, then a clean Args/Returns breakdown. Each sentence carries information an agent needs, and with no output schema present the Returns block is justified rather than redundant.

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?

For a 10-parameter tool with 0% schema description coverage, no annotations, and no output schema, the description covers purpose, every parameter, merge/auto-extraction behavior, and the return shape. Nothing an agent needs in order to invoke this correctly appears to be missing.

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 Args section is doing all the work, and it documents all 10 parameters with real meaning: topic as H1 and filename slug, content possibly carrying front-matter, tags 3-5 recommended, category examples, filename without .md, and overwrite semantics. It also supplies the visibility values ('public'/'private'/'fans') that the schema fails to enumerate.

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 first sentence states a specific verb and resource ('Package blog content into a CSDN-ready markdown file and save it'), and it distinguishes itself from the downstream publish_csdn tool by noting that publish_csdn reads the same file. An agent can tell exactly what this tool produces and where it sits in the pipeline.

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?

The description places the tool clearly in a workflow ('The publish_csdn tool reads this same file later'), which tells the agent this is the pre-publish drafting step. It stops short of naming exclusions or contrasting with near-siblings like tool_generate_blog_scaffold or tool_read_draft, so it is clear context without explicit when-not guidance.

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