Skip to main content
Glama

Crystals MCP Server by RoxyAPI

Ownership verified

Server Details

Crystal meanings, healing properties, chakra and birthstone lookups for AI agents.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 12 of 12 tools scored.

Server CoherenceA
Disambiguation4/5

Most tools have clearly distinct purposes, but there is overlap between get_crystals with filters and the dedicated endpoints for chakra, element, zodiac, and birthstone. The descriptive names and detailed explanations help agents choose correctly, though mis-selection is possible.

Naming Consistency4/5

All tools follow the get_crystals_<suffix> pattern except post_crystals_daily, which uses a post verb for a read operation. This minor deviation, along with the slightly awkward get_crystals_id and get_crystals_pairings_id, keeps the naming consistent overall.

Tool Count5/5

With 12 tools, the server is well-scoped for a crystal reference API. It covers listing, detail, search, random, daily, pairings, and filter-specific endpoints, each earning its place without feeling redundant or excessive.

Completeness4/5

The API provides comprehensive lookup coverage for crystals, including list, detail, search, random, daily, pairings, and filter/reference endpoints. The lack of dedicated endpoints for color and planet filters (only reference lists) is a minor gap, but the generic filter covers these use cases.

Available Tools

12 tools
get_crystalsList All CrystalsA
Read-only
Inspect

Retrieve healing crystals and gemstones with pagination. Supports optional filtering by chakra, zodiac sign, element, color, or planet. Returns minimal summary fields per crystal. Use the detail endpoint for full healing properties. Perfect for building crystal explorer apps, healing stone guides, and personalized crystal recommendation engines.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoResponse language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.en
colorNoFilter by crystal color (partial match, case-insensitive). E.g., "pink", "green", "blue", "purple". Use GET /colors for valid values.
limitNoMaximum items to return per page. Range: 1-100, default 20.
chakraNoFilter by chakra association, case-insensitive. Valid values: Root, Sacral, Solar Plexus, Heart, Throat, Third Eye, Crown.
offsetNoNumber of items to skip for pagination. Default 0.
planetNoFilter by planetary association (partial match, case-insensitive). E.g., "Venus", "Moon", "Jupiter". Use GET /planets for valid values.
zodiacNoFilter by zodiac sign, case-insensitive. Valid values: aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces.
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
elementNoFilter by elemental association, case-insensitive. Valid values: Earth, Water, Fire, Air, Storm.
Behavior4/5

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

The annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds valuable behavior: pagination is supported, results are minimal summary fields, and a separate detail endpoint exists. This goes beyond the annotations by explaining the response scope and the existence of an alternative for richer data.

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 three sentences, each earning its place: the first states the action and filters, the second clarifies the response shape and points to the detail endpoint, and the third gives concrete use cases. It is front-loaded with the key information and avoids fluff.

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?

Given no output schema, the description adequately explains the tool's scope of returning 'minimal summary fields' and directs to the detail endpoint for more. The pagination and filter capabilities are stated, and the rich input schema fills in parameter details. Some specifics about response shape (e.g., list vs object) are missing, but the core usage context is complete.

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?

The input schema covers all 9 parameters with detailed descriptions, enums, defaults, and valid values. The description only lists the filter dimensions (chakra, zodiac, element, color, planet) which are already fully documented in the schema. It doesn't add extra semantics such as how filters combine or pagination parameter usage, so it meets the baseline but doesn't elevate above the schema.

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 uses a specific verb ('Retrieve') with a clear resource ('healing crystals and gemstones') and states the core capability: listing with pagination and optional filters. It distinguishes itself from sibling tools by covering the general list endpoint and explicitly pointing to a 'detail endpoint' for full healing properties, unlike the specialized filter siblings.

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?

The description provides clear context for when to use the tool: for listing crystals with pagination and filters, and for building explorer/guide apps. It also directs users away for full healing properties ('Use the detail endpoint'), though it does not explicitly name sibling tools or state exclusions. This is more than implied usage but lacks explicit when-not-to-use conditions.

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

