Skip to main content
Glama
MichiganBricks

brickem-mcp-server

brick'em MCP Server

MCP server for LEGO minifigure price lookup and identification. Connects to the brick'em catalog of 18,000+ LEGO minifigures with real price data.

Ask your AI assistant: "What is my LEGO minifigure worth?"

Tools

Tool

Description

scan_image

NEW Send a photo of a minifigure and get it identified with prices. AI-powered image recognition.

lookup_minifigure

Look up a minifigure by BrickLink ID or name. Returns prices, image, theme.

search_minifigures

Fuzzy search by name with optional theme filter. Top 10 results with prices.

get_theme_minifigures

List all minifigures for a theme (Star Wars, Harry Potter, Marvel, etc.) sorted by value.

identify_minifigure

Describe a minifigure's appearance (colors, accessories, theme) and get best matches.

Supported Themes

Star Wars, Marvel, Harry Potter, Ninjago, City, Castle, Pirates, Collectible Minifigures, Disney, Lord of the Rings, Jurassic World, Indiana Jones, Minecraft, Super Mario, LEGO Movie, Speed Champions, Ideas, Simpsons, Ghostbusters, Monkie Kid, DREAMZzz, and 40+ more.

Related MCP server: lego-oracle

Install

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "brickem": {
      "command": "npx",
      "args": ["-y", "brickem-mcp-server"]
    }
  }
}

Claude Code

claude mcp add brickem -- npx -y brickem-mcp-server

Cursor

Add to .cursor/mcp.json in your project or ~/.cursor/mcp.json globally:

