Skip to main content
Glama
gregario

lorcana-oracle

lorcana-oracle

Disney Lorcana TCG MCP server -- card search, deck analysis, and franchise browsing powered by LorcanaJSON.

Features

  • search_cards -- Search cards by name, rules text, ink color, type, rarity, set, or cost range

  • browse_sets -- List all sets or drill into a specific set to see its cards

  • character_versions -- Compare all printings of a character across sets

  • browse_franchise -- Browse cards by Disney franchise (Frozen, Moana, etc.)

  • analyze_ink_curve -- Analyze a deck list for ink cost distribution, inkable ratio, and color balance

  • analyze_lore -- Analyze lore generation in a deck or find top lore-generating cards

  • find_song_synergies -- Find which characters can sing a song, or which songs a character can sing

Related MCP server: lorcana-mcp

Installation

Quick start

npx lorcana-oracle

Card data (~2,710 cards) is bundled with the package. No downloads or API keys needed.

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "lorcana-oracle": {
      "command": "npx",
      "args": ["-y", "lorcana-oracle"]
    }
  }
}

Claude Code

claude mcp add lorcana-oracle -- npx -y lorcana-oracle

Tools

search_cards

Search Disney Lorcana cards by name, rules text, or filters (ink color, type, rarity, set, cost range). Returns paginated results.

search_cards({ query: "Elsa", color: "Amethyst" })
search_cards({ type: "Song", cost_max: 3 })
search_cards({ query: "draw a card", rarity: "Legendary" })

browse_sets

List all Disney Lorcana sets, or drill into a specific set to see its metadata and cards.

browse_sets({})
browse_sets({ set_code: "1" })

character_versions

Show all printings/versions of a Disney Lorcana character across sets. Useful for comparing different versions of the same character.

character_versions({ character_name: "Elsa" })
character_versions({ character_name: "Mickey Mouse" })

browse_franchise

Browse Disney Lorcana cards by franchise (story). Without a franchise name, lists all franchises with card counts. With a franchise name, shows cards and statistics.

browse_franchise({})
browse_franchise({ franchise: "Frozen" })

analyze_ink_curve

Analyze a Disney Lorcana deck list for ink cost distribution, inkable ratio, and color balance. Paste a deck list to get curve analysis.

analyze_ink_curve({ deck_list: "4 Elsa - Snow Queen\n4 Let It Go\n2 Hades - King of Olympus" })

analyze_lore

Analyze lore generation in a deck list, or find the top lore-generating cards. In deck mode, shows total lore potential and efficiency ranking. In query mode, shows top lore generators with optional filters.

analyze_lore({ deck_list: "4 Elsa - Snow Queen\n4 Mickey Mouse - Brave Little Tailor" })
analyze_lore({ color: "Amber", min_lore: 3 })

find_song_synergies

Find Disney Lorcana song synergies. Given a Song, find characters that can sing it. Given a Character, find songs they can sing. With no input, browse all songs with singer counts.

find_song_synergies({ card_name: "Let It Go" })
find_song_synergies({ card_name: "Elsa - Snow Queen" })
find_song_synergies({})

Data Source

Card data is sourced from LorcanaJSON (MIT license). LorcanaJSON provides comprehensive card data for all released Disney Lorcana sets.

Disney Lorcana is a product of Ravensburger. This project is not affiliated with or endorsed by Ravensburger or The Walt Disney Company. Card data usage follows the Ravensburger Community Code Policy.

License

MIT

Available Tools

7 tools
analyze_ink_curveAnalyze Ink CurveA

Analyze a Disney Lorcana deck list for ink cost distribution, inkable ratio, and color balance. Paste a deck list to get curve analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
deck_listYesDeck list text, one card per line (e.g. "2 Elsa - Snow Queen")

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description must fully convey behavioral traits. It mentions analyzing and returning curve analysis, but does not disclose whether the tool modifies data, handles invalid input, or requires authentication. This is insufficient for a tool with no 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 two sentences, each serving a distinct purpose: defining the analysis and instructing usage. No redundant or irrelevant information, and the core action is front-loaded.

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 has one simple parameter with full schema coverage and no output schema or annotations. The description adequately explains the purpose and usage, but does not specify the format of the output (e.g., table, chart) or any error handling, leaving some gaps for an agent.

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 covers 100% of parameters with a clear description ('Deck list text, one card per line...'), so the baseline is 3. The description adds 'Paste a deck list to get curve analysis', which reinforces usage but does not provide additional semantic information beyond 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 clearly states it analyzes a Disney Lorcana deck list for specific metrics (ink cost distribution, inkable ratio, color balance), distinguishing it from sibling tools like analyze_lore or search_cards.

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 tells the user to paste a deck list to get analysis, providing clear context. However, it lacks guidance on when not to use this tool or alternatives, and does not specify prerequisites for valid input beyond the schema.

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

