Skip to main content
Glama

libredesk_articles

Manage help center articles as markdown: list, create, update, sync local files, move, reorder, and link translations while checking which articles AI assistants can use.

Instructions

Manage knowledge base articles, written and read as markdown. Undocumented API.

Actions:

  • list(help_center_id, ...): List a help center's articles, without content.

  • visibility(help_center_id, ...): Which articles AI assistants can use, and why the others are hidden.

  • get(id, ...): Get one article with content and translations.

  • create(collection_id, title, content, ...): Create a draft article in a collection.

  • update(id, ...): Change only the given fields of an article.

  • sync(path, ...): Create or update draft articles from local .md files with frontmatter; writes new ids back. Never publishes.

  • move(id, collection_id): Move an article to another collection of its help center.

  • reorder(collection_id, order): Sort many articles of a collection at once.

  • linkable(help_center_id, exclude_locale): List articles linkable as translation: other locale, not yet linked.

  • link_translation(id, translation_of_id): Make an article a translation of another article.

  • unlink_translation(id): Take an article out of its translation group.

Input Schema

NameRequiredDescriptionDefault
idNoArticle id.
pathNoA .md file, or a folder of them, on this machine.
orderNoMap of article id to position, for example {"11":0,"14":1}.
titleNoArticle title.
actionYesAction.
formatNo"markdown" (default) or "html" for what markdown cannot express, such as tables.
localeNoOnly this locale; omit for all. For create, update: Locale code; must match the collection's locale.
contentNoArticle body. A literal ~ reads back as ~; send it back as is.
dry_runNoOnly report what would change.
excerptNoShort summary for lists and search.
profileNoStored profile to use; omit for the default.
ai_enabledNoLet AI assistants use it once published. True by default on create.
meta_titleNoSEO title.
sort_orderNoPosition in the collection, lowest first.
collection_idNoCollection id. For move: Target collection id. For list: Only this collection.
exclude_localeNoLocale of the article to link; articles in it are left out.
help_center_idNoHelp center id.
meta_image_urlNoSocial preview image URL.
meta_descriptionNoSEO description.
translation_of_idNoId of the article this one translates.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false and destructiveHint=false, and the description consistently adds real behavioral nuance beyond that: create makes a 'draft', update changes 'only the given fields', sync 'writes new ids back' and 'Never publishes', linkable filters by locale. This is genuinely useful for a mixed read/write dispatcher. It stops short of stating permission or rate-limit characteristics for the mutating actions.

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?

Front-loaded with purpose and the 'Undocumented API' caveat, then a scannable action list where each entry is a single high-density line. No filler sentences; length is proportional to eleven actions.

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 20-parameter dispatcher with no output schema, the description covers what each action does and partially what it returns (content vs no content, translations, why articles are hidden). A few return-shape gaps remain — e.g. what list's article summaries contain or what sync reports for skipped files — but nothing that would cause a misinvocation.

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 baseline is 3, but the action list adds context the flat schema cannot: it binds help_center_id to list/visibility/linkable, collection_id to create/move/list, and shows the shape of reorder's order map. It does not mention format or dry_run, though the schema documents both well.

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 description states a specific resource (knowledge base articles, markdown I/O) and then enumerates all eleven actions with a verb+object signature for each, e.g. 'move(id, collection_id): Move an article to another collection of its help center'. An agent can distinguish list vs get vs visibility vs sync without opening the schema.

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?

Each action line explains the condition that selects it: list returns articles 'without content', get returns 'content and translations', visibility reports 'which articles AI assistants can use, and why the others are hidden', sync handles local .md files. What is missing is routing against the siblings — nothing says to use libredesk_publish to publish or libredesk_delete for removal, so the agent must infer that this tool never publishes or deletes.

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