{
  "mcpServers": {
    "brickem": {
      "command": "npx",
      "args": ["-y", "brickem-mcp-server"]
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "brickem": {
      "command": "npx",
      "args": ["-y", "brickem-mcp-server"]
    }
  }
}

Smithery

npx -y @smithery/cli install brickem-mcp-server --client claude

Usage Examples

Once installed, ask your AI assistant:

  • Send a photo of a minifigure — "What minifigure is this and what is it worth?"

  • "What is LEGO minifigure sw0002 worth?"

  • "Search for Darth Vader minifigures"

  • "Show me the most valuable Harry Potter minifigures"

  • "I have a minifigure with a green ninja suit and golden weapons, what is it?"

  • "How much are Star Wars clone trooper minifigures worth?"

  • "Find all Collectible Minifigures Series figures"

Data

  • 18,000+ LEGO minifigures in the catalog

  • 7,200+ with price data (used and new condition)

  • Prices in USD sourced from historical marketplace data

  • Covers all major LEGO themes from 1975 to present

Development

git clone https://github.com/MichiganBricks/brickem-mcp-server.git
cd brickem-mcp-server
npm install
npm run build

Test locally:

npm start

Or with hot reload:

npm run dev

About brick'em

brick'em is a LEGO minifigure scanner and price lookup tool. Scan your LEGO minifigures with your camera to instantly identify them and see what they're worth.

License

MIT

Available Tools

4 tools
get_theme_minifiguresGet Theme MinifiguresC

List LEGO minifigures for a theme with prices. Themes: adventurers, agents, atlantis, avatar, batman, bionicle, castle, chima, city, collectible minifigures, creator, dimensions, disney, dreamzzz, elves, friends, ghostbusters, harry potter, hidden side, hobbit, ideas, indiana jones, jurassic world, lego movie, lord of the rings, marvel, minecraft, monkie kid, monster fighters, nexo knights, ninjago, overwatch, pirates, pirates of the caribbean, power miners, scooby-doo, simpsons, space, speed champions, star wars, super mario, teenage mutant ninja turtles, town, toy story.

ParametersJSON Schema
NameRequiredDescriptionDefault
themeYesTheme name, e.g. 'star wars', 'harry potter', 'marvel', 'ninjago', 'city', 'castle'
sort_byNoSort order (default: price_desc, most valuable first)
limitNoMax results (default 25, max 100)

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'with prices', implying some data output, but doesn't describe response format, pagination, error handling, or any constraints like rate limits or authentication needs. For a read operation with no annotation coverage, this leaves significant gaps in understanding tool behavior.

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

Conciseness3/5

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

The description is front-loaded with the core purpose, but the extensive list of themes (over 40 items) adds bulk without clear necessity, reducing efficiency. It could be more concise by summarizing or referencing the schema for theme details, making it somewhat verbose for its informational value.

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

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete for a tool with 3 parameters. It lacks details on behavioral traits, response format, and usage context, leaving the agent with insufficient information to fully understand the tool's operation and integration with siblings.

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 schema already documents all parameters thoroughly. The description adds minimal value by listing theme examples, but doesn't provide additional semantics beyond what's in the schema (e.g., format details or usage tips). Baseline 3 is appropriate when the schema does the heavy lifting.

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 clearly states the tool's purpose: 'List LEGO minifigures for a theme with prices.' It specifies the verb ('List'), resource ('LEGO minifigures'), and scope ('for a theme with prices'). However, it doesn't explicitly differentiate from sibling tools like 'search_minifigures' or 'lookup_minifigure' beyond listing themes, so it doesn't reach the highest score.

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?

The description provides no guidance on when to use this tool versus alternatives like 'search_minifigures' or 'lookup_minifigure'. It only lists themes without explaining context or exclusions, leaving the agent to infer usage based on the name and parameters alone.

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

identify_minifigureIdentify MinifigureB

Identify a LEGO minifigure from a text description of its appearance. Describe colors, accessories, theme, or any identifying features and get the best matches from the 18,000+ minifig catalog.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYesDescription of the minifigure: colors, accessories, theme, character clues (e.g. 'green ninja with golden swords' or 'red cape blue suit S on chest')
themeNoOptional theme hint to narrow search (e.g. 'star wars')

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions the catalog size (18,000+) and matching behavior ('best matches'), but doesn't disclose critical behavioral traits like rate limits, authentication needs, response format, or error handling. For a search/identification tool with zero annotation coverage, this leaves significant gaps.

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 appropriately sized and front-loaded with the core purpose. Both sentences earn their place by explaining functionality and providing concrete examples, though it could be slightly more structured by separating usage guidelines from core description.

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

Completeness2/5

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

Given the tool's complexity (search/identification across large catalog) and lack of both annotations and output schema, the description is incomplete. It doesn't explain what 'best matches' means, how results are returned, pagination, error cases, or performance characteristics. The description should provide more operational context for effective use.

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%, providing good documentation for both parameters. The description adds minimal value beyond the schema by reinforcing the parameter usage through examples ('colors, accessories, theme, character clues'), but doesn't provide additional semantic context like format constraints or interaction effects between 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 with specific verbs ('identify', 'get the best matches') and resources ('LEGO minifigure', '18,000+ minifig catalog'). It distinguishes from siblings by focusing on identification from textual descriptions rather than lookup by ID (lookup_minifigure) or theme filtering (get_theme_minifigures).

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 through examples ('e.g. green ninja with golden swords') but doesn't explicitly state when to use this tool versus alternatives like search_minifigures or get_theme_minifigures. It provides context for input format but lacks explicit guidance on tool selection among siblings.

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

lookup_minifigureLookup MinifigureA

Look up a specific LEGO minifigure by BrickLink ID (e.g. sw0002, col019, hp001) or exact name. Returns detailed price data, image URL, and theme.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesBrickLink ID (e.g. sw0002, col019, hp001) or minifigure name

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions the return data types ('detailed price data, image URL, and theme') but lacks critical behavioral details like authentication requirements, rate limits, error handling, or whether this is a read-only operation. For a tool with no annotation coverage, this leaves significant gaps.

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 efficiently structured in two sentences: the first states the purpose and input methods, the second specifies the return data. Every sentence adds value with zero wasted words, and key information 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?

Given no annotations and no output schema, the description provides basic purpose and return data types but lacks sufficient behavioral context for a lookup tool. It doesn't explain response format details, error cases, or operational constraints, leaving the agent with incomplete guidance despite the simple single parameter.

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 schema already documents the single parameter's type, constraints, and purpose. The description adds minimal value by restating that the query can be 'BrickLink ID or minifigure name' but doesn't provide additional semantics beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting.

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 verb ('Look up') and resource ('a specific LEGO minifigure'), specifies the lookup methods ('by BrickLink ID or exact name'), and distinguishes from siblings by focusing on individual lookup rather than theme-based listing (get_theme_minifigures), identification (identify_minifigure), or broader search (search_minifigures).

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 individual minifigure lookup by ID or exact name, but doesn't explicitly state when to use this tool versus alternatives like search_minifigures (which might handle partial names) or identify_minifigure (which might use different identification methods). No explicit exclusions or prerequisites are provided.

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

search_minifiguresSearch MinifiguresA

Fuzzy search LEGO minifigures by name with optional theme filter. Returns top 10 matches with prices. Good for finding minifigures when you only know part of the name.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch keywords (name, character, series)
themeNoOptional theme filter, e.g. 'star wars', 'harry potter', 'marvel', 'ninjago'

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It discloses key behavioral traits: fuzzy matching, optional theme filtering, returns top 10 matches with prices. However, it doesn't mention important details like pagination, error conditions, rate limits, or authentication requirements that would be valuable for an agent.

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 perfectly concise with two sentences that each earn their place. The first sentence states the core functionality, the second provides crucial usage context. No wasted words, well-structured and 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?

For a search tool with no annotations and no output schema, the description provides adequate but incomplete context. It explains what the tool does and when to use it, but lacks details about the return format beyond 'top 10 matches with prices' - no information about data structure, error handling, or system constraints.

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 schema already documents both parameters thoroughly. The description adds minimal value beyond the schema - it mentions 'fuzzy search' which clarifies the query behavior, but doesn't provide additional parameter semantics beyond what's in the schema descriptions.

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 with specific verbs ('fuzzy search', 'returns') and resource ('LEGO minifigures'). It distinguishes from siblings by specifying it's for when you 'only know part of the name' rather than exact identification or theme-specific listing.

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 this tool ('when you only know part of the name'), which implicitly differentiates it from tools like 'identify_minifigure' or 'lookup_minifigure' that likely require more precise information. However, it doesn't explicitly state when NOT to use it or name specific alternatives.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.1
    • First observedget_theme_minifigures
    • First observedidentify_minifigure
    • First observedlookup_minifigure
    • First observedsearch_minifigures

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: get_theme_minifigures lists minifigures by theme, identify_minifigure identifies from a description, lookup_minifigure looks up by ID or exact name, and search_minifigures does fuzzy name searches. There is no overlap or ambiguity in their functions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (get_theme_minifigures, identify_minifigure, lookup_minifigure, search_minifigures) with clear, descriptive verbs and the common 'minifigure(s)' noun. No deviations or mixed conventions are present.

Tool Count5/5

With 4 tools, the server is well-scoped for its LEGO minifigure domain. Each tool serves a unique and necessary function (listing, identifying, looking up, and searching), making the count appropriate and efficient for the purpose.

Completeness5/5

The tool set provides complete coverage for interacting with LEGO minifigures: listing by theme, identifying from descriptions, looking up by ID/name, and searching by name. There are no obvious gaps, as it supports all common user queries and workflows in this domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables access to RuneScape 3 data including real-time Grand Exchange prices, item information, historical price trends, and player statistics. Supports multiple game modes and provides comprehensive RuneScape Wiki API integration through natural language.
    12
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Ask your AI assistant about LEGO sets, find specific bricks, look up minifigures, browse themes, and compare sets. All backed by Rebrickable's catalog (26k sets, 62k parts, 17k minifigs), not hallucinations.
    10
    10
    56
    3
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    MCP server for searching marketplaces (TCGPlayer, Reverb, Thumbtack), verifying professional licenses (contractor, nurse), and looking up PSA card grading data. Returns real-time pricing, listings, and verification results.
    22
    47
    4
    MIT