get_crystals_birthstone_monthBirthstone Crystals by MonthA
Read-only
Inspect

Get the traditional birthstone crystals for a given birth month. Returns summary data for each crystal. Use the /crystals/:id detail endpoint for full healing properties. Based on GIA-authoritative birthstone assignments. Perfect for birthday gift recommendations, personalized crystal suggestions, and birthstone jewelry applications.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoResponse language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.en
monthYesBirth month as a number from 1 (January) to 12 (December).
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context: it returns 'summary data', references GIA-authoritative assignments, and implies the tool is read-only by design. No contradiction exists between description and annotations.

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?

The description is three sentences long and front-loaded with the primary action and resource. Each sentence earns its place: purpose, pointer to more detailed data, and example use cases. No redundant repetition of schema fields.

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?

Given the tool's simplicity, the fully documented schema, and the annotations, the description is complete enough. It explains the data scope (birthstone summary), the authoritative basis (GIA), and the alternative endpoint for richer details. Without an output schema, enumerating summary fields might be helpful but is not critical for this lightweight lookup.

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?

The schema description coverage is 100%, with month, lang, and compact all clearly documented in the input schema. The description adds no new parameter-level semantics beyond what the schema already provides, so the baseline score of 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?

The description uses a specific verb ('Get') with a clear resource ('traditional birthstone crystals for a given birth month'), making the tool's scope immediately obvious. This clearly distinguishes it from sibling tools focused on chakra, colors, elements, zodiac signs, and planets.

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?

The description provides clear context by naming practical use cases ('birthday gift recommendations') and directs users to the '/crystals/:id detail endpoint' when full healing properties are needed. It does not explicitly name sibling tools as alternatives, but the guidance is sufficient for typical selection scenarios.

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

get_crystals_chakraCrystals by ChakraA
Read-only
Inspect

Get healing crystals and gemstones that resonate with a specific chakra energy center. Returns summary data for each crystal. Use the /crystals/:id detail endpoint for full healing properties. Supports all 7 primary chakras: Root, Sacral, Solar Plexus, Heart, Throat, Third Eye, and Crown. Essential for crystal grid building, chakra balancing, and energy healing applications.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoResponse language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.en
limitNoMaximum items to return per page. Range: 1-30, default 20.
chakraYesChakra name, case-insensitive (e.g., heart, Heart, HEART all work). Valid: Root, Sacral, Solar Plexus, Heart, Throat, Third Eye, Crown.
offsetNoNumber of items to skip for pagination. Default 0.
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds that it 'Returns summary data for each crystal' while directing users to the detail endpoint for full properties. This sets expectations about the response depth, though pagination and compact behavior are not mentioned in the description.

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 four sentences with no fluff: it states the action, notes the summary output, provides a pointer to the detail endpoint, and lists supported chakras and use cases. Every sentence earns its place and the structure is well front-loaded.

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?

This is a read-only filtered-list tool with a rich schema (5 params, 100% coverage) and safe annotations, so the description is somewhat complete. It communicates the summary nature of results and the availability of a detail endpoint, but it does not specify the exact response shape or pagination behavior, leaving some room for interpretation.

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 coverage is 100% with clear descriptions for all 5 parameters, so the baseline is 3. The description adds no parameter-level meaning beyond restating the chakra enum, and it does not elaborate on lang, limit, offset, or compact behavior beyond what the schema already provides.

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 uses a specific verb 'Get' and identifies a precise resource: 'healing crystals and gemstones that resonate with a specific chakra energy center.' It clearly distinguishes this tool from sibling tools by focusing on chakra filtering, and it enumerates all 7 supported chakras, leaving no ambiguity.

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?

The description provides clear usage context by stating the tool is 'Essential for crystal grid building, chakra balancing, and energy healing applications.' It also implicitly contrasts with the detail endpoint by pointing to '/crystals/:id' for full healing properties, but it does not explicitly name sibling tools or state when not to use this tool.

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

