Skip to main content
Glama
inhabitants

sapiens-mcp

by inhabitants

sapiens_article

Retrieve, update, publish, unpublish, or delete Sapiens blog articles, and auto-generate missing banners, inline visuals, and concept maps.

Instructions

CRUD direto de artigos do blog Sapiens. Sub-actions: get (by slug, retorna doc completo pra edit local), update (patch em title/excerpt/tldr/content/tags/etc + VISUAIS: thumbnailUrl capa webp, ogImageUrl JPEG do preview social, bodyImages array das ilustrações inline, conceptMap mapa visual — pra recapear um artigo num novo estilo; NÃO toca status/column/format), publish (status='published', set publishedAt), unpublish (volta pra draft), delete (irreversível), ensure_visuals (gera banner/ilustrações inline/conceptMap que faltam no artigo; idempotente, pula o que existe; ~1700 Sinapses num artigo pelado, forceBanner/forceInline/forceConceptMap regeram). Pra criar artigo novo use sapiens_quote_pop (quote ou pop) ou sapiens_pipeline action=create_draft_article_and_source (cru, vira source).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNoObrigatório pra action=get. Forma kebab-case.
tagsNo
tldrNo
titleNo
actionYes
tldrEnNo
contentNo
excerptNo
titleEnNoupdate: título em inglês. Com contentEn, publica a versão EN em /en/articles/<slug>.
categoryNo
articleIdNoObrigatório pra update/publish/unpublish/delete/ensure_visuals. Pode descobrir via action=get (o retorno tem _id).
contentEnNoupdate: corpo em inglês (markdown, mesmo formato do content). Transcreation na voz da casa, não tradução literal.
excerptEnNo
bodyImagesNoupdate: SUBSTITUI as ilustrações inline do corpo (tabela article_visuals). Passe o array COMPLETO (não faz merge) — todas as imagens que o artigo deve ter, na ordem. O conjunto antigo vai pro histórico (manual_replace). Use pra recapear artigo num novo estilo. url tem que ser host Sapiens (Bunny/Convex).
conceptMapNoupdate: substitui o mapa visual (conceptMap) do artigo.
ogImageUrlNoupdate: JPEG scraper-safe pro preview social (og:image/twitter:image). Ao recapear um artigo, troque junto com thumbnailUrl (webp), senão o card de compartilhamento do WhatsApp/LinkedIn fica com a imagem antiga.
forceBannerNoensure_visuals: regera banner mesmo se já existe.
forceInlineNoensure_visuals: regera ilustrações inline mesmo se já existem.
inlineCountNoensure_visuals: quantas ilustrações inline gerar (1-3). Default 1.
thumbnailUrlNo
connectedSlugsNo
seoDescriptionNo
forceConceptMapNoensure_visuals: regera mapa visual mesmo se já existe.
seoDescriptionEnNo
educativeReferenceNo
readingTimeMinutesNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv1.38.0

TDQS

A4.9/5.0
Behavior5/5

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

The description adds significant behavioral context beyond the annotations: delete is 'irreversível', update 'NÃO toca status/column/format', ensure_visuals is idempotent and costs ~1700 Sinapses on an empty article, and bodyImages replaces the full set rather than merging. This goes well beyond the readOnlyHint/openWorldHint annotations.

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 description is dense but every clause earns its place: it names the core CRUD capability, enumerates each sub-action with key caveats, and closes with creation alternatives. It is front-loaded with the most important scope statement and avoids filler.

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 26-parameter multimodal CRUD tool with no output schema, the description covers the operational essentials: required identifiers, action semantics, destructive consequences, idempotence, cost, visual replacement behavior, and alternative routing for creation. Combined with the schema, an agent has enough context to select and invoke it correctly.

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 description coverage is low (42%), and the description compensates well for the most complex parameters: it explains slug for get, articleId discoverability, visual fields for update, and force flags for ensure_visuals. It relies on natural-language field names for fields like category, tags, and connectedSlugs, which are self-evident, but it does not explicitly cover every parameter.

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 'CRUD direto de artigos do blog Sapiens' and then enumerates all sub-actions: get, update, publish, unpublish, delete, and ensure_visuals. It clearly distinguishes this tool from creation tools by explicitly directing new-article creation to sapiens_quote_pop or sapiens_pipeline.

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 provides explicit when-to-use guidance per action, names alternatives for article creation ('Pra criar artigo novo use sapiens_quote_pop... ou sapiens_pipeline'), and even explains when to use ensure_visuals versus manual visual replacement. No meaningful usage ambiguity remains.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/inhabitants/sapiens-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server