Skip to main content
Glama

Sergio by Serviche

Add a handbook article

create_handbook_article
Idempotent

Adds an article (SOP) to the handbook, as Handbook > Admin > New SOP does: title, content_md (markdown), optional category, tags, audience (cleaner = staff, va = office), bucket (A, B or C), licensed (from a franchise or licensed manual: never shared outside the business). Nothing is sent. Before adding anything to the handbook, search the sops read entity by the topic (search finds by meaning): when an article already covers it, put the new text into that article (edit_handbook_article with its full content_md, the new lines placed where they belong, or draft_handbook_edit) instead of a new one; create a new article only when none fits, and say which closest article you found and why it did not fit. Audience comes from the person's words: cleaner SOPs, cleaning standards or staff = cleaner; policies, office or VA = va; when the words do not say, ask in one line. Ask which place, in one line naming both, when two places fit the person's words equally well: two articles, or two training modules that both match (two new-hire modules are a tie whatever their status, draft or published); a place the person named outright is never a tie. The proposed change is the confirmation, so never ask "should I add this?" first. A new article meant for training (new-hire training, onboarding) is also added to that training module's atom_order with edit_training_module, set to run after this. Pass the same idempotency_key when retrying; a repeat returns the same article.

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": {
      "title": "<title>",
      "content_md": "<content_md>",
      "idempotency_key": "<idempotency_key>"
    },
    "name": "create_handbook_article"
  }
}

Input Schema

NameRequiredDescriptionDefault
tagsNo
titleYes
bucketNo
audienceNo
categoryNo
licensedNo
content_mdYes
idempotency_keyYesYour id for this operation (8-128 of A-Z a-z 0-9 . _ : -). Reuse it on every retry of the same operation; use a new one for a new operation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, openWorldHint=false; the description goes beyond them by explaining the retry contract ('pass the same idempotency_key when retrying; a repeat returns the same article'), stating 'Nothing is sent' to rule out outbound messaging, and flagging the licensed-content sharing restriction. It also discloses a non-obvious follow-on effect (a training-bound article should be appended to a module's atom_order via edit_training_module), though it does not say what permissions are required or whether the new article starts published.

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?

The purpose is front-loaded and no sentence is pure filler, but the body is a dense run-on of semicolon-joined policy clauses covering search-first, audience inference, tie-breaking, confirmation policy, training-module linkage, and idempotency. The two-training-modules tie rule is a narrow edge case that competes for attention with the core create-vs-edit decision, making it harder to scan than it needs to be.

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 mutation tool with 8 parameters, no output schema, and a real duplicate-avoidance policy, the description covers routing, tie-breaking, side effects, and retry semantics. What is missing is the shape of the success response (e.g. the returned article id needed to chain into edit_training_module) and the meaning of bucket A/B/C, which the schema cannot supply.

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?

With only 13% schema description coverage, the description carries the burden and largely delivers: it explains content_md is markdown, category is optional, tags, audience enum mapping ('cleaner = staff, va = office'), and the meaning of licensed (from a franchise/licensed manual, never shared outside the business). The bucket parameter's A/B/C values are named but never explained, and title/content limits are left to the schema, so it falls short of full compensation.

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 opens with a specific verb and resource: 'Adds an article (SOP) to the handbook', and immediately names the analogous UI path (Handbook > Admin > New SOP) and the sibling tools it is not (edit_handbook_article, draft_handbook_edit). An agent can distinguish creation from editing without opening any 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?

It gives an explicit precondition ('Before adding anything to the handbook, search the sops read entity by the topic'), an explicit exclusion (put text into the existing article via edit_handbook_article or draft_handbook_edit instead), and a fallback rule for creating new plus what to report to the user. It also resolves ambiguous cases: audience defaults from the user's wording, one-line clarifying question when wording is silent, and a tie-break rule for two matching places with the named-place exception.

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