Skip to main content
Glama
laughnan

arcade-matter-mcp

by laughnan

SaveItem

Matter_SaveItem
Idempotent

Save a URL to a Matter reading library, placing it in the queue or archive. Content is extracted in the background, so check the item later for processing status.

Instructions

Save a URL to the user's Matter library. Matter extracts the content in the background, usually within a minute; check GetItem later if processing_status is 'processing'. If the URL is already saved, the existing item is returned unchanged with already_in_library: true; use UpdateItem to move it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe http:// or https:// URL to save.
statusNoWhere to put it: 'queue' (the reading list) or 'archive'.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only declare the generic profile (idempotent, non-destructive, open-world); the description adds the operationally important behavior: extraction is asynchronous and takes roughly a minute, an already-saved URL returns the existing item unchanged with already_in_library: true, and status selects queue vs archive. That is real disclosure beyond the structured fields.

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?

Three sentences, zero filler, and the core action plus the async caveat are front-loaded before the dedup and relocation details. Every sentence carries distinct information.

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?

An output schema exists, so return-value documentation is not required, yet the description still surfaces the one return field an agent must branch on (already_in_library). Async timing, dedup semantics, and follow-up routing are all covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the enum values are already documented in the schema, so the schema carries the parameter burden. The description adds only indirect meaning (that status placement can later be changed via UpdateItem) and says nothing about URL format or constraints. Baseline 3 is appropriate.

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?

States a specific verb and resource ('Save a URL to the user's Matter library') and implicitly distinguishes itself from the read siblings (GetItem) and the mutation sibling (UpdateItem). An agent can identify it as the write-entry-point for the library 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?

Explicitly names when to follow up ('check GetItem later if processing_status is processing') and which alternative to use for relocation ('use UpdateItem to move it'), plus the condition that selects the no-op path (already saved). When-to-use, when-not, and the alternative are all present.

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