Skip to main content
Glama

mark_news_read

Idempotent

Marque comme lus des signaux precis de la veille de l'utilisateur (page /news de l'app Insourcia).

Utiliser cet outil quand l'utilisateur indique avoir traite des signaux ("ok j'ai vu", "marque-les comme lus").

Fonctionnement :

  • Prend les "read_key" renvoyees par get_news, telles quelles ; leur format varie selon le type de signal et n'est pas reconstructible.

  • Idempotent : une cle deja lue est ignoree (comptee dans already_read), sans erreur ni doublon.

  • Marquage cible uniquement : il n'existe volontairement pas de "tout marquer lu" via l'API, pour ne pas effacer par erreur la file de tri de l'utilisateur.

  • N'efface rien : la ligne reste visible dans l'app, elle passe simplement de "nouveau" a "lu".

  • Ne modifie pas la date de derniere visite de l'utilisateur sur /news.

Reponse : { marked_read, already_read, unread_remaining, url (page /news) }.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
read_keysYesCles "read_key" recopiees telles quelles depuis la reponse de get_news (leur format varie selon le type de signal). Max 500 par appel.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
marked_readYes
already_readYes
unread_remainingYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / context
      Removed value: -{
      -  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "read_keys",
      -  "context"
      -]New value: +[
      +  "read_keys"
      +]
  2. Changed3 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / context
      Added value: +{
      +  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "read_keys"
      -]New value: +[
      +  "read_keys",
      +  "context"
      +]
  3. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations (idempotentHint, destructiveHint), the description details how idempotency manifests (already-read keys counted in already_read), what is preserved (line remains visible, last visit unchanged), and what the response contains. It also discloses the non-reconstructible key format, which agents need to know before calling.

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 front-loaded with purpose and usage triggers, then organized into tight bullets for behavior and response. No sentence is filler; each bullet conveys a distinct operational fact an agent must know.

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 one-parameter mutation with output schema and strong annotations, the description covers invocation source, idempotency, side effects, limits, and return fields. There is no missing information needed to call it correctly or to set user expectations.

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 already 100% and covers max 500 items and the read_key provenance. The description adds practical meaning by stressing 'telles quelles' and explaining that key format varies by signal type and is not reconstructible, which strongly guides correct invocation.

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 names a specific action ('Marque comme lus') and a precise resource ('signaux precis de la veille... page /news'), and its scope is differentiated from sibling get_news by referencing read_keys returned by get_news. It is immediately clear this is the state-change counterpart to a read operation, not a search or list tool.

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 explicit trigger phrases ('ok j'ai vu', 'marque-les comme lus') and states when not to use it: there is intentionally no mark-all behavior, so agents should not attempt bulk clearing. It also clarifies that the tool does not update last-visit date, preventing incorrect use for that purpose.

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