analyze_loreAnalyze LoreA

Analyze lore generation in a deck list, or find the top lore-generating cards. In deck mode, shows total lore potential and efficiency ranking. In query mode, shows top lore generators with optional filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
deck_listNoDeck list text to analyze for lore potential
inkNoFilter by ink color
cost_minNoMinimum ink cost filter
cost_maxNoMaximum ink cost filter
limitNoMax results (default 20)

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry full weight. It explains the analysis behavior (showing lore potential, ranking, filtering) but does not disclose read-only nature, rate limits, or side effects. Adequate but not comprehensive.

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 efficiently cover purpose, modes, and filtering. No redundant or extraneous text; front-loaded with the main function.

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 explains output in each mode (total lore potential, ranking, top generators). For a tool with 5 parameters, this is sufficient but could mention pagination or result format.

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?

Input schema has 100% description coverage, so baseline is 3. The description mentions optional filters but does not add any meaning beyond what the schema already provides for parameters like ink, cost_min, cost_max, limit.

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 clearly states the tool analyzes lore generation in deck lists and finds top lore-generating cards, with two distinct modes (deck and query). This is specific and differentiates from siblings like analyze_ink_curve or browse_franchise.

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 explains when to use each mode (deck vs query), providing clear context. However, it does not explicitly state when not to use this tool or mention alternatives, leaving some ambiguity.

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

browse_franchiseBrowse FranchiseA

Browse Disney Lorcana cards by franchise (story). Without a franchise name, lists all franchises with card counts. With a franchise name, shows cards and statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
franchiseNoFranchise/story name (e.g. "Frozen", "Moana"). Omit to list all franchises.

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description must communicate all behavioral traits. It discloses the two operational modes and implies a read-only browsing action. It does not mention any destructive side effects or limits, which is acceptable given the nature of browsing.

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 extremely concise, using two short sentences to convey the tool's full purpose and usage. It is front-loaded with the core action and efficiently covers both invocation patterns.

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 sufficiently covers the tool's functionality for an agent. It clarifies the dual behavior and parameter usage, though it could briefly hint at the nature of 'statistics' or 'cards' output.

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?

The input schema describes the franchise parameter briefly. The description adds meaningful context: omitting the parameter lists all franchises, while providing it shows cards and statistics. This enhances understanding beyond the schema's description.

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: browsing Disney Lorcana cards by franchise. It distinguishes two behaviors: listing all franchises with card counts when no name is given, and showing cards and statistics with a specific name. This differentiates it from sibling tools like analyze_ink_curve or browse_sets.

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 explicit guidance on when to omit or provide the franchise parameter, covering both use cases. However, it does not mention when not to use this tool or point to alternatives like search_cards.

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

browse_setsBrowse SetsA

List all Disney Lorcana sets, or drill into a specific set to see its metadata and cards. Provide a set_code to see cards in that set.

ParametersJSON Schema
NameRequiredDescriptionDefault
set_codeNoSet code to browse (e.g. "1", "2"). Omit to list all sets.

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided. The description implies a read-only operation (listing/drilling) but does not explicitly state behavioral traits such as read-only nature, authentication requirements, rate limits, or any side effects. For a tool with no annotations, more explicit behavioral context would be beneficial.

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 extremely concise with two sentences, front-loading the primary action. Every sentence provides necessary information without any 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?

Given the tool's simplicity (one optional parameter, no output schema, no annotations), the description adequately covers what the tool does and how to use it. It does not need to explain return values, as the behavior is straightforward.

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 100% with a single parameter set_code. The description adds value by explaining the two usage scenarios (omit vs. provide the code) and the effect of providing it (see cards in that set). This goes beyond the schema's simple description of the parameter.

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 action (list or drill) and resource (Disney Lorcana sets), and specifies the two distinct modes: listing all sets or showing a specific set's cards. It distinguishes itself from siblings like search_cards by focusing on sets rather than generic card search.

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 guidance: omit set_code for listing all sets, provide it to drill into a specific set. It implicitly guides when to use this tool over search_cards (which is for broader card search), but does not explicitly state when not to use it or list alternatives.

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

character_versionsCharacter VersionsA

Show all printings/versions of a Disney Lorcana character across sets. Useful for comparing different versions of the same character.

ParametersJSON Schema
NameRequiredDescriptionDefault
character_nameYesCharacter base name (e.g. "Elsa", "Mickey Mouse")

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so the description carries the burden. It states the tool shows versions but does not discuss output format, error handling, or potential side effects. Adequate for a simple query tool.

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 concise sentences: first explains function, second provides usage context. No unnecessary words.

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 tool with one parameter and no output schema, the description adequately conveys purpose and usage. Could mention output format but not essential.

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?