get_crystals_colorsList Crystal ColorsA
Read-only
Inspect

List all unique crystal colors available in the database. Use these values with the color filter on GET /crystals to find crystals by color. Essential reference endpoint for building color-based crystal browsing, visual crystal pickers, and filtering UI.

ParametersJSON Schema
NameRequiredDescriptionDefault
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
Behavior3/5

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

The description aligns with annotations (readOnlyHint=true, destructiveHint=false) by indicating a read-only list operation. It adds context about uniqueness and applicability to the color filter, but doesn't disclose many behavioral details beyond that (e.g., ordering, errors), which is acceptable for a simple read-only endpoint.

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 two sentences, with the primary action in the first sentence and additional usage context in the second. No wasted words.

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?

As a simple, parameterless-required reference endpoint without an output schema, this description covers the purpose, return kind (list of unique colors), and primary use case. It's sufficiently complete for an AI agent to choose and invoke it correctly.

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?

The schema fully describes the only parameter `compact` with a clear explanation of its effects. The description doesn't add parameter information, but with 100% schema coverage, the baseline score of 3 applies.

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 clearly states the tool's function with a specific verb ('List all unique crystal colors') and explicitly distinguishes it from sibling tools by focusing on the color facet and connecting it to the GET /crystals color filter.

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 provides clear context for when to use this endpoint: to obtain color values for filtering crystals, and mentions use cases like building color-based browsing and pickers. It doesn't explicitly name alternatives, but sibling names make it clear that other facet tools exist for other filters.

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

get_crystals_elementCrystals by ElementA
Read-only
Inspect

Get healing crystals and gemstones associated with a specific natural element. Returns summary data for each crystal. Use the /crystals/:id detail endpoint for full healing properties. Supports five elements: Earth, Water, Fire, Air, and Storm. Essential for elemental crystal selection, nature-based healing, and element-themed crystal grid applications.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoResponse language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.en
limitNoMaximum items to return per page. Range: 1-30, default 20.
offsetNoNumber of items to skip for pagination. Default 0.
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
elementYesElement name, case-insensitive (e.g., water, Water, WATER all work). Valid: Earth, Water, Fire, Air, Storm.
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds behavioral value by explicitly stating the tool 'Returns summary data for each crystal' and pointing to the detail endpoint for comprehensive data, helping the agent manage expectations about response depth. It doesn't report rate limits or pagination internals, but the annotations cover mutation risks.

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, no wasted words. The first sentence front-loads the action and scope, the second provides a pointer for deeper data, and the third lists use cases. It is compact and scannable for an AI agent.

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?

Given the absence of an output schema, the description reasonably covers the return nature with 'summary data' and the fallback to the detail endpoint. The context signals indicate a well-documented input schema and read-only annotations, so the description doesn't need to explain every parameter. It could mention pagination or count behavior, but the schema already describes those. Overall, it is sufficiently complete for this tool's complexity.

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 baseline is a 3. The description reiterates the supported five elements, which is slightly redundant with the enum, and does not add meaningful new semantics beyond the schema. The term 'summary data' hints at response character, but it's not parameter-specific. Thus, it aligns with the baseline without notable compensation.

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 a specific verb 'Get' and identifies the resource 'healing crystals and gemstones' plus the scope 'associated with a specific natural element.' It clearly distinguishes itself from sibling tools by focusing on element-based filtering, avoiding ambiguity.

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 provides explicit guidance by directing users to the '/crystals/:id detail endpoint' for full healing properties, which functionally contrasts with this summary-level tool. It also names concrete use cases: 'elemental crystal selection, nature-based healing, and element-themed crystal grid applications.' While it doesn't explicitly exclude other siblings like chakra or zodiac, the context is clear enough for an agent to select it appropriately.

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

get_crystals_idGet Crystal Healing PropertiesA
Read-only
Inspect

