Skip to main content
Glama
GetSpines

SPINES MCP Server

Official
by GetSpines

add_to_reading_list

Idempotent

Add a book to a specific SPINES reading list by book ID, defaulting to want_to_read if no list is named.

Instructions

Add a book to a reading list

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
book_idYesThe book ID to add
list_nameNoReading list name (default: "want_to_read"). Use list_reading_lists to see available lists.want_to_read

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety and idempotency profile is provided structurally. The description adds nothing beyond that, restating the write action with no detail on duplicate handling, list creation behavior, or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no padding and the action front-loaded. It is efficient, though it is arguably too thin to earn much beyond being non-verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (2 params, 1 required) and the schema is complete, but there is no output schema and the description does not cover behavior on already-present books or list validation. Annotations carry the safety profile, so the gap is modest but real.

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?

With 100% schema description coverage, the schema fully documents both book_id and list_name (including the default and the list_reading_lists cross-reference). The description contributes no parameter-level information, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Add') and resource ('a book to a reading list'), which is unambiguous on its own. It does not differentiate from siblings such as remove_from_reading_list or list_reading_lists, so an agent must still infer which direction of operation applies from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of prerequisites (e.g., an existing list, authentication), and no exclusion of the sibling remove_from_reading_list. A pointer to list_reading_lists exists, but only in the input schema's parameter description, not in the tool description.

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