100% schema coverage with a clear parameter description. The description adds minimal extra meaning beyond the schema, just a usage note. 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?

The description clearly states the tool's action ('show all printings/versions') and resource ('Disney Lorcana character across sets'), distinguishing it from sibling tools like search_cards or browse_sets.

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 a clear use case ('useful for comparing different versions'), but does not explicitly state when not to use it or mention alternatives.

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

find_song_synergiesFind Song SynergiesA

Find Disney Lorcana song synergies. Given a Song, find characters that can sing it (cost >= song cost). Given a Character, find songs they can sing (cost <= character cost). With no input, browse all songs with singer counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_nameNoCard name to find synergies for (Song or Character)
inkNoFilter results by ink color

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries full behavioral burden. It explains input-dependent behavior (Song vs Character) and the no-input case. However, it does not disclose what 'singer counts' means or any limitations (e.g., exact match vs fuzzy search). Adequate but not exhaustive.

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 description is front-loaded with the purpose, then enumerates scenarios efficiently. Ideal length for quick comprehension.

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 covers core functionality and parameter usage. It could mention output format (e.g., list of cards) but the phrase 'browse all songs with singer counts' implies a tabular result. Slightly incomplete but sufficient for typical use.

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 100% with both parameters documented. The description adds value by clarifying that card_name can be a Song or Character and that the tool determines direction automatically. The ink parameter's filtering role is clear.

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 finds Disney Lorcana song synergies and explains three specific use cases: given a Song, find characters that can sing it; given a Character, find songs they can sing; with no input, browse all songs with singer counts. This specificity differentiates it from sibling tools like analyze_ink_curve or search_cards.

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 explicit guidance on when to use each scenario based on input type. It implies alternatives (other analysis tools) but does not explicitly state when not to use this tool. The use cases are clear and actionable.

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

search_cardsSearch CardsA

Search Disney Lorcana cards by name, rules text, or filters (ink color, type, rarity, set, cost range). Returns paginated results.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch by card name or rules text
inkNoFilter by ink color (e.g. Amber, Amethyst, Emerald, Ruby, Sapphire, Steel)
typeNoFilter by card type (e.g. Character, Song, Item, Action, Location)
rarityNoFilter by rarity (e.g. Common, Uncommon, Rare, Super Rare, Legendary, Enchanted)
setNoFilter by set code
cost_minNoMinimum ink cost (inclusive)
cost_maxNoMaximum ink cost (inclusive)
limitNoMax results to return (default 20)
cursorNoOffset for pagination

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It mentions pagination via 'Returns paginated results', but does not disclose read-only nature, error handling, or behavior when filters yield no results. The pagination hint is helpful but limited.

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 a single sentence that efficiently conveys the core functionality. It front-loads the verb and lists filters compactly. Minor improvement could be separating the pagination mention for clarity, but overall concise.

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 covers essential aspects: input types (name, rules text, filters) and pagination. It does not specify optionality of parameters or default limit, but for a search tool with extensive schema, it is reasonably 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?

Schema coverage is 100% with clear parameter descriptions. The description adds little beyond summarizing filter options; it does not clarify parameter interactions (e.g., how query works with filters) or provide examples. 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?

The description clearly states the tool's purpose: searching Disney Lorcana cards by name, rules text, or multiple filters. It distinguishes itself from sibling analysis tools like analyze_ink_curve and browse_sets, which have different focuses.

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 finding cards via various criteria, but lacks explicit guidance on when to use this tool versus alternatives, such as analyze_ink_curve for ink cost distribution or find_song_synergies for synergies. No when-not-to-use or alternative references are provided.

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

TDQS

A4.1/5.0
Disambiguation5/5

Each tool has a clear, distinct purpose. Even though analyze_ink_curve and analyze_lore both accept deck lists, they analyze different dimensions (ink curve vs. lore). browse_franchise and browse_sets browse by different facets. No substantial overlap exists.

Naming Consistency4/5

Most tools use a verb_noun pattern (analyze_, browse_, find_, search_). The exception is 'character_versions', which is a noun phrase. This minor inconsistency lowers the score slightly.

Tool Count5/5

With 7 tools, the server is well-scoped for a card game reference. Each tool serves a meaningful purpose without redundancy, and the number feels balanced for the domain.

Completeness4/5

The tool set covers core needs: card search, browsing by set/franchise, deck analysis (ink curve and lore), character versions, and song synergies. Minor gaps like collection tracking or meta analysis exist but are outside the stated purpose.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gregario/lorcana-oracle'

If you have feedback or need assistance with the MCP directory API, please join our Discord server