Get complete healing properties and metaphysical data for a specific crystal or gemstone. Returns spiritual, emotional, and physical healing interpretations along with chakra associations, zodiac connections, elemental properties, and crystal pairing recommendations. Authoritative interpretations covering all major healing crystals.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesURL-safe crystal identifier, case-insensitive (e.g., "amethyst", "Amethyst", "rose-quartz" all resolve). Must match an entry in the database.
langNoResponse language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.en
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds value by specifying the detailed content scope (healing interpretations, chakra associations, zodiac, elemental properties, pairings) and claims authoritative coverage, which informs the agent about response richness. No contradiction with 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 three concise sentences: purpose, content list, and authority claim. Each sentence contributes unique information, the description is front-loaded, and there is no fluff or redundancy.

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 simple single-crystal lookup with no output schema, the description sufficiently covers what the tool does and what data it returns. It does not need to explain return shape or error handling, and the schema already covers parameter details. The description is complete for this tool complexity.

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 coverage is 100% with all parameters described (id, lang, compact), so the description does not need to compensate. The phrase 'specific crystal' aligns with the id parameter but adds no additional syntax or format details beyond what the schema already provides.

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 clearly states the purpose with a specific verb 'Get' and resource 'specific crystal or gemstone', and enumerates the exact data types returned (spiritual, emotional, physical, chakra, zodiac, elements, pairings). This distinguishes it from sibling tools that focus on single attributes like chakra or colors.

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

Usage Guidelines3/5

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

The description implies usage for a known crystal by ID, but it does not explicitly mention when to use this tool versus alternatives like get_crystals_search or get_crystals_random, nor does it provide exclusions. The context is clear but lacks explicit alternative guidance.

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

get_crystals_pairings_idCrystal PairingsA
Read-only
Inspect

Get crystals that pair well with a given crystal for enhanced healing combinations. Returns the source crystal along with its recommended companion stones and their properties. Essential for crystal grid building, healing combination recommendations, and crystal shop cross-sell features.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesURL-safe crystal identifier to find pairings for, case-insensitive (e.g., "amethyst", "Amethyst", "rose-quartz" all resolve).
langNoResponse language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.en
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds return-content detail ('Returns the source crystal along with its recommended companion stones and their properties'), which is useful beyond annotations. It does not disclose other behavioral traits like error handling or limits, but with annotations present, this is acceptable.

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 sentences deliver purpose, return details, and use cases without redundancy. Every sentence contributes, and the most important information is front-loaded.

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?

Given the tool's simple structure (one required param, two optional with schema defaults), the description covers purpose, return content, and use cases. Annotations cover safety. It doesn't discuss pagination or errors, but that's acceptable for this tool scope.

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?

All parameters are fully documented in the schema (100% coverage), so the description need not add param semantics. It mentions 'given crystal' aligning with the required 'id' parameter, but adds no new syntax or format details. Baseline 3 applies.

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?

Description opens with 'Get crystals that pair well with a given crystal,' a specific verb+resource with clear scope. This distinguishes the tool from siblings like get_crystals_chakra or get_crystals_colors, which target different attributes.

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?

States 'Essential for crystal grid building, healing combination recommendations, and crystal shop cross-sell features,' giving clear context for when to use. However, it does not explicitly call out alternatives or negative use cases, so not a full 5.

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

get_crystals_planetsList Crystal PlanetsA
Read-only
Inspect

List all unique planetary associations available in the database. Use these values with the planet filter on GET /crystals to find crystals by ruling planet. Essential reference endpoint for astrology app builders who want to recommend crystals based on planetary placements in a birth chart.

ParametersJSON Schema
NameRequiredDescriptionDefault
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds minor behavioral context such as 'unique' and 'available', but does not go beyond annotations with details like pagination, limits, or error behavior.

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 deliver the purpose, usage, and target audience without any filler. The core action is front-loaded, and each sentence earns its place.

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?

