Skip to main content
Glama
gpaul-mcp

Ravelry MCP Server

by gpaul-mcp

Find yarn shops

find_yarn_shops
Read-onlyIdempotent

Locate local yarn shops in Ravelry's directory by coordinates and radius, or search by shop name or city to find nearby stores.

Instructions

Find local yarn shops from Ravelry's shop directory, either around a point (latitude/longitude + radius, nearest first) or by shop name or city. For "near me" or "in ", prefer coordinates: use the coordinates of the place the user names.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo1-based results page.
queryNoShop name or city, e.g. "London" or "Loop".
unitsNokm
radiusNoSearch radius around latitude/longitude.
latitudeNo
longitudeNo
page_sizeNoResults per page (max 50).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageYes
shopsYes
unitsYes
page_countYes
total_resultsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.8.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint and idempotentHint, so safety and idempotency are covered. The description still adds real behavioral value by disclosing the result ordering ('nearest first') and the data source (Ravelry's shop directory), which the annotations do not convey.

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?

Two tightly packed sentences: the capability and its data source come first, the mode selection and the concrete 'near me' advice follow. No filler, no restatement of the title.

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?

An output schema exists so return values are handled structurally, and annotations cover the safety profile, leaving the description to explain modes and ordering — which it does. Only minor gaps remain, such as the default units and pagination expectations for a 7-parameter tool.

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 a moderate 57% (page, page_size, radius and query are documented in the schema). The description goes beyond that by explaining how latitude, longitude and radius combine into one search mode and by clarifying that 'query' accepts either a shop name or a city — relational semantics the schema alone does not supply. It is silent on 'units', however.

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 ('Find local yarn shops from Ravelry's shop directory') and scopes it precisely, making it immediately distinguishable from yarn/pattern siblings like search_yarns or get_yarn_details.

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

Usage Guidelines4/5

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

It lays out the two operating modes (proximity search via latitude/longitude + radius, or text search by shop name/city) and gives a routing rule for the common 'near me' case. It stops short of stating exclusions or fallbacks, e.g. what to do when coordinates are unknown, so it falls just below the explicit when/when-not tier.

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