For a simple list endpoint with no required parameters, the description covers what the tool does, why it exists, and how to use its output. It lacks a precise return-shape statement, but the annotation and schema coverage make it adequately complete.

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?

The compact parameter is fully described in the input schema, including behavior and token savings. With 100% schema coverage, the description does not need to add parameter details and does not, so a baseline of 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?

The description starts with a specific verb and resource: 'List all unique planetary associations available in the database.' It clearly distinguishes itself from sibling tools by focusing on planetary associations and explicitly frames itself as an essential reference endpoint.

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 explicitly instructs the agent to 'Use these values with the planet filter on GET /crystals,' giving clear context for when to invoke the tool. However, it does not name or exclude alternative tools, so it has clear context but no explicit when-not guidance.

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

get_crystals_randomRandom CrystalA
Read-only
Inspect

Get a randomly selected healing crystal as a discovery teaser. Returns a different crystal on each request (non-deterministic). Use the /crystals/:id detail endpoint for complete spiritual, emotional, and physical healing properties. Perfect for crystal discovery features, surprise crystal picks, crystal roulette games, and exploration widgets. For a deterministic daily crystal that is the same for all users on a given date, use the /daily endpoint instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoResponse language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.en
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds the key behavioral trait of non-determinism ('Returns a different crystal on each request'). It also frames this as a 'teaser', implying partial data. This goes beyond annotations without contradicting them.

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 deliver the core purpose, key behavior, use cases, and alternative endpoints with no fluff. It is front-loaded with the primary action, and every sentence adds distinct value.

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 simple random-pick tool with no required parameters, rich schema descriptions, and safety annotations, the description covers the essential context: randomness, teaser nature, and how to get more complete data. It is fully sufficient for an agent to select and invoke this tool correctly.

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% for both parameters (lang and compact), so the schema carries the full semantic load. The description does not add any additional parameter meaning, which aligns with the baseline of 3 when schema already covers parameters thoroughly.

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 clearly states the tool gets a randomly selected healing crystal as a discovery teaser. It uses a specific verb ('Get') and resource ('healing crystal') while noting non-determinism, which distinguishes it from sibling tools like get_crystals_id or get_crystals_daily. The scope is immediately understandable.

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?

The description explicitly tells when to use this tool for crystal discovery features, surprise picks, roulette games, and widgets. It also provides clear alternatives: use /crystals/:id for full healing properties and /daily for a deterministic daily crystal, giving strong contextual guidance.

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

get_crystals_zodiac_signCrystals by Zodiac SignA
Read-only
Inspect

Get healing crystals and gemstones associated with a specific zodiac sign. Returns summary data for each crystal. Use the /crystals/:id detail endpoint for full healing properties. Supports all 12 zodiac signs from Aries through Pisces. Perfect for personalized crystal recommendations based on astrological birth chart data.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoResponse language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.en
signYesZodiac sign name, case-insensitive (e.g., pisces, Pisces, PISCES all work). Valid: aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces.
limitNoMaximum items to return per page. Range: 1-30, default 20.
offsetNoNumber of items to skip for pagination. Default 0.
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds the boundary that it returns only summary data, not full healing properties, which is valuable beyond annotations. It doesn't disclose rate limits, authorization, or other behavioral traits, but with safe read-only annotations, the lack of those is not critical. This is a moderate addition, hence a 3.

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 three sentences long and front-loaded with the core purpose. Sentence two guides users to an alternative for full details, and sentence three reinforces the supported scope. There is no filler, and every sentence contributes value.

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?

With no output schema, the description hints at what is returned ('summary data') and what is not (full healing properties), which is helpful. It doesn't detail pagination or compact mode, but those are well-covered in the schema. For a read-only list tool with robust schema coverage, the description is mostly complete, but could be slightly more explicit about response shape (e.g., 'returns an array of crystals with name and properties'). Thus a 4.

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 coverage is 100%, with every parameter (sign, lang, limit, offset, compact) having a description, enum, default, or example. The description itself does not add parameter-specific meaning beyond what the schema already provides. Per the baseline rule for high coverage, a 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?

The description clearly states the tool's purpose: 'Get healing crystals and gemstones associated with a specific zodiac sign.' It uses a specific verb ('Get') and resource ('crystals and gemstones associated with a zodiac sign'), which distinguishes it from sibling tools like get_crystals or get_crystals_chakra. It also clarifies that it returns summary data, reinforcing its role as a zodiac-focused 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 Guidelines4/5

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

The description gives explicit guidance: 'Use the /crystals/:id detail endpoint for full healing properties.' This points to a specific alternative (likely get_crystals_id) for a different use case. It also notes that the tool supports all 12 zodiac signs, implying it is the go-to for zodiac-based recommendations. However, it doesn't mention when to avoid it relative to other siblings like get_crystals_search or get_crystals_random, so it's not fully comprehensive.

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

post_crystals_dailyDaily CrystalA
Read-only
Inspect

Get the crystal of the day as a discovery teaser. Returns a deterministic crystal based on the current date (or a provided seed date), ensuring all users see the same crystal for any given day. Use the /crystals/:id detail endpoint for complete spiritual, emotional, and physical healing properties. Perfect for daily guidance features, push notifications, wellness app widgets, and crystal journal integrations.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate for the reading in YYYY-MM-DD format. Defaults to today (UTC). Useful for viewing past daily readings or pre-generating future ones.
langNoResponse language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.en
seedNoOptional seed for reproducible readings. Same seed + same date = same crystal every time. Pass any unique identifier (userId, email hash, session token). Omit for anonymous daily readings.
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
Behavior4/5

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

Annotations already convey safety (readOnlyHint=true, destructiveHint=false), lowering the bar. The description adds meaningful behavioral context: deterministic results based on date, consistency across users for a given day, and the 'teaser' nature. It also implies limited data by pointing to the detail endpoint for full properties. No contradictions with annotations.

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?

The description is three sentences, front-loaded with the core action, and each sentence earns its place: purpose, determinism/use cases, and alternative endpoint. Slightly wordy with the use-case list but remains efficient and focused.

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?

Given the tool's simplicity (4 optional params, read-only, no output schema) and rich schema/annotations, the description covers the essential context: what it returns, determinism, and where to get full details. It doesn't describe the exact return shape, but as a 'teaser' this is acceptable and the compact parameter hints at data structure.

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%, so the baseline is 3. The description mentions 'provided seed date' which relates to the 'date' parameter, and 'deterministic crystal' indirectly references 'seed', but it adds little beyond the schema's own detailed parameter descriptions. The schema already explains format, defaults, and behavior for all four parameters.

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 clearly states the tool's purpose: 'Get the crystal of the day as a discovery teaser.' It specifies the deterministic behavior based on date/seed, distinguishing it from random or search siblings. The phrase 'discovery teaser' and reference to the detail endpoint for complete properties further clarify its scoped role.

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?

The description provides explicit when-to-use guidance: 'Perfect for daily guidance features, push notifications, wellness app widgets, and crystal journal integrations.' It also gives a clear alternative: 'Use the /crystals/:id detail endpoint for complete spiritual, emotional, and physical healing properties,' indicating when not to use this tool. This meets the criteria for explicit alternatives.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    The deterministic fact-verification layer for AI agents. Validates the structured facts an agent emits — IBANs, payment cards, VAT and national tax IDs, crypto and bank addresses, domains, emails, phone numbers, securities and academic identifiers, plus dates, currencies and holidays — against checksums and curated authoritative data, not guesses.
    56
    1
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Live market data for AI agents. 8 tools: real-time crypto prices, OHLCV candles, order books, market cap rankings, trending coins, technical analysis (RSI/SMA/z-score), asset comparison, and Fear & Greed index. Zero API keys, zero dependencies.
    8
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Give your AI agents access to 8,500+ community curated awesome lists with over 1 million curated resources.
    2
    65